ArduPilot is an open source autopilot system trusted by millions of autonomous vehicles worldwide. It supports an extensive range of vehicle types — from quadcopters and fixed-wing planes to ground rovers and underwater submarines — all running on a shared, battle-tested codebase developed since 2010.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Ardupilot/ardupilot/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Learn what ArduPilot is, how it’s structured, and which vehicle type fits your needs.
Quickstart
Set up your development environment and get ArduPilot running in SITL simulation.
Building from Source
Configure the Waf build system and compile firmware for SITL or real hardware.
Library Reference
Explore the 150+ shared libraries powering ArduPilot’s sensors, control, and comms.
Choose your vehicle
ArduPilot ships separate firmware for each vehicle type, sharing a common library core.ArduCopter
Multi-rotor copters, traditional helicopters, and hybrid VTOL aircraft.
ArduPlane
Fixed-wing aircraft, flying wings, QuadPlanes, and tailsitters.
Rover
Ground rovers, boats, balance bots, and skid-steer vehicles.
ArduSub
Remotely operated underwater vehicles (ROVs) and autonomous submarines.
Core capabilities
Flight Modes
Understand stabilize, guided, auto, loiter, and the full mode system.
Parameters
Configure vehicle behavior through ArduPilot’s persistent parameter system.
MAVLink
Communicate with ground control stations using the MAVLink protocol.
Failsafes
Understand the safety systems that protect vehicles during emergencies.
Develop with ArduPilot
SITL Simulation
Test your code in software simulation before flying real hardware.
Lua Scripting
Extend ArduPilot with Lua scripts — no recompilation required.
Hardware Abstraction
Write portable code using ArduPilot’s HAL for ChibiOS, Linux, and ESP32.
Contributing
Learn how to contribute code, follow coding style, and submit pull requests.