huobuilds/quadfs_flight_controller — explained in plain English
Analysis updated 2026-05-18
Build and flash a custom flight controller onto an STM32 based quadcopter frame.
Learn how sensor fusion, PID control, and PWM motor output work together in a real drone.
Follow the included troubleshooting guide to diagnose IMU, radio, or motor calibration issues before flight.
| huobuilds/quadfs_flight_controller | dantiicu/wine-nx | felixrieseberg/relic | |
|---|---|---|---|
| Stars | 48 | 48 | 45 |
| Language | C | C | C |
| Setup difficulty | hard | hard | moderate |
| Complexity | 5/5 | 5/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires STM32CubeIDE, an ST-Link programmer, specific IMU hardware, and physical drone assembly before any flight testing.
QuadFS is an open source flight controller for quadcopter drones, written from scratch in embedded C for an STM32 microcontroller. The project's stated goal is education: every part of the system is documented so a developer can understand how a complete flight controller works, starting from raw sensor readings and ending with stable, controlled flight, rather than just copying working code without understanding it. The flight control pipeline covers a full chain of drone electronics work. It talks to an inertial measurement unit, or IMU, over a fast I2C connection, and supports three common IMU chips: the MPU6050, MPU6500, and MPU9250. From there it calibrates and filters sensor data, fuses it using an Extended Kalman Filter to estimate the drone's roll, pitch, and yaw orientation, reads radio control input from a FlySky receiver, runs a PID control loop every 3 milliseconds to keep the drone stable, mixes those control signals across the motors, and outputs a 400 Hz PWM signal to the electronic speed controllers that drive the motors. The whole system runs on FreeRTOS, a real time operating system, and includes tools for telemetry, debugging, and flight tuning. Beyond the firmware code, the repository bundles supporting materials such as datasheets, wiring schematics, research papers, calibration procedures, setup guides, and test references. A companion YouTube course walks through how the system was designed, built, tested, and tuned. Building the firmware requires STM32CubeIDE and Git. After cloning the repository and importing it as an existing project in CubeIDE, a build should complete with zero errors, though warnings are expected. Flashing requires an ST-Link programmer wired to the board's SWD header, after which the Debug button in CubeIDE loads the firmware onto the hardware. The firmware code is licensed under the GPLv3, meaning anyone can use, study, modify, and share it, but anything built from it that gets distributed must also stay open source under the same license. Course videos and non-code materials use a separate noncommercial license. The README includes a strong safety warning to remove propellers during any bench testing.
An open source, from-scratch drone flight controller in embedded C, built to teach how every part of a quadcopter's flight system works.
Mainly C. The stack also includes C, STM32, FreeRTOS.
Free to use, study, modify, and share, but anything distributed that is built from it must remain open source under the same GPLv3 license.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.