Our journey into drones

Our journey into drones

Exploring the open-source drone flight control ecosystems that transformed a decade of innovation

Mature open-source ecosystems — the time is right

We are amazed by how far these projects have gone over the past decade. What started as hobbyist experiments has evolved into robust, production-grade platforms. There is a lot more potential to be unlocked on this solid foundation, and now is the time to dive in.

From industrial and medical systems to the sky

After ten years of development in industrial automation and medical systems, we needed some fresh air — literally. Drones offered a completely different engineering challenge: real-time control, sensor fusion, and autonomous decision-making, all running on constrained embedded hardware. It was the breath of creativity we were looking for.

The humble beginnings: MultiWii

Surprisingly, most of the modern open-source drone ecosystem traces back to one project: MultiWii (GitHub). Launched around 2011 by Jean-Lien Narjoux, MultiWii took inexpensive IMU (Inertial Measurement Unit) sensors — originally designed for consumer electronics — and combined them with PID control loops to create a flying platform anyone could build from off-the-shelf parts.

MultiWii proved that you didn’t need expensive, pre-packaged flight controllers to get something airborne. It kickstarted a rich wave of IMU-based applications, from quadcopters to hexacopters, and most importantly, it proved that open-source hardware and firmware could compete with proprietary solutions.

The four pillars of open-source flight control

Today, the ecosystem has matured into several major projects, each serving different use cases. The four most prominent are BetaFlight (GitHub), iNAV (GitHub), ArduPilot (GitHub), and PX4 (GitHub). Despite their differences, they share common DNA:

Shared foundation

Almost all of these flight controllers are mostly powered by STM32 hardware from STMicroelectronics. The STM32 family — particularly the F4 and H7 series — offers the perfect balance of processing power, real-time performance, and peripheral support (SPI for IMUs, PWM for motors, UART for telemetry) that drone firmware demands. The hardware cost has also dropped dramatically, making development accessible to anyone with a few hundred dollars.

BetaFlight: Built for speed and reflexes

BetaFlight Logo

BetaFlight (GitHub) evolved from the Cleanflight fork and is the dominant choice for FPV (First Person View) racing and freestyle flying. Its design philosophy is simple: minimize latency between stick movement and motor response. BetaFlight runs at incredibly high update rates (up to 8 kHz on capable hardware) and strips away everything that isn’t essential for raw piloting performance.

BetaFlight targets a very specific use case — manual, stick-driven flight where the pilot is in full control. It doesn’t do GPS or autonomous missions by design. Its strength is in its responsive PID tuning framework, which has become the gold standard for tuning quadcopter dynamics. The community is passionate, the documentation is extensive, and the tuning tools like the BetaFlight Configurator and Lua scripts have made fine-grained control accessible to hobbyists.

iNAV: Navigation with a light touch

iNAV Logo

iNAV is another fork born from the Cleanflight lineage, but it took a different direction. Where BetaFlight strips features away, iNAV adds them back in — specifically GPS-based navigation features — while keeping the core flight code fast enough for FPV flying.

iNAV is the middle ground for pilots who want GPS rescue, circle modes, and simple waypoint navigation without the complexity of a full mission planner. It runs on the same STM32 hardware as BetaFlight but includes enough navigation logic to bring the drone home automatically if the signal is lost. For anyone who has lost a quadcopter in the trees, iNAV’s GPS rescue feature alone is worth the setup effort.

ArduPilot: The industrial-strength platform

ArduPilot Logo

ArduPilot (GitHub) takes a completely different approach. It’s not a FPV racing firmware — it’s a versatile industrial platform that supports everything from multirotors and fixed-wing aircraft to rovers, submarines, and even boats. ArduPilot was one of the earliest projects in this space and has accumulated decades of cumulative development effort.

What sets ArduPilot apart is its mission planning capability. With Ground Control Station (GCS) software like Mission Planner or QGroundControl, you can define complex multi-waypoint missions with terrain following, camera triggers, loiter patterns, and conditional logic. It supports a vast array of sensors, actuators, and communication protocols. ArduPilot is the go-to choice for survey drones, agricultural drones, delivery prototypes, and anything where the drone needs to execute a pre-planned mission autonomously.

The project is community-driven but has benefited from significant institutional support over the years, including contributions from companies like 3D Robotics and the Open Drone Map community. Its codebase is large and complex, but the modular architecture — organized around “libraries” and “sketches” similar to Arduino — makes it navigable.

PX4: Engineering rigor from day one

PX4 (GitHub) was founded with a different philosophy: build flight control firmware the way you’d build safety-critical aerospace software. PX4 has strong academic roots, originating from the Autonomous Systems Lab at ETH Zurich, and it shows in its design.

PX4 features a clean, modular architecture built on uORB, its own inter-process communication middleware. This message bus design means that navigation, control, telemetry, and GPS modules communicate through well-defined channels rather than tight coupling. PX4 also pioneered the concept of a flight stack that can run on everything from micro-controllers to full Linux boards, and even supports containerized application deployment on the vehicle.

PX4’s ecosystem includes PX4 Flow (an early development drone), Pixhawk hardware (the de facto standard open-source flight controller), and QGroundControl as its ground station. The project has attracted serious industry interest — Intel, Amazon, and many drone startups have built on PX4 — because of its engineering discipline and extensibility.

PX4 also stands out for its simulation ecosystem. JMAVSim, gazebo, and AirSim support let you develop and test firmware changes in realistic simulated environments before ever touching real hardware. This has made PX4 particularly popular in research and education.

A shared lineage

Despite their different design philosophies and target markets, these four projects share a surprising common ancestor: MultiWii. The lineage looks roughly like this:

MultiWii 
  ├── Cleanflight
  │     ├── BetaFlight 
  │     └── iNAV 
  └── ArduPilot  / PX4 

The fact that such diverse projects all grew from the same experimental seed is a testament to what a catalytic MultiWii was. It proved the concept, opened the hardware approach, and inspired a generation of engineers to build on top of it.

Why now?

Several factors make this an exciting time to enter the drone development space:

  1. Hardware costs have plummeted — A capable STM32-based flight controller with a decent IMU costs under $50 in volume. The development boards (like the STM32 Nucleo series) are even cheaper.

  2. Simulation is mature — PX4’s Gazebo integration, ArduPilot’s SITL (Software In The Loop), and tools like JMAVSim mean you can develop and test extensively without crashing real hardware.

  3. Community and documentation — Each of these projects has decades of community knowledge accumulated in forums, GitHub issues, and wiki pages. Getting started is easier than ever.

  4. Modular architecture — Modern flight stacks are designed to be extended. Adding a new sensor, a custom PID algorithm, or a novel navigation mode is a matter of implementing the right interface, not rewriting the entire codebase.

  5. The regulatory landscape is evolving — As drone regulations mature, there’s growing demand for capable, well-documented open-source platforms that operators can trust and audit.

Where do we go from here?

Our journey is just beginning. We’re starting with STM32 development boards, picking up an IMU module, and flashing BetaFlight to understand the basic flight dynamics. From there, we plan to explore ArduPilot’s mission planning capabilities and eventually experiment with custom sensor integrations.

The open-source drone ecosystem is one of the most vibrant embedded systems communities out there. Whether you’re a hobbyist, a researcher, or an engineer looking for a fresh challenge, there’s never been a better time to get into drones.

Stay tuned for updates on our progress — from first flights to custom firmware modifications, we’ll be documenting the whole journey.

Questions? Requests? Suggestions?

We are looking forward to hearing from you!

Are you looking for
Consulting Services,
Support Plans or
Training & Workshops?