finds.dev← search

// the find

pms67/HadesFCS

★ 952 · C · BSD-3-Clause · updated Jul 2020

Complete flight control system designed from scratch. Hardware designed with KiCad.

HadesFCS is a from-scratch fixed-wing UAV flight control system covering the full stack: custom KiCad PCB, STM32F4 firmware on FreeRTOS, quaternion/Euler Kalman filters for attitude estimation, PI control loops, a UAVLink telemetry protocol, a Unity 6-DOF flight simulator, and a C# ground station. It's a one-person educational project showing what it takes to build an autopilot without borrowing from ArduPilot or PX4. The target audience is embedded/controls developers who want to see how the pieces fit together rather than plug in an existing stack.

The Kalman filter implementations are split by purpose — separate quaternion attitude and roll/pitch-only variants — which is a reasonable engineering tradeoff and not something you see documented clearly in most hobby FCS repos. The ground station includes a moving map and live plots, meaning there's an actual feedback loop for tuning, not just serial terminal output. Including a Unity 6-DOF simulator alongside the firmware lets you test control law changes without risking hardware, which is the right workflow. The custom UAVLink protocol is documented and tested as a standalone library, so it's actually reusable.

The repo is abandoned — last commit July 2020, no releases, no evidence it ever flew autonomously. The firmware has compiled build artifacts (.o, .d, .su, .elf, .hex) checked into git, which bloats the repo and suggests the author was learning git hygiene as they went. There's no unit test coverage for the Kalman filters or control algorithms; the Matlab-to-C export path for state estimation is mentioned but the Matlab source isn't in the repo, so you can't audit or modify the filter design. The PI controllers are bare proportional-integral with no anti-windup or gain scheduling documented, which will bite you on anything but calm-air cruise.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →