STM32 Flight 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.

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.
