ArduPilot/ardupilot
Hardware & IoTOpen-source autopilot firmware for planes, copters, rovers, boats and submarines, aimed at drone and robotics developers.
Project overview
ArduPilot is an open-source autopilot codebase written in C++ and developed since 2010. It provides flight-control and navigation firmware for many vehicle types: ArduCopter for multi-rotors and helicopters, ArduPlane for fixed-wing aircraft and quad planes, Rover for ground vehicles and boats, ArduSub for underwater vehicles, and AntennaTracker for antenna pointing. The repository keeps these vehicle programs, shared libraries and HAL board support in one tree.
It is intended for people building or integrating autonomous vehicles, and for developers extending the control stack, rather than for casual end users who want a ready-made app.
Getting started
The README is an index into the project rather than a build guide. A practical starting route:
- Pick the vehicle: see the per-vehicle code directories and wikis linked from the project README, such as ArduCopter and its Copter documentation, or ArduPlane and the Plane documentation.
- Read the developer wiki for build environment setup, compilation and SITL instructions.
- Build and run the simulator, then move to hardware configuration using the vehicle-specific wiki.
Detailed build commands are deliberately left to the developer wiki; copying commands from the README is not possible because it does not contain them. The community site and support forum are the main entry points for questions and troubleshooting.
Usage constraints
- License: GPL-3.0-or-later, so redistributed derivatives must follow GPL terms.
- Platform: the stack targets embedded flight-controller boards and Linux SBCs, with CI covering ChibiOS, Linux SBC, macOS and Cygwin builds. Development itself requires a working toolchain described in the developer wiki.
- Vehicle scope: each vehicle program is maintained separately; features and tuning procedures differ between Copter, Plane, Rover, Sub and AntennaTracker.
- Hardware safety: this is flight-control software; configuration errors can affect real vehicles. The project documentation and forums are the place to validate parameters before flight.
Contributing and support
The README lists contributor guidelines, release procedures, the issue tracker and maintainers responsible for specific vehicles, boards and subsystems. Community channels include the discussion forum and Discord; financial partners are also listed. Those links are useful if you plan to report bugs or review changes rather than only consume the firmware.
HotRepo's take
ArduPilot is a long-running project with a very large fork count (21,796) relative to its 16,362 stars, which fits its role as a base many teams modify for their own vehicles. In HotRepo's recorded C++ daily list for 2026-11-14 it placed 15th with 8 stars gained that day — modest daily movement for a project of this age, not a sign of a new breakout. The repository has no recorded all-language daily rank, so no broader trending claim can be made from the available data.
Written by AI from the project's README, updated . The project's own docs are the source of truth.