Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/royyandzakiy/stm32-flightcontroller
STM32F103-based drone flight controller with MPU6050, ExpressLRS, PID control, and motor mixing. Developed in Arduino IDE & PlatformIO
https://github.com/royyandzakiy/stm32-flightcontroller
drone expresslrs flight-controller platformio stm32f103
Last synced: 3 days ago
JSON representation
STM32F103-based drone flight controller with MPU6050, ExpressLRS, PID control, and motor mixing. Developed in Arduino IDE & PlatformIO
- Host: GitHub
- URL: https://github.com/royyandzakiy/stm32-flightcontroller
- Owner: royyandzakiy
- Created: 2025-02-04T09:24:20.000Z (6 days ago)
- Default Branch: master
- Last Pushed: 2025-02-04T13:27:50.000Z (6 days ago)
- Last Synced: 2025-02-04T13:32:34.808Z (6 days ago)
- Topics: drone, expresslrs, flight-controller, platformio, stm32f103
- Language: C++
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# STM32 Flight Controller 🚀
This repository hosts an STM32F103-based flight controller for drones, featuring MPU6050, ExpressLRS, PID control, and motor mixing. Built with PlatformIO for lightweight, efficient UAV control.## Key Features ✨
- MPU6050: Gyroscope & accelerometer for precise motion tracking.
- ExpressLRS: Low-latency radio communication with Crossfire (CRSF).
- PID Loop: Custom control loop for stable flight.
- Motor Mixing: Generates motor signals from PID outputs.
- Bit Banging: Faster pin control for improved performance.
- Profiling: Optimizes software metrics for efficiency.## Development Notes ⚙️
- [x] compile STM32F103 project in Arduino IDE & PlatformIO
- [x] basic functions running: MPU6050, ELRS
- [ ] PID loop, bit banging
- [ ] motor mixer, motor PWM control
- [ ] loop optimization
- [ ] LED indicator
- [ ] more control functions## Requirements 🗒️
- Uses MPU6050 as gyro & accelerometer
- Does bit banging as means of setting pins for faster cycle time
- Uses ExpressLRS as radio reciever and crossfire as communication protocol
- Implements PID loop to control attitude
- Generates motor signals through motor mixing from processed values from PID loop
- Implements profiler to detect software metrics