Drone Flight Controller with DMA and timers for fully hardware-based control
Designed and developed a custom drone flight controller from the ground up using an STM32F1 microcontroller (C / STM32CubeIDE).
Signal Processing: Leveraged STM32 hardware timers to precisely decode multi-channel RC receiver PWM inputs.
Control System Design: Developed motor speed calculations based on operator inputs and real-time gyroscope feedback, including extensive PID loop tuning for flight stability.
Actuation & DMA Offloading: Utilized Direct Memory Access (DMA) to continuously stream speed data directly to ESC hardware timers. This guaranteed fixed, jitter-free PWM update rates independent of CPU load, drastically improving system reliability and response times.
Safety & Testing: Designed and fabricated a custom test rig to constrain the drone during PID tuning, preventing damage during edge-case testing. Python app displayed streamed live orientation data from the drone and was used to configure PID parameters in real time.


Comments