Introducing ArduPilot: the world's cheapest autopilot!

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, PCB board. You can buy the board here. Arduino code coming soon in alpha now.

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 : $1

--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 (with proportional control for channel 6, to calibrate FMA system): $109

--Three servos: $45

TOTAL: $440

Views: 49663

Comment by Brian on July 2, 2008 at 9:39pm
Chris, not to sound like a total idiot, but how do the boardino and pcb fit together? I'm in the process of getting all the parts together for this "practice" board. The item IC3 from the link is not available until mid-August. Will others work? Is the code close to available? Thanks

3D Robotics
Comment by Chris Anderson on July 2, 2008 at 9:52pm
The Boarduino is just for its parts--you throw away its board! Code is in pre-alpha--which is to say that it compiles but still needs to be tested and debugged on the board proper. We'll have it done before you get your board finished ;-)
Comment by Geetesh Dubey on July 3, 2008 at 1:29pm its at the verge of its debut, the really looking forward to hav a look at the code....i hav written a code in bascom...its prty simple and that my system too uses an EM 406 with a micromag3 for gambling for i dont hav an FMA copilot but stabilising the plane onl using a gyro on aileron and elevator is gonna be microcontroller in if the altitude falls uC tells the plane to climb....but i dont know wht is gonna be the pracrical a noob hehe...
Comment by ionut on July 15, 2008 at 5:16pm
Anybody tried solar power to recharge the batteries?

I believe the autonomy of the electric is quite small compared with gas ones
Comment by Christopher Macdonald on July 15, 2008 at 6:05pm
Chris, do you know when in July you'll post the code?
Comment by ionut on July 15, 2008 at 6:53pm
Have you also plan to include a ZLog altimeter.I mean I dont understand how you are going to hold the airplane at a certain altitude ?By using only the stabilization FMA?

3D Robotics
Comment by Chris Anderson on July 15, 2008 at 7:53pm
We use GPS (GPGGA string) for altitude hold, controlling the throttle.
Comment by ionut on July 16, 2008 at 7:38am
Thanks, Your approach sounds great but I have to see it to believe it. it.

This guy also made something similar but as you see in the movie the GPS flying is not that great.
I'm eager to see the final thing.

3D Robotics
Comment by Chris Anderson on July 16, 2008 at 10:59am
I think our approach is a little different. We have a stand-alone stabilization system with the FMA co-pilot (so it's not a GPS-only autopilot). Also, I don't think he did any autonomous altitude control at all, while we use GPS for that.

But you're right to want to see flight data before believing. Stay tuned.....
Comment by quantumma on July 18, 2008 at 8:03am
hey to all. im a newbie her and could someone post a list on all the components that are needed to assemble the board and where to get the board?


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service