I wanted to build a custom flight controller from the ground up to deepen my understanding of PCB design, embedded systems, and sensor integration for UAV applications. My goal was to create a professional grade board that goes beyond tutorials, demonstrating real engineering practices and industry relevant design skills.
The board is based on the STM32F446RE microcontroller (ARM Cortex-M4), chosen for its high performance in real-time applications. It integrates the ICM 42670P IMU for motion sensing and the BMP390 barometric sensor for altitude measurement. To support UAV control, the design includes ESC connectors, UART, SPI, CAN bus interfaces, and SWD debugging. The result is a complete embedded platform capable of powering and controlling drones or other robotics projects.
Designed and routed the multi-layer PCB in KiCad with emphasis on signal integrity, power distribution, and decoupling. Optimized oscillator and sensor routing for stability. Validated hardware in STM32CubeIDE through firmware configuration and peripheral testing
High-performance 32-bit ARM Cortex-M processor with dedicated floating point unit for real time flight calculations and sensor fusion.
6-axis inertial measurement unit with accelerometer and gyroscope for precise attitude determination and flight stabilization.
Multi-rail power distribution with voltage regulation, battery monitoring, and power-on sequencing for reliable operation.
Multiple communication interfaces including USB, UART, SPI, and I2C for telemetry, configuration, and peripheral expansion.