Choosing an Autopilot

ArduPilot runs on many different autopilot boards. Selecting the right board depends on the physical constraints of the vehicle, features desired, and the applications that you want to run. Factors to consider are:

  1. Sensor Redundancy: ArduPilot supports redundant IMUS, GPS, etc. Many controllers have multiple IMUs integrated on board for applications requiring this level of reliability.

  2. Number of Servo/Motor Outputs.

  3. Number of UARTs: Telemetry radios, GPS’s, Companion Computers, etc can be attached via these ports.

  4. External Buses: I2C, CAN, etc. allow many types of devices, such as airspeed sensors, LED controllers, etc. to be attached to the autopilot.

  5. Number of Analog I/O: Some controllers have analog I/O available for such features as inputting receiver signal strength (RSSI) or battery voltage/current or other analog sensors.

  6. Integrated Features: Such as on-board OSD (On Screen Display), integrated battery monitoring sensors.

  7. Vibration Isolation: Internal mechanical vibration isolators for IMUs for high vibration applications.

  8. IMU Heaters: On board temperature control of IMUs for applications in harsh environments or widely varying temperatures during a flight to provide the highest possible precision.

  9. Size: Many vehicles have limited space for the autopilot.

  10. Expense: Controller prices range from ~$25 to much more, depending on feature set.

The sections below provide information about ArduPilot autopilot hardware options. The list below is sorted by manufacturer and product name.


There are also numerous clones and minor variants of the boards linked below. Many of these may be perfectly capable replacements. Help in selecting an autopilot can also be obtained in the user forums (ArduPilot Discuss or RC Groups ).


The APM2.6 board is no longer supported for Copter or Plane. The last firmware builds that can be installed on these boards are AC v3.2.1 and Plane 3.3.0.


Not all of these autopilots have been directly tested by ArduPilot development team members and while firmware is provided by ArduPilot, it does not constitute an endorsement by ArduPilot. However, most boards developed by ArduPilot Partners have been provided to the ArduPilot development team to aid in any possible support issues that might arise.

Open Hardware

* due to flash memory limitations, these boards do not include all ArduPilot features. See Firmware Limitations for details.

Closed Hardware


due to flash memory limitations, most F4 based, and some other boards, do not include all ArduPilot features. See Firmware Limitations for details.

Linux Based Autopilots

These autopilots use an underlying Linux OS. Linux boards usually have more CPU power and memory many of the other boards listed on this page, but do not support DShot, Bi-Directional DShot, BLHeli ESC passthrough, many of the ArduPilot GPIO based features, and easy upload from the ground stations. They do allow experimentation and development of advanced control and navigation algorithms (see also Companion Computers).

** these devices are sensor add-on boards for a Linux-based microcomputer. See board links for details.


For more information on using ArduPilot on Linux based boards, see Building the code

Firmware Limitations

Some boards have features removed in order to fit the firmware into their memory capacity. See the section below:


If a board has a missing feature that is required by the user, building a custom firmware using the ArduPilot Custom Firmware Build Server can be used to create firmware which drops features not needed and adding desired features back into the firmware in that freed space.

Discontinued Boards

The following boards are no longer produced, however, documentation is still available in the wiki or online, and recent builds are still expected to work. These boards are not recommended for new projects.

The following boards are no longer supported. The documentation is archived, but available if you’re still working on those platforms:

  • APM 2.x (APM 2.6 and later) are no longer supported for Copter, Plane or Rover. The last firmware builds that fit on this board are Copter 3.2.1, and Plane 3.4.0, and Rover 2.5.1.

  • NAVIO+

  • PX4FMU

  • Qualcomm Snapdragon Flight Kit


Schematics for some of the “Open Hardware” autopilots can be found here