We put ArduPilot 2. 1 to the ultimate test:
the SparkFun Autonomous Vehicle Competition.
airspeed sensor and throttle control, wind would
be a serious problem. Going downwind was fine,
but heading into a strong wind at constant medium
throttle the plane often came to a standstill as measured by ground velocity.
Not only was the plane not making headway,
the GPS module was giving random data for its
direction vector, since it wasn’t moving forward
from reading to reading (one per second with the
EM-406). An airspeed sensor would detect that the
plane was moving relative to the air (or rather, the
air was moving relative to the plane) even though
it wasn’t moving relative to the ground, and would
increase the throttle to make headway.
This required us to design an expansion board
for ArduPilot. In the Arduino world, such expansion
boards are called “shields” (because they fit over
and cover the main board). Our shield includes the
differential pressure sensor, a 3.3V power regulator
so people can add 3.3V sensors or switch to a faster
GPS module (most of the 5Hz GPS modules run at
3.3V), connectors to make attaching sensors easier,
and other circuitry to make field operation simpler.
Finally, Jordi designed desktop software to make
it easier to configure ArduPilot and monitor it in
operation. Earlier versions required users to go into
the code itself to add and change waypoints; the
desktop configuration utility makes this an easy,
Jordi also designed a ground station to monitor
a UAV in flight. ArduPilot is designed to allow you
to easily add wireless telemetry by connecting an
XBee wireless module to the autopilot and match
it with another XBee module on the ground. The
autopilot sends information about its attitude (roll,
pitch, and heading) as well as GPS coordinates,
altitude, waypoint number, and other status, which
is displayed in real time on dials and a moving
map (through Google Earth) by the ground station
In April, we put this version, ArduPilot 2. 1, to the
ultimate test: the SparkFun Autonomous Vehicle
Competition. As Mark Frauenfelder reports on page
72, neither wind nor trees could stop it (although
we would have been sunk without the Boulder Fire
Department). Our ArduPilot-powered UAV won,
circling the SparkFun building in 36 seconds.
50 Make: Volume 19
Today, SparkFun has sold about 600 ArduPilot
boards, and our community site, DIY Drones, has
around 5,000 active members — both numbers are
growing fast. We’re working on the next version of
ArduPilot, which will be built on the new Arduino
Mega platform (lots more I/O pins and serial ports)
and will probably have a full IMU.
An on-screen display that puts telemetry and
other data into a real-time video stream is in the
works, and we’re testing the autopilot on different
aircraft, from speedy FunJets to docile trainers that
can carry large loads.
Meanwhile the community is finding all sorts of
new ways to use and extend ArduPilot, from cars
and boats to experiments with helicopters, quad-copters, and even high-altitude balloons. All it took
was one little board and the magic of open source.
Now thousands of people are exploring a new
dimension of robotics — up!
What You Need to Get Started:
» ArduPilot from SparkFun Electronics
( sparkfun.com), $25
» EM-406 GPS module from SparkFun, $60
» Thermopile pitch/roll (XY) sensors:
part #CPD4SENUNIT from FMA Direct
( fmadirect.com), $43
» FTDI USB-to-serial adapter for programming,
from SparkFun, $14
» Multiplex EasyStar plane from Tower Hobbies
( towerhobbies.com), $60
» R/C equipment: transmitter, receiver,
servos, etc. Any type will do.
Photography by Noah Webb (N, O) and Jon Snyder (P)
All instructions and code are at ardupilot.com.
Follow us and the rest of the amateur UAV
community at diydrones.com.
Chris Anderson is the editor-in-chief of Wired and the
co-founder of the DI Y Drones group ( diydrones.com).