Pololu Zumo Shield User manual

Pololu Zumo Shield for Arduino
User's Guide
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.a. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.b. Included components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.a. What you will need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.b. Assembling the Zumo Shield and chassis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.c. Adding a Zumo reflectance sensor array (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. The Zumo Shield in detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.a. Features and components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.b. Front expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.c. Jumper settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.d. 3-axis compass module (accelerometer and magnetometer) . . . . . . . . . . . . . . . . . . . . . . . . 26
4. Schematic diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5. Arduino pin assignment table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6. Zumo Shield Arduino Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7. Example projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.a. RC Zumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.b. Simple border-detecting sumo robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.c. Maze solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.d. Using the compass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8. Controlling a servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.a. Controlling a servo with an Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.b. Controlling a servo with an Arduino Leonardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
http://www.pololu.com/docs/0J57/all Page 1 of 38

1. Overview
The Zumo Shield provides a convenient interface between our Zumo chassis [http://www.pololu.com/catalog/product/1418]
and an Arduino Uno [http://www.pololu.com/catalog/product/2191] or Leonardo [http://www.pololu.com/catalog/product/2192] (it
is not compatible with the Arduino Mega or Due, but it can be used with older Arduinos that have the same form
factor as the Uno, such as the Duemilanove). The shield mounts directly to the chassis, connecting to its battery
terminals and motors, and the Arduino plugs into the shield’s male header pins, face down. The shield provides all the
electronics necessary to power the motors and includes some additional fun components for making a more interesting
robot, such as a buzzer for making sounds and a 3-axis accelerometer and compass.
Zumo Shield for Arduino. Assembled Zumo robot with a Zumo
Shield, Arduino Uno, and Zumo blade.
A Zumo chassis, Zumo Shield, and Arduino can be combined to become a low-profile, Arduino-controlled tracked
robot that is less than 10 cm on each side (small enough to qualify for Mini-Sumo competitions).
Zumo Shield for Arduino, labeled top
view.
Zumo robot assembled with a Zumo
Shield and Arduino Uno, back view.
The Zumo Shield is available:
•by itself [http://www.pololu.com/catalog/product/2504];
• as part of a Zumo robot kit for Arduino [http://www.pololu.com/catalog/product/2505] that also includes a Zumo
chassis [http://www.pololu.com/catalog/product/1418] and a stainless steel Zumo blade [http://www.pololu.com/catalog/
product/1410]; or
• as a fully-assembled Zumo robot for Arduino [http://www.pololu.com/catalog/product/2506] with 75:1 HP motors
[http://www.pololu.com/catalog/product/2361] and a reflectance sensor array [http://www.pololu.com/catalog/product/1419]
installed.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
1. Overview Page 2 of 38

Fully assembled Zumo chassis
with assembled Zumo Shield.
1.a. Contacting Pololu
We would be delighted to hear from you about your experiences with the
Zumo Shield for Arduino [http://www.pololu.com/catalog/product/2504],Zumo
robot kit for Arduino [http://www.pololu.com/catalog/product/2505], or Zumo
robot for Arduino [http://www.pololu.com/catalog/product/2506]. If you need
technical support or have any feedback you would like to share, you can
contact us [http://www.pololu.com/contact] directly or post on our forum
[http://forum.pololu.com/viewforum.php?f=29]. Tell us what we did well, what we
could improve, what you would like to see in the future, or anything else you
would like to say!
1.b. Included components
The Zumo Shield is available:
•by itself [http://www.pololu.com/catalog/product/2504];
• as part of a Zumo robot kit for Arduino [http://www.pololu.com/catalog/product/2505] that also includes a Zumo
chassis [http://www.pololu.com/catalog/product/1418] and a stainless steel Zumo blade [http://www.pololu.com/catalog/
product/1410]; or
• as a fully-assembled Zumo robot for Arduino [http://www.pololu.com/catalog/product/2506] with 75:1 HP motors
[http://www.pololu.com/catalog/product/2361] and a reflectance sensor array [http://www.pololu.com/catalog/product/1419]
installed.
Zumo Shield
The shield itself comes with the following components:
• right-angle slide switch
• two pushbuttons [http://www.pololu.com/catalog/product/
1400]
• buzzer
•2-pin battery-charging header
[http://www.pololu.com/catalog/product/1012]
• three jumper wires (for soldering motors to the
chassis)
• 40-pin 0.1″ straight breakaway male header
[http://www.pololu.com/catalog/product/965]
• two blue shorting blocks
[http://www.pololu.com/catalog/product/968]
• two 5/16″ #2-56 machine screws (to be used instead of the 1/4″ screws included with the chassis kit if you
attach a Zumo blade)
• 1/16″ black acrylic spacer plate (two pieces)
Zumo Robot Kit for Arduino
In addition to the shield and its included hardware, the Zumo robot kit for Arduino also includes these components:
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
1. Overview Page 3 of 38

•Zumo chassis kit [http://www.pololu.com/catalog/product/
1418], which includes:
◦ Zumo chassis main body
◦ 1/16″ black acrylic mounting plate (not used with
the Zumo Shield)
◦ Two drive sprockets
◦ Two idler sprockets
◦ Two 22-tooth silicone tracks
◦ Two shoulder bolts with washers and M3 nuts
◦ Four 1/4″ #2-56 screws and nuts
◦ Battery terminals
•Basic sumo blade for Zumo chassis
[http://www.pololu.com/catalog/product/1410]
You will receive the black acrylic spacer and mounting plates with protective paper masking on both
sides. You can peel this masking off to expose the acrylic surface, or you can leave it on to increase
the thickness of the plates.
The shield and chassis kit include extra parts like jumper wires, screws, nuts, and washers, so do not
be concerned if you have some leftover hardware after assembling your Zumo.
Zumo Robot for Arduino
The Zumo robot for Arduino is a fully-assembled robot
platform built from the same components found in the
Zumo robot kit for Arduino, along with these additions:
• Two 75:1 HP micro metal gearmotors
[http://www.pololu.com/catalog/product/2361]
•Zumo reflectance sensor array
[http://www.pololu.com/catalog/product/1419]
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
1. Overview Page 4 of 38

2. Assembly
If you have a Zumo robot kit for Arduino [http://www.pololu.com/catalog/product/2505] or a separate Zumo Shield
[http://www.pololu.com/catalog/product/2504] and chassis [http://www.pololu.com/catalog/product/1418], this section will guide
you through assembling them into a complete robot.
If you purchased an assembled Zumo robot for Arduino [http://www.pololu.com/catalog/product/2506], this assembly work
has been done for you, although you might want to configure your Zumo by adding or removing some jumper
connections [http://www.pololu.com/docs/0J57/3.c]. Otherwise, you can simply install four AA batteries and an Arduino
(or compatible controller) and skip to Section 3 to start learning how to use your Zumo!
2.a. What you will need
The Zumo Shield is designed to be mounted on a Zumo chassis kit [http://www.pololu.com/catalog/product/1418], which
is included (along with a Zumo blade [http://www.pololu.com/catalog/product/1410]) if you have a Zumo robot kit for
Arduino [http://www.pololu.com/catalog/product/2505]. In addition, you will require these items to construct a working
Arduino-controlled Zumo robot:
Additional required components
• Two micro metal gearmotors [http://www.pololu.com/catalog/category/60] (we recommend 100:1
[http://www.pololu.com/catalog/product/1101],75:1 [http://www.pololu.com/catalog/product/2361], or 50:1
[http://www.pololu.com/catalog/product/998] gear ratio versions with HP motors). The pre-assembled version of the
Zumo robot [http://www.pololu.com/catalog/product/2506] includes two 75:1 HP micro metal gearmotors.
• An Arduino (we recommend an Uno R3 [http://www.pololu.com/catalog/product/2191] or a Leonardo
[http://www.pololu.com/catalog/product/2192])
• Four AA batteries (we recommend rechargeable AA NiMH cells [http://www.pololu.com/catalog/product/1003])
Please see the product description for the chassis kit [http://www.pololu.com/catalog/product/1418] for more information
and recommendations about selecting these components.
Additional optional components
•Zumo reflectance sensor array [http://www.pololu.com/catalog/product/1419]
•Basic sumo blade for the Zumo chassis [http://www.pololu.com/catalog/product/1410]
•Sensors [http://www.pololu.com/catalog/category/7], such as our QTR reflectance sensors
[http://www.pololu.com/catalog/category/123]
•Connectors and jumper wires [http://www.pololu.com/catalog/category/19], for connecting additional sensors and
components
• Battery charger (such as the iMAX-B6AC [http://www.pololu.com/catalog/product/2260]), if you are using
rechargeable batteries
Assembly tools
• Soldering iron and solder (we recommend one with adjustable temperature control)
• Wire cutter
• Small Phillips screwdriver
• 3 mm Allen wrench (hex key)
• long-nose pliers (for bending the Zumo blade mounting tabs)
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 5 of 38

2.b. Assembling the Zumo Shield and chassis
Please follow these instructions carefully to assemble your Zumo Shield and chassis properly.
Through-hole parts
1. Solder the included through-hole
components to the shield:
◦ power switch
◦ reset pushbutton
◦ user pushbutton
◦ buzzer
◦ charging connector (1×2-pin
female header)
2. On the bottom of the board, trim
any leads longer than 1/16″ (the
thickness of the spacer plate) so they
do not prevent the shield from sitting
flat on the spacer plate and chassis.
Arduino headers
3. Separate the 1×40-pin
breakaway male header into the
appropriate segments for connecting
your Arduino and solder them to the
shield. These header segments
should be soldered to the sets of
holes outlined with white rectangles
on the top of the shield, with the pins
facing up.
The newest Arduino boards, including the Uno R3 and the Leonardo, use one 1×10 header, two 1×8 headers, and one
1×6 header; older Arduino boards use two 1×8 headers and two 1×6 headers (the two pairs of pins highlighted above
in red should not be populated if you are using this board with an older Arduino that does not support these additional
pins). Please make sure you solder the appropriate headers for your particular Arduino!
An easy way to line up the Arduino headers for soldering is to plug them into an Arduino, then place the shield upside-
down on top of them, as shown in the picture below. Be careful to insert the header pins into the correct set of holes
before you begin soldering. Note: if you use this alignment technique, make sure your soldering iron temperature is
not excessively hot and avoid holding the iron on a single pin for more than a few seconds as this could melt the
Arduino’s female headers.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 6 of 38

4. On the bottom of the board, trim the four Arduino header pins closest to the front of the board on each side
to prevent them from contacting the motor housings. If you think there is a chance these pins might still touch
the motor cases, you can put some electrical tape on the motors to act as insulation.
Jumpers and additional connections
5. Optional: If you want to enable the buzzer, enable the battery level input, or disable the compass, now is
a good time to add and/or cut jumper connections to configure the shield to your liking. This can also be done
later, though soldering to these pins is more difficult once the robot is assembled (especially if you decide later
you want to add header pins for use with shorting blocks; this would require a lot of disassembly). The jumpers
are explained in detail in Section 3.c. The buzzer and battery level jumpers can be connected by soldering in a
short piece of wire between the two holes, while the compass I²C connections can be broken by cutting the trace
on the top of the board between the holes. Note: there is not enough clearance to use male headers on the battery
level and compass I²C jumpers if you are using an Arduino with a DIP (through-hole) microcontroller.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 7 of 38

Instead of making a wire connection, you can solder a 1×3 male header to the buzzer jumper holes to
allow the use of a shorting block for connecting the buzzer. You can also use male headers and shorting
blocks for the battery level jumper and compass jumpers if you have an Arduino Leonardo or an
Arduino Uno with an SMD (surface mount) microcontroller. However, there is not enough clearance
to use male headers on the battery level and compass I²C jumpers if you are using an Arduino with a
DIP (through-hole) microcontroller.
6. Optional: At this point, you might consider soldering additional components (such as sensors), or headers
or wires for connecting them, to the shield. If you do this, please check to make sure your part placement
does not interfere with the shield’s ability to mate with the Arduino or the chassis. In particular, note that only
components in the outermost three rows of the front expansion area can extend below the board (the fourth front-
expansion row can only be used for pins extending above the board), and if you add any through-hole parts to
the prototyping areas on the shield, you will need to drill corresponding holes in the acrylic spacer plate for the
leads to fit into.
Motors
7. Cut two of the included jumper wires in half to form four segments, and trim off the ends that are covered
in adhesive (the adhesive could interfere with making a good electrical connection to the motor). These wire
segments will be used as motor leads.
8. Solder a pair of leads to each motor. You might find it helpful to make a small bend at the tip of each lead
to hook into the hole in the motor lead tab to hold it in place for soldering. Warning: holding the soldering iron
against the motor lead for more than a few seconds can start to damage the motor brushes, so try to be reasonably
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 8 of 38

quick/efficient with this soldering; if the first attempt does not go well, remove the soldering iron and let the
motor cool for a few seconds before trying again.
Each motor’s positive terminal is indicated by a plus sign (+) in the black plastic end of the motor, visible at the
bottom of the picture above. The motors should be soldered into the shield with the positive terminal closest to
the front, so you should attach the leads to allow the motors to be oriented this way. (However, don’t worry if you
accidentally get the orientation of one or both motors wrong. You can later compensate for it in software with our
ZumoMotors library [http://www.pololu.com/docs/0J57/6].)
9. Place the motors into the channel in the front of the chassis, aligning the gearbox with the grooves in the
channel. The front plate of the gearbox should be even with the edge of the chassis.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 9 of 38

Chassis and shield
To assemble the chassis with the Zumo Shield, you should use the two-piece acrylic spacer plate that
is included with the shield. You will not need the one-piece mounting plate that is included with the
Zumo chassis.
10. Place an M3 nut in each of the two side slots near the rear of the chassis. The slots are sized so that nuts
will not be able to rotate within them. (These nuts will be used to mount the idler sprockets later.)
11. If you want, peel the protective paper masking off both sides of the acrylic spacer plate pieces (the spacer
plates in our pictures show what they will look like with the masking peeled off). Alternatively, you can leave
the masking on for additional thickness. If you leave the masking on, it will be mostly concealed when the robot
is fully assembled.
12. Cover the chassis and motors with the spacer plate pieces and then the Zumo shield. The holes in the spacer
plate should line up with the through-holes in the shield resting on top of it. There is only one correct orientation
for these plates. (The plate consists of two separate pieces to make it possible to disassemble the Zumo without
having to desolder the motors or battery terminals.)
13. In each of the four mounting holes, insert a #2-56 machine screw through the shield, spacer plate, and
chassis, and tighten it against a nut under the chassis. You can line up the nut by feel, or you could try temporarily
taping the nuts inside the recesses in the chassis. Note that the kit includes two different sizes of #2-56 machine
screws: 1/4″and 5/16″. The two longer screws are intended for use in the front holes (near the motors) if you are
also mounting a sumo blade; otherwise, you can use the shorter 1/4″ screws for all four mounting holes.
If you are also adding a basic sumo blade, you can either mount it now or add it later after you are done soldering the
motors and battery contacts. (Note: If you intend to solder anything to the front expansion area of the shield, such as
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 10 of 38

a Zumo reflectance sensor array, you will have more room to work if you do the soldering before adding the sumo
blade.)
Note: There is a small chance the mounting tabs of the blade can cause shorts where it contacts the shield if
the PCB solder mask is not thick enough, so we recommend adding some electrical tape or other insulating
material between the blade and shield.
To install the blade, first bend its mounting tabs to the appropriate angle. Next, place them on top of the shield so that
the holes line up with the two front mounting holes and insert the two longer (5/16″) #2-56 machine screws (included
with the shield) through the blade, shield, spacer plate, and chassis. Be careful when adjusting the angle of the sumo
blade while it is mounted to the chassis, as this can crack the acrylic spacer plate if you apply sudden or excessive
force. We recommend you do not try bending the blade while it is mounted to the chassis.
14. Solder each motor lead to the shield, then trim off the excess length of wire.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 11 of 38

Battery contacts
15. Turn the chassis over and install the battery terminal contacts as shown in the picture below. Note that the
two individual contacts should be inserted into the chassis so that their solder tabs protrude through the holes in
the top of the chassis.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 12 of 38

16. Solder the two individual contacts to the shield from the top. You might want to temporarily tape the
contacts inside the chassis to hold them in place while you solder them, or you can use a battery to temporarily
hold them in place while you solder. Note that the battery might act as a heat sink, making it more difficult
to solder or requiring a higher soldering iron temperature. The battery terminal slot in the PCB should be
completely filled with solder as shown in the picture below.
Sprockets and track
17. Place an idler sprocket on each shoulder bolt, followed by a washer. The side of the sprocket with “teeth”
should face the same direction as the threaded end of the bolt, so that the teeth end up pointing in towards the
chassis.
18. Insert the shoulder bolts through the side of the chassis into the nut. Use a 3 mm hex key (Allen wrench) to
tighten the bolts until the washers are snug against the chassis. Be careful not to overtighten the shoulder bolts
as doing so can bend the washers. Note: Be careful if you use threadlocking adhesives like Loctite as these can
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 13 of 38

corrode the chassis. You should first test any such adhesives on a concealed part of the chassis to ensure they
will not damage it.
19. Press the output shafts of the motors into the drive sprockets, with the “teeth” of the sprockets facing
the motor. The end of the gearbox shaft should end up flush with the outside of the sprocket. A good way to
accomplish this is to set the wheel on a table top and press the motor shaft into the wheel until it contacts the
table.
20. At this point, you can add the silicone tracks by stretching them around the sprockets on each side of the
chassis. Your Zumo Shield and chassis are now complete; just add batteries and an Arduino to get your Zumo
robot moving!
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 14 of 38

Disassembly
If you later decide you want to solder additional parts to the Zumo Shield, it is possible to remove it from the chassis
with some careful effort.
1. Remove the tracks from the chassis and carefully pull the drive sprockets off the motors.
2. Remove the battery cover and batteries from the chassis.
3. Unscrew all four sets of machine screws and nuts holding the shield to the chassis.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 15 of 38

4. Squeeze the negative battery terminal spring and gently ease both battery terminals out through the holes in
the chassis. The motors will stay attached to the shield as it separates from the chassis.
5. Carefully bend both motors away from the shield to allow the front piece of the spacer plate to be removed.
You can reassemble the Zumo afterwards by following this procedure in reverse. (Make sure to replace the spacer
plate pieces properly.)
2.c. Adding a Zumo reflectance sensor array (optional)
Overview
The Zumo reflectance sensor array [http://www.pololu.com/catalog/product/1419] is an easy way to add line-following and
edge-detection capabilities to the Zumo robot. It is designed specifically to mount to the front expansion area of the
Zumo shield, and it includes everything you need for installation. Note that the reflectance sensor array is not included
with the Zumo shield or Zumo Robot Kit, and the Zumo robot can be used without it. For more information on the
Zumo reflectance sensor’s capabilities and how it works (including a schematic diagram), please see its product page
[http://www.pololu.com/catalog/product/1419]. This section is devoted specifically to assembling the sensor and using it with
the Zumo shield.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 16 of 38

Assembling the sensor array
The Zumo reflectance sensor array ships with all of the
components you need to connect it to a Zumo shield:
• sensor array PCB with the surface-mount parts pre-
populated
• 2×12 extended 0.1″ male header (will be soldered to
sensor PCB)
• 2×12 0.1″ female header (will be soldered to Zumo
shield)
• 1×3 0.1″ straight male header (optionally soldered to
sensor PCB)
• 1×3 0.1″ right-angle male header (optionally
soldered to sensor PCB)
• blue shorting block
Before soldering in the main male header strip, we recommend soldering one of the two included 1×3 male headers
into the set of three holes along the edge of the board. This step is optional but recommended because it allows
dynamic control of the IR emitters (and red LEDs). By controlling when these LEDs are on, you can save power and
make your programs easier to debug. If you skip this step, the IR emitters will just be on whenever the sensor array is
plugged in and the Zumo is on. We recommend using the right-angle header mounted as shown in the picture below,
but the straight 3-pin header will also work if you do not have anything already soldered to the Zumo shield’s front
expansion area that would interfere. If you choose to install this header, please make sure you are doing it in a way
that will not prevent installation of the sensor array (e.g. by installing it on the wrong side or by installing the right-
angle pins in the wrong orientation)! If you are going to install this 3-pin header, it is generally easier to do so before
soldering the larger 24-pin header.
To enable dynamic control of the IR emitters, install the 3-pin header and use the included blue shorting block to
connect the LEDON pin to the appropriate digital I/O pin. If you are using an Arduino Uno or older Arduino, you
should use the shorting block to connect LEDON to digital pin 2 (the position that puts it flush with the edge of the
board); if you are using an Arduino Leonardo, you should use the shorting block to connect LEDON to analog pin
4 (A4).
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 17 of 38

The extended 2×12 male header strip should be mounted to the sensor array PCB on the opposite side from the
components. Make sure you solder the shorter side of the pins to the PCB, not the longer side! Note that only 12 of
the 24 pins are actually used by the sensor array; these pins have silkscreen circles around them on the component
side of the board, and these are the only pins that need to be soldered, though it is fine to solder all 24 pins.
Connecting to the Zumo shield
The 2×12 female header included with the reflectance sensor array should be soldered to the front expansion area of
the Zumo shield so that it is centered in the expansion area and flush with the Zumo chassis (rows 2 and 3).
With the female header in place, the assembled sensor array can be plugged directly into the Zumo shield.
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 18 of 38

The reflectance sensor array features two visible (red) LEDs in series with the IR emitter LEDs, so
you can use the red LEDs to tell when the emitters are on and off.
Array pinout
The Zumo reflectance sensor array gets all the necessary power and I/O connections from the 12 header pins that are
circled on the silkscreen:
The default I/O connections are to pins that are otherwise unused by the Zumo shield. The shield uses one digital I/O
pin for each sensor (5, A2, A0, 11, A3, and 4), and if you add the LEDON shorting block, one additional pin (either
A4 or 2) is used. To configure the ZumoReflectanceSensorArray library [http://www.pololu.com/docs/0J57/6] to use this
default pinout, simply call init with no arguments:
reflectanceSensors.init();
If you opt to leave off the LEDON shorting block, you should use the QTR_NO_EMITTER_PIN
initialization parameter: reflectanceSensors.init(QTR_NO_EMITTER_PIN). Otherwise, the library
code will still be trying to do something with the emitter pin (A4 or 2, depending on which Arduino
you are using), and this would interfere with your being able to use that pin for alternate purposes.
When soldering the male 2×12 header to the sensor array, you only need to solder those pins that you will be using.
If you solder all 24 pins, the sensor array will be connected to additional pins from the Zumo shield’s front expansion
area, though the array does not do anything with them in its default configuration:
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 19 of 38

Disabling or remapping sensors
Many applications do not require all six reflectance sensors, and you might want additional I/O lines for other things
(e.g. obstacle detectors). In such cases, you can disable specific sensors and free up their associated I/O lines. The
array PCB has six pairs of through holes, each of which corresponds to a different sensor. The order of the pairs
matches the order of the sensors. When viewing the component side of the PCB, the right hole of each pair connects
to an Arduino I/O line and the left hole connects to sensor. There is a single trace on the component side of the PCB
between the two holes of each pair, and this trace can be cut to disable the sensor and free up the I/O line. The proper
place to cut is marked on the silkscreen by carets.
For example, if you want to use your Zumo for solving a line maze, you can likely get by with just four sensors: you
can use the middle two sensors for tracking the line and the outer two sensors for detecting intersections. To free up
the I/O lines associated with the other two sensors, you could make the following modification:
Pololu Zumo Shield for Arduino User's Guide © 2001–2013 Pololu Corporation
2. Assembly Page 20 of 38
Table of contents
Other Pololu Control Unit manuals
Popular Control Unit manuals by other brands

Victaulic
Victaulic 751 FireLock Series Installation, Maintenance, and Testing Manual

Neptune Technology
Neptune Technology EMP quick start guide

GE
GE IC3645SR4W746N5 Installation and operation manual

Innocomm
Innocomm SN10-2 series user guide

Advantech
Advantech PCM-233A Startup manual

Bardiani
Bardiani J-GIOTTO TOP Instruction, use and maintenance manual

SMC Networks
SMC Networks TigerSwitch series installation guide

Advantech
Advantech PCM-3614I Startup manual

Hach
Hach sc200 4-20 user manual

pizzato
pizzato CS ME-20 Series operating instructions

InterApp
InterApp DESPONIA Operation & installation manual

Blonder tongue
Blonder tongue HDE-8C DIN SERIES user manual