Quadcopter Flight Controller

 

The flight controller is build around a STL32F415 MCU that runs FreeRTOS at full 168MHz speed.

On board sensors include a 9-DOF IMU, Barometer and GPS.

There are 10 timer channels (4+6) which can be used to read RC receiver PWM or generate ESC commands.

Telemetry channel is used to transmit data both ways between the drone and a base station. This channel can be used for instance to tune controller coefficients (uplink) and collect flying data (downlink) while keeping the navigation commands apart.

SD card can be used to log navigation data with a higher bandwidth than telemetry permits.

Headers allow connection of external ultrasonic sensor (PWM), OLED (I2C), and debug console (UART) in addition to the standard flash/debug port (SWD).

 

Board Overview

drone_board_top.png
 
 
 
drone_board_bot.png
 

Board Schematics

 

Embedded Software

 

drone_model.png
 
drone_process.png
 
drone_full.png