hub and are using a USB Wi-Fi dongle.
I chose to use a regulated power bank: an
external battery marketed for use with charging and
running cell phones and tablets. It has 5,200 mAh
capacity for its internal 3.7V battery that translates to
about 3. 6 amp-hours at 5V. So, I can expect two
hours (or more) of battery life running a Raspberry Pi
with a USB Wi-Fi adapter.
Servos are not as picky about power and can
usually run from 4V-6V. For the sake of simplicity, a
separate 4xAA battery pack will be used to drive the
servo motors and 5V sensors. By using NiMH
rechargeable batteries, we ensure the 5V sensors will
not be damaged.
There are definite advantages to using a separate
power source for the Raspberry Pi and the motors:
• Avoid introducing electrical noise to the Pi.
• Sensors can run off the "clean" Pi power supply.
• Eliminate potential brown-outs which would cause
the Pi to reboot.
• A longer run life for SPRITE is a bonus.
Decision #4: Picking a chassis.
One of my favorite chassis is the one made by Parallax
for the Boe-Bot. Unfortunately, I needed more room than it
could provide for the two sets of batteries, and I also
wanted more space for breadboarding additional circuits.
I decided to use Gordon McComb's inexpensive
Ardubot chassis which was written about originally in the
November 2010 issue of SERVO, followed by a recent
update series that started in the August 2013 magazine.
The two decks provide plenty of space for the batteries,
Raspberry Pi, and add-ons, and the 1/4" expanded PVC is
easy to drill for the mounting holes for the Pi. (I already had
two to work with — they were drilled for an earlier
I used two M3 18 mm + 6 mm standoffs at each hole,
as they work great with my stacking headers. You can get
your Ardubot chassis at www.budgetrobotics.com/
category/Robot-Chassis-Kits-161. Gordon also sells
optional add-on decks, so if you need more space, you can
always add another deck!
Decision #5: Picking an
ultrasonic range sensor.
I chose the $15 SeeedStudio ultrasonic range
sensor based on cost, ease of use, and only needing
a single I/O. The Parallax Ping))) sensor is also an
excellent choice with a longer sensing range, but it
costs almost twice as much.
When I hooked up the range sensor, it did not
work. Turns out I was a wee bit aggressive in
current-limiting the GPIOs on the Pi — so much so
that it would not trigger the ultrasonic transducer!
After some experimentation, I determined that
using a 4.7K SIP with 2.4K resistors worked well for
both the ultrasonic range sensor and for driving the
servos. Remember to power the sensor from the Pi's
regulated 5V — not the battery pack used for the
SERVO 01.2014 59
Photo 5: SeeedStudio ultrasonic range finder on
Lynxmotion sensor bracket.
Photo 3: USB power bank with 2.5A output and 4xAA battery
holder with NiMH batteries.
Photo 4: Raspberry Pi and
EZasPi mounted on the top
deck of Ardubot.