Skip to main content


On-board Flight Control Software for Pixhawk Family of Controllers

There are 2 major camps when it comes to the software that runs on-board the vehicles: PX4 Native Stack, and ArduPilot. Both PX4 Native Stack and ArduPilot, as well as MAVLink are now under DroneCode Project. NOTE: As of September 2016, ArduPilot is no longer part of DroneCode

ArduPilot (APM)

ArduPilot ArduPilot - APM

  • Works on Pixhawk, clones and Linux boards.
  • Evolved out of an Arduino based FC hardware/software developed by DIYDrones (from which 3DRobotics came about).
  • ArduPilot runs as an application on top of PX4 Native Stack (PX4Firmware).
  • Slightly different version for different vehicle and frame types (APM:Copter, APM:Plane, APM:Rover, etc.)
  • Go with Mission Planner if you are on Windows.
  • Go with APM Planner 2 if you are on other platforms.
  • Use Tower on tablet.
  • GPLv3 License.

PX4 Native Stack

PX4 PX4 Native Stack

  • Works on Pixhawk and clones.
  • Compatibility being worked on for Linux boards.
  • Mainly developed by ETH Zurich.
  • It's built on top of NuttX realtime OS and runs as bunch of apps on top of the PX4 Middleware (driver layer).
  • Go with QGroundControl on any platform.
  • BSD License.
  • The official website for the PX4 "native stack" firmware which comes pre-installed on many boards is at: