ArduPilot main page

Chris Anderson
DIY Drones

January 21, 2009

ArduPilot is a full-featured autopilot based on the Arduino open-source hardware platform. It uses infrared (thermopile) sensors for stabilization and GPS for navigation. It is the autopilot used to win the 2009 Sparkfun Autonomous Vehicle Competition [ ].

The hardware is available from Sparkfun for $24.95 [ ]. An expansion board ("Shield") kits that includes an airspeed sensor, a 3.3v power regulator for 3.3v GPS modules and other sensors and cables and connectors for easy attachment of the XY and Z sensors, is available from our own store for $47.50 [ ].

ArduPilot features include:

The software comes in two varieties: 1.x (navigation-only, requires a third-party stabilization system for aircraft) and 2.x (navigation and stabilization integrated into one).

Both require the free Arduino IDE [ ] to edit and upload the code to the Ardupilot board.

ArduPilot 2.x, the navigation+ stabilization version, is currently optimized for the Mutiplex EasyStar [  ] three-channel powered glider and FMA sensors, but can be modified for other aircraft and sensors. It uses the rudder/ailerons and elevator to maintain level flight and navigate to GPS waypoints. It supports a desktop setup utility and ground station software. It also includes a "fly-by-wire" mode that simply stabilizes RC flight. The main code is in the download section of our Google Code repository [ ], where x is the latest version.

What you need to make a fully-functional autopilot with the 2.x code:

ArduPilot 1.x is the navigation-only version of autopilot. It is a GPS-guided autopilot that controls the rudder to navigate to GPS waypoints, and the throttle to maintain altitude. It works with a stand-alone stabilization system to provide a full autopilot solution. The main code is the "" code (where x is the latest version) in the download section of the repository [ ]. This code supports all GPS modules in NMEA mode.

What you need to make a navigation-only autopilot with the 1.x code:


Open source essentials:

Recommended UAV setup:

Airframe option one: Hobbico SuperStar [ ] (49" wingspan, $95, shown above). This is an inexpensive, good flying high-wing trainer with ailerons. It can be hand launched in a park or take off from a runway, and replacement parts are readily available in case of a crash. If you want much better performance with this aircraft, you can upgrade it to a brushless motor [ ], speed controller [ ] and a LiPo battery [ ]. [If you don't already have one, you'll also need a balancing charger [ ] and power supply [ ].] Note: any stable aircraft with both ailerons (for stabilization) and rudder (for navigation) can work, so feel free to experiment with what you've got.

Airframe option two (recommended for ArduPilot 2.x): EasyStar [ ] (shown above). Performance can be improved with the modifications described in this post [ ].

You'll also need:

Cool optional extras for your UAV:


Copyright 2009