We're making good progress on ArduPilot, the Arduino-based open source autopilot, and Jordi's just finished an improved version of the board, along with a new surface-mount version for those who care about size and are extra handy with a fine-point soldering iron.

The new version of the through-hole board corrects one error on the previous version--a diode was in the wrong way around--and adds a better layout, better connectors for the receiver and servo cables (Samtec right-angle connectors) and the GPS, and clearer labeling throughout. You can see the PCB layout above, and buy the board here.

Eagle 5 files are here: ardupilotBETA.sch and ardupilotBETA.brd

The components you'll need are these:

I'm working on the Autopilot code now, and should have a beta in a few weeks once I've had a chance to test it. I'm starting with a port of the Basic Stamp autopilot, but this board is designed to do much more, so we'll be coding in new functionality like the ability to read a barometric sensor for altitude control and read the FMA Co-Pilot (or custom IR sensors) directly, to integrate stabilization directly into the autopilot.

The surface-mount (SMD) version is functionally identical (except it has two extra analog inputs for sensors, thanks to the SMD version of the ATMega168 chip having more I/O pins), but smaller. We designed this one mostly for ease of automated manufacture--we will be offering a pre-made board with components already mounted in a few months--but if you're not too afraid of hand soldering intzy-wintzy leads, you may prefer this one, which you can buy here.

Here's the overview of the SMD board:

Here's the component list for the SMD board (Digikey parts):








You may notice that the image of the board above appears to be missing some chips that the through-hole version has. That's because they're on the bottom of the board.



Views: 2770

Comment by James Ross on June 6, 2008 at 9:45pm
This is labeled as Beta2 but there is a Beta3 floating around. Could you upload the latest schematic and board layout?

Anyone building this will also need the AVR programmer when they order their stuff.

3D Robotics
Comment by Chris Anderson on June 6, 2008 at 10:47pm
Erk. Beta3? That's a mistake--do you have a link? I'll correct it.

Here's the latest board and schematic (Eagle format):


Comment by James Ross on June 7, 2008 at 7:15am
On the BatchPCB website, the old version is titled ArdupilotBeta3 currently linked on the original ArduPilot post

Also, I'm not a EE, but it appears the diode short also plagues Jordi's Open Source MUX (AntiFail) V2
Comment by bGatti on June 7, 2008 at 9:49am
"mem" and I have been working on a scheme to avoid the spaghetti mess of servos in and servos out on such a board.

While only half-tested, The scheme replaces the 27 servo pins and 75LS157D in the current circuit with two arduino pins and four wires.

Specifically, we interrupt the composite radio signal - interpret it via interrupts, then re-inject a new composite signal back into the receiver so that the servos remain connected directly to the receiever. Fewer pins, parts, and wires.

Progress: we are looking for a receiver with clear and clean access to the composite signal trace.

Forum Thread


3D Robotics
Comment by Chris Anderson on June 7, 2008 at 12:13pm

I think that's exactly what Paparazzi does. Check it out here.

3D Robotics
Comment by Chris Anderson on June 7, 2008 at 12:15pm

Good catch. I'll fix that earlier post and delete the BatchPCB board with the incorrect version number.

And yes, that diode error came when we integrated Jordi's original MUX. He's updated that one with a much improved board, which we'll be posting soon.
Comment by bGatti on June 7, 2008 at 2:31pm
Yes, in principle at least.
Although the schematic shows the receiver decoder unused. and they include the 4017 on board - the alternative is mentioned at your link - but they list an all-or-nothing limitation.

mem has worked out doing both the encode and decode using hardware timers and interupts for low-cpu loading.

We have also overcome the limitations - one can use receiver based servos, arduino based servos, and "virtual servos" ie channels for software control which are never exposed on any pin.

One might consider - where space is an issue - to place the servo connections on a part of the board which can be clipped off...

Comment by bGatti on June 7, 2008 at 6:55pm
related to this, I might also propose a form of fail-safe which has been used in CNC machines.

A watchdog signal can be pumped into a capacitor, if the voltage on the capacitor falls, then the receiver is reconnected to its output stage. This would provide rc control in cases where the microcontroller requires a reset.
Comment by Geetesh Dubey on June 8, 2008 at 12:16am
do we have some sort of autopilot code for avr...if so...im looking forwaRD TO it very eagerly... in my project im using an AVCS gyro to stabilize only the roll of F-22 Raptor Hangar 9 airframe...hope ardupilot is gonna be a lot useful with some tradeoffs(parts availability constraints)...i dont have an FMA co-pilot...so gotta look 4 sm alternative...

Comment by Brian on July 10, 2008 at 11:41pm
Cool Beans!
Regarding the update "Three female-to-female RC cables (you'll cut them in half to make the pigtails to the RC receiver) " doesn't the link show Male-to-Male RC cables? What are you doing for strain relief? Will future boards have a spot for the cables to be zipped to the board?


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

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service