skip to content
all projects
Tumble hero
systems2026

Tumble: Quadcopter flight controller from scratch because prebuilt ones felt like black boxes

I flew drones for a while with Betaflight but never understood how stabilization actually worked. So I bought an STM32 dev board, an MPU6050, and four ESCs, and tried to make something hover. The first version spun so hard it ripped the mounting tape off the frame. Spent two weeks just debugging a ground loop on the IMU's I2C line that made the gyro readings spike every time the motors ramped up. I eventually got stable hover on a test rig with a complementary filter and cascaded PID loops. Still can't fly it untethered though - it drifts in any breeze because I haven't implemented position hold yet.

  • 1kHz IMU read loop with complementary filter fusion
  • Cascaded PID: inner rate loop + outer angle loop
  • Real-time PID tuning over UART without reflashing
  • ESC communication via DShot600 protocol
  • Stable on test rig, still drifts in free flight