whatisgithub

What is quadfs_flight_controller?

huobuilds/quadfs_flight_controller — explained in plain English

Analysis updated 2026-05-18

48CAudience · developerComplexity · 5/5LicenseSetup · hard

In one sentence

An open source, from-scratch drone flight controller in embedded C, built to teach how every part of a quadcopter's flight system works.

Mindmap

mindmap
  root((QuadFS))
    What it does
      Drone flight controller
      Built from scratch
      Fully documented
    Tech stack
      C on STM32
      FreeRTOS
      PID and EKF
    Use cases
      Custom drone builds
      Learning flight control
      Sensor calibration
    Audience
      Embedded developers
      Drone hobbyists

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build and flash a custom flight controller onto an STM32 based quadcopter frame.

USE CASE 2

Learn how sensor fusion, PID control, and PWM motor output work together in a real drone.

USE CASE 3

Follow the included troubleshooting guide to diagnose IMU, radio, or motor calibration issues before flight.

What is it built with?

CSTM32FreeRTOSSTM32CubeIDE

How does it compare?

huobuilds/quadfs_flight_controllerdantiicu/wine-nxfelixrieseberg/relic
Stars484845
LanguageCCC
Setup difficultyhardhardmoderate
Complexity5/55/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires STM32CubeIDE, an ST-Link programmer, specific IMU hardware, and physical drone assembly before any flight testing.

Free to use, study, modify, and share, but anything distributed that is built from it must remain open source under the same GPLv3 license.

So what is it?

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.

Copy-paste prompts

Prompt 1
Walk me through building and flashing the QuadFS firmware onto an STM32 Black Pill board.
Prompt 2
Explain how QuadFS uses an Extended Kalman Filter to estimate a drone's roll, pitch, and yaw.
Prompt 3
Help me diagnose why my quadcopter leans during takeoff using the QuadFS troubleshooting guide.
Prompt 4
What IMU chips does QuadFS support and how do I configure one over I2C?

Frequently asked questions

What is quadfs_flight_controller?

An open source, from-scratch drone flight controller in embedded C, built to teach how every part of a quadcopter's flight system works.

What language is quadfs_flight_controller written in?

Mainly C. The stack also includes C, STM32, FreeRTOS.

What license does quadfs_flight_controller use?

Free to use, study, modify, and share, but anything distributed that is built from it must remain open source under the same GPLv3 license.

How hard is quadfs_flight_controller to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is quadfs_flight_controller for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.