Introducing ArduPilot: the world's cheapest autopilot!

Chris Anderson
DIY Drones

May 11, 2008

The decision to port the Basic Stamp autopilot [ ] to Arduino turned out to be an unexpected opportunity to make something really cool. I've taken Jordi's open source RC multiplexer/failsafe board [ ], and mashed it up with an Arduino clone to create "ArduPilot", perhaps the cheapest autopilot in the world. ($110! That's one-third the price of Paparazzi [ ] )

Here's what it is:

A custom PCB with an embedded processor (ATMega168) combined with circuitry to switch between RC control and autopilot control (that's the multiplexer/failsafe, otherwise known as a "MUX"). This controls navigation (following GPS waypoints) and altitude by controlling the rudder and throttle. These components are all open source. This autopilot is fully programmable and can have any number of GPS waypoints (including altitude) and trigger camera or other sensors

As with the Basic Stamp autopilot, to make a fully autonomous aircraft you need to combine this navigation autopillot with a stabilization system, for which we turn to our old friend, the FMA Co-Pilot [ ] (off-the-shelf infrared sensors and control board to keep the plane flying level), which controls the ailerons and elevator.

By using Jordi's MUX, which allows us to switch from autopilot to manual RC control in hardware, we gain several advantages over the Basic Stamp:

1) Because the switching isn't handled by the processors, we don’t need to drive servos in real time, which means we don't need stand-alone servo driver chips (thus a simpler board)

2) We also don't need “mirroring” subroutines to pass through servo commands in RC mode (simpler code)

3) Don’t need power regulator, since we’re using regulated output from the RC receiver (simpler board)

4) The built-in MUX failsafe is cheaper and simpler than using a stand-alone one [ ].

I've taken a quick pass at the schematic and PCB (Eagle 5.0 format) for ArduPilot, although this will evolve as we go through the hardware testing cycle: Schematic [*hYggg87euo9kiP*fkfQEd-oET1Sb8cx4DaHtwBEjv9bsEqXBxpTaZSoeIDElxnrg1050UEwuBcB2568qHitW47zyKWzYo/ardupilotBETA.sch ], PCB board [*hYggg87ffQpe*rrD2reUpdJzLqeFZEHeR*RsRJZsbvCReGMN1COnbr5OScEhyIvbOR1*7IWaq6V1goLbmO8-rw9AuvU2a/ardupilotBETA.brd ]. You can buy the board here [ ]. Arduino code coming soon.

All together, this can be the basis of a sub-$500 UAV:


--ArduPilot PCB [ ]: $10

--Boarduino kit + FTDI cable [ ]: $35 (subtract $17.50 if you already have a FTDI cable)

--PicoSwitch [ ]: $20 (we'll probably build this in the board in the next rev) [UPDATE: Jordi's now incorporated that into the board above. It's a TinyAVR [ ] chip ("IC3", $2.75) and its associated programming interface jumpers ("ISP")]

--EM-406 GPS module: $60

--Multiplexer chip [ ] (available as a free sample): $0

--8 Samtec TSW-108-25-G-T-RA right angle servo connectors [ ] (available as a free sample): $0

(That's a $110 autopilot, thanks to the open source hardware. By comparison, the Basic Stamp version of this, with processor, development board and failsafe board, would run you $300, and it's not as powerful)


--FMA Co-Pilot [ ]: $70

Plane and RC equipment:

--Hobbico SuperStar [ ] (includes motor, battery and ESC): $109

--6-Channel radio system [**&P=0 ] (with proportional control for channel 6, to calibrate FMA system): $109

--Three servos [ ]: $45

TOTAL: $440


Copyright 2008