STM32 Flight Controller

Quadcopter and STM32 controller

Custom bare-metal C firmware for an STM32F405 controller, developed through peripheral bring-up, USB diagnostics, and live IMU-based attitude estimation.

Firmware Bring-Up

I used DFU flashing, USB CDC logging, heartbeat output, and stage-coded diagnostics to make startup failures visible and isolate problems one interface at a time.

STM32F405 controller board

IMU and Attitude Estimation

The controller reads an ICM42688P over SPI and combines gyro integration with accelerometer correction to produce live roll and pitch estimates. Flight, motor control, PID, mixing, and failsafe work remain in progress.

Live roll and pitch output