ArduPlane is the ArduPilot firmware for fixed-wing and VTOL vehicles. It handles conventional aircraft, delta flying wings, and — through the QuadPlane subsystem — hybrid VTOL configurations including tailsitters and tiltrotors. The vehicle code lives inDocumentation 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.
ArduPlane/ and produces a single arduplane binary that adapts its control laws at runtime based on the configured frame type and enabled subsystems.
Flight modes
24 modes covering manual pass-through through fully autonomous missions and QuadPlane VTOL transitions.
QuadPlane VTOL
Hover like a copter, cruise like a plane. Supports tailsitters, tiltrotors, and motor-on-wing hybrids.
TECS controller
The Total Energy Control System manages speed and altitude as a coupled energy budget, not independently.
Autonomous soaring
Thermal mode uses AP_Soaring to locate and exploit thermals for extended unpowered flight.
Supported configurations
ArduPlane supports a wide range of fixed-wing and VTOL airframe configurations. The frame type is selected through parameters rather than a separate build target.| Configuration | Description |
|---|---|
| Conventional (3-surface) | Aileron, elevator, rudder with pusher or tractor motor |
| Flying wing | Elevon mixing for delta and tailless designs |
| V-tail | Software mixing for V-tail elevator and rudder surfaces |
| QuadPlane (multirotor lift) | Fixed wing with added quad/hex lift motors for VTOL |
| Tailsitter | Full-body rotation VTOL; copter attitude in hover, plane attitude in cruise |
| Tiltrotor | Motors tilt between vertical (hover) and horizontal (cruise) |
| Conventional helicopter (experimental) | Single-rotor with tail rotor operated by Plane firmware |
Flight modes
All modes are defined inArduPlane/mode.h. QuadPlane modes are compiled in only when HAL_QUADPLANE_ENABLED is set.
| # | Mode | Description |
|---|---|---|
| 0 | Manual | Direct RC pass-through, no stabilization |
| 1 | Circle | Automatic constant-radius loiter circle |
| 2 | Stabilize | Attitude-stabilized with manual throttle |
| 3 | Training | Stabilize with user-configurable bank/pitch limits |
| 4 | Acro | Body-frame rate control, no attitude reference |
| 5 | FLY_BY_WIRE_A (FBWA) | Pilot commands roll/pitch angle; auto level |
| 6 | FLY_BY_WIRE_B (FBWB) | Pilot commands bank angle and climb rate |
| 7 | Cruise | FBWB with automatic heading hold |
| 8 | AutoTune | Automated roll and pitch gain tuning in flight |
| 10 | Auto | Fully automatic waypoint mission |
| 11 | RTL | Return to launch and loiter or land |
| 12 | Loiter | Automatic position and altitude hold |
| 13 | Takeoff | Automatic ground-roll and climb-out |
| 14 | Avoid_ADSB | Automatic ADS-B traffic avoidance |
| 15 | Guided | Fly to GCS-commanded coordinates |
| 17 | QStabilize | QuadPlane hover with stabilized attitude |
| 18 | QHover | QuadPlane hover with altitude hold |
| 19 | QLoiter | QuadPlane hover with position hold |
| 20 | QLand | QuadPlane automatic vertical landing |
| 21 | QRTL | QuadPlane return and vertical land |
| 22 | QAutoTune | QuadPlane automated gain tuning |
| 23 | QAcro | QuadPlane body-frame rate control in hover |
| 24 | Thermal | Autonomous soaring using AP_Soaring thermal detection |
| 25 | LoiterAltQLand | Loiter then descend as QuadPlane for landing |
| 26 | AutoLand | Automatic landing sequence with flare |
QuadPlane modes (Q-prefix) are only available when
HAL_QUADPLANE_ENABLED is defined. They are included in the standard arduplane binary for boards that have sufficient resources.QuadPlane VTOL transitions
QuadPlane supports forward transitions from hover to fixed-wing flight and back. The transition behaviour is controlled by parameters in theQ_ namespace.
- Hover to cruise
- Cruise to hover
- Tailsitter
The aircraft accelerates horizontally while lift motors continue running. Once airspeed reaches the transition threshold, the lift motors stop and the wing takes over. The exact sequence depends on whether the frame is a tilrotor or a fixed-motor VTOL.
TECS speed and altitude controller
ArduPlane uses the Total Energy Control System (TECS) — implemented inlibraries/AP_TECS/ and linked via wscript — to control speed and altitude simultaneously. Rather than separate throttle and pitch controllers, TECS treats the aircraft’s kinetic and potential energy as a shared budget.
- Total energy (sum of KE and PE) is controlled by throttle.
- Energy distribution (KE vs PE balance) is controlled by pitch.
TECS_ in the parameter tree.
Soaring support
TheThermal flight mode uses the AP_Soaring library to detect rising air and exploit thermals for extended gliding flight. When a thermal is detected:
- The motor throttles down.
- The aircraft enters a banked loiter over the thermal core.
- When altitude or loiter time limits are reached, the mission resumes.
Building
Libraries linked by wscript
TheArduPlane/wscript file lists the vehicle-specific libraries added on top of the common set.
| Library | Purpose |
|---|---|
APM_Control | Roll, pitch, yaw, and steering PID controllers |
AP_AdvancedFailsafe | Mission-critical failsafe sequencing |
AP_Avoidance | ADS-B collision avoidance |
AP_Camera | Camera trigger and gimbal control |
AP_L1_Control | L1 lateral track-following guidance law |
AP_Navigation | Navigation interface abstraction |
AP_TECS | Total Energy Control System for speed/altitude |
AP_InertialNav | Inertial navigation blending |
AC_WPNav | Waypoint and loiter navigation (used by QuadPlane) |
AC_AttitudeControl | Attitude controllers for QuadPlane hover |
AP_Motors | Motor output mixing for QuadPlane lift motors |
AP_Landing | Approach and flare logic for fixed-wing landings |
PID | Generic PID controller used by several subsystems |
AP_Soaring | Thermal soaring detection and exploitation |
AP_LTM_Telem / AP_Devo_Telem | Serial telemetry protocols |
AC_AutoTune | Automated PID gain tuning |
AP_Follow | Follow another vehicle (used in guided contexts) |
AC_PrecLand | Precision landing for QuadPlane vertical descents |
AP_IRLock | IR-Lock target tracking |
AP_Quicktune | In-flight rapid gain tuning |