Zumo shield comments

Got my Zumo chassis + shield kit and did the assembly on Friday night. I have a couple comments that might help others considering this kit, or who bought and haven’t assembled yet…

  1. This thing is a PITA to assemble! Trying to get the motors to stay in place, hold the plastic cover plate, hold the shield in place (while lining up the motor leads through the shield) and the front blade in place, and THEN work the screws through was “fun”…

  2. If you are using an Uno with the DIP-style chip, DO NOT INSTALL the jumper headers in the middle of the zumo shield that control the battery voltage monitoring or the compass/accelerometer!!! You won’t have enough clearance once you do to plug in your Uno… I don’t know if the Leo has the same problem or not… (and of course, I noticed that AFTER I had assembled and soldered everything, so I can’t really fix it now… due to #3 below…)

  3. I really wish there was a better way to wire the motors + battery connectors so you didn’t have to solder them into the zumo shield. Right now if you need to disassemble (to replace motors for instance) you have to desolder off the shield. Not the most elegant solution IMO.

  4. what is the point in making the cover plate be in 2 pieces??? That made assembly just that much more of a hassle… Also would have been nice if it was clearer which way you needed to install it (it’s keyed based on the position of items on the zumo shield…)

Otherwise, it seems like a nice little setup. I haven’t wired in my line sensors yet. I also need to get a prototyping shield and a Leo board, and then start figuring out what I’m going to do for a sensor setup. As it stands, this thing is SHORT. So short, in fact, that my existing mini-sumo (also based on the Zumo chassis) won’t even see this thing because it’s so low! I suspect most mini sumo bots would have a similar problem…

I assembled mine, last Saturday. Ran into some of the same issues. I wound up ordering an SMD Arduino Uno off Sparkfun because I want the option to disable the compass, if I can’t get any useful data out of it.
Also of note is that the kit doesn’t come with enough jumpers for all 4 optionally jumpered devices. If you use more than two, you’ll need some jumpers from another source. I have been trying to figure out a way to make the motor connections removable and I have a couple ideas on this, but I’m waiting on my SMD arduino to come in, first. I want to test everything in the stock configuration, before I start modding.

And just as a follow up - For those interested, Adafruit carries the Leonardo board both with and without headers pre-installed.

I personally just ordered one of the “without headers”. I’m going to install my own set of headers such that I can stack shields to the bottom side of the Leo. This will allow the following arrangement (top -->bottom):

Enemy detecting sensors
Prototyping Shield
Leonardo Board
Zumo Shield
Zumo Chassis

Thanks for the info on Zumo, guys. I am about to order one too.

I don’t know if any standoffs come with the kit, but it might help the
clearance problems if you use 1/2" standoffs between the shield and
the UNO board. The boards alone can get pushed down too far into
the headers.

Also, as the Zumo shield uses the 3V3 voltage supplied by the Arduino
board, best to check on loading issues and the 3.3V v.reg supply current
before choosing the board to use. Also, some boards like Duemilanove
have no 3.3V v.reg on board, and get that power from the USB chip.


Thanks for your feedback. Makopack, I’m sorry to hear you found the assembly process difficult. Is there anything specific in the assembly instructions you think could be improved? Did you see the warning about using headers for the jumpers under step 5 of the instructions?

In response to your 3rd and 4th comments, the shield, chassis, and spacer plate were designed so that you actually can remove the shield from the chassis without desoldering anything (although it is a somewhat tricky process). This is explained in the “Disassembly” section at the end of the assembly instruction page. The spacer plate is in two pieces so that it can be removed from the shield more easily.

theDoktorJ, we originally did not intend for shorting blocks to be used for all of the jumpers, since we don’t expect the jumper settings to be changed regularly, and (as Makopack discovered) some of them don’t fit if you are using a DIP Arduino. However, given that you can use up to 4 shorting blocks with an SMD Arduino, we will consider including additional shorting blocks and headers with the Zumo shield in the future.

Finally, to danm3030: I don’t expect standoffs to be useful; the Arduino should mate to the shield as far as the headers allow. The 3.3V voltage is only used to power the compass, which should not draw any more than a few milliamps.

- Kevin

In follow-up, I’ll just say I’ve stacked many Arduino shields, and you don’t
really get a physically stable stack unless you use 1/2" long standoffs, with
long screws down the center, to separate the various boards. Otherwise,
those shields will wobble all over the place.

In any case, tomorrow I order a Zumo, so I’ll get to see for myself what
works best. I do plan to have at least 2 or 3 other boards stacked on
besides the Zumo shield and base Arduino.

It was more a case of trying to hold everything in place and lined up while trying to get the bolt down through the holes… chassis, top plate, shield, blade + hold the nut in place, all lined up was a bit tricky… It was almost a 3 hand job.

It might have been a bit easier if there were some spots where you put a bolt through only the chassis box + top plate, and then added the shield with different bolts in different locations, and finally the 2 fronts to add the blade.

Also there were 2 slightly different length bolts and I had to switch back and forth before I figured out which one belonged in the front holes, which in the back…

And crap, now I see what you’re saying about the 2 pieces for the cover plate… Having assembled one of the zumo chassis before for another project, I hot glued the + and - terminal in place. That would explain why I didn’t think it was removable!

@danm: Weird, my shields always stay nice and tight when I stack them… I often have to pry them apart…

You’re talking about jamming them down as far as they will go, but
unfortunately many boards [UNO, Duemilanove] have metal connector
casings that will short on the leads of the boards above, and other
boards have tall ethernet connectors, on and on.

You had almost the exact same thoughts as I did! Here’s what I came up with.

A little temporary scotch tape makes it much easier. An alligator clip is another useful temporary fixture for assembling things (and when soldering.)

I remember reading this in the instructions. Looking at the assembled thing, there seems to be space for those jumpers over where the “zumo shield” text is, so perhaps they could be moved in a future version…

Me too! Thus, I made one up! I took some female jumper wire, and snipped off one end, stripped it, and soldered to the motors. Then I ran it up through the slots in the acrylic cover, out around the back of the shield, and soldered 90-degree-angle pin headers to the motor power holes. I bent them up to about 10 degrees off of the shield, and plugged in the motors. Works great!

Same thing for battery: the leads come out the back, go around the shield, and hook up with a Deans connector to a Deans with wires that are soldered into the slots intended for the battery springs. I don’t use the standard battery connectors at all.

I was wondering that, too. My guess is that there are stresses when the chassis flexes, and using a single piece would crack. Acrylic isn’t particularly durable. I wish polycarbonate would work on the laser cutter – a much better material!

Some may consider this a competetive advantage…

I got 4 bolts of the same length for the chassis. Then I got 2 bolts for the blade that are slightly longer, to replace the front chassis bolts when mounting the blade. Was your setup different?

The reason the plate consists of two separate pieces is that it makes disassembly without desoldering possible. I have updated the user’s guide to explain this better and to make it more clear why there are different-length screws included and when each is appropriate. Thanks for the feedback, guys.

- Ben

You’re talking about jamming them down as far as they will go, but
unfortunately many boards [UNO, Duemilanove] have metal connector
casings that will short on the leads of the boards above, and other
boards have tall ethernet connectors, on and on.[/quote]

Nothing a little piece of electrical tape over the offending ports/etc won’t fix :slight_smile:

Maybe “4” layers of tape, as the ends of those soldered leads tend to be
sharp. FWIW, I never could figure out why the original Arduino guys went
with the tall USB metal connectors, instead of the short ones.

I’m sure the UNO stacked on the Zumo shield will be stable, as the pix
show the metal case pushed right down to butt on the shield pcb.

Ordered the Zumo today, so you guys are providing good assembly info
on these threads.

Maybe “4” layers of tape, as the ends of those soldered leads tend to be
sharp. FWIW, I never could figure out why the original Arduino guys went
with the tall USB metal connectors, instead of the short ones.

I’m sure the UNO stacked on the Zumo shield will be stable, as the pix
show the metal case pushed right down to butt on the shield pcb.

Ordered the Zumo today, so you guys are providing good assembly info
on these threads.[/quote]

Agreed. I actually ran into that problem using the Sparkfun prototyping shield on a Mega2560. I couldn’t figure out why the heck none of my sensors were working right, but as soon as I took off the shield everything worked. THen I had the “Oh duh!” moment, threw a piece of electrical tape on the USB header on the Mega and voila!

But yeah, I don’t know why the heck they went with + kept the USB-A connector on them. Thankfully they dropped down to mini-USB on the newer models. I suspect they didn’t anticipate shields hanging over the USB jack and coming into contact. I’m sure cost also factored in as those connectors probably were a bit more expensive at the time of the initial design. We look at it and think “Well it’s only $0.50 different”, but when you’re coming up with the money to get 100,000 boards built for sale, needing an extra $50K additional makes a BIG difference!

I’m already starting to talk with a couple of the other folks in AHRC (botlanta.org) about coming up with a good multi-direction/multi sensor shield to add to this for doing enemy detection. We probably will be something that plugs in via the analog inputs (either IR or ultrasonic sensors), which will limit to using digital line sensors for ring edge detection.

That’s a question I have: How many pins are really available for line sensors? I have a QTR-8RC split in two, and was going to mount the 6-way part bottom-front. But I’m not sure I have 6 input pins actually available…

I have some I2C GPIO chips from Maxim, but the I2C bus won’t allow me to poll fast enough to get a good reading. (Maybe I can poll fast enough to get “a” reading, though?)

Maybe the solution is my trusty go-to: When in doubt, add another AVR! An ATTiny84a responding to SPI can be the swiss army knife of peripherals :slight_smile:

It seems to depend upon whether you’re using an older board like Uno/Dem vs one of the newer Leonardos…

If you use a Leonardo, and don’t use the I2C/compass/accelerometer, don’t use the analog voltage monitoring, don’t use the buzzer, then according to https://www.pololu.com/docs/0J57/5 you should have:

Digital 0-6, 11 - 8 total ( 4 up front)
Analog 0-6 - 6 total ( all 6 up front)

If you’re using this for Sumo, you can use as few as 2 QTR’s for ring edge detection.

If you’re using it for line following/line maze, then you’ll probably want at least 4.

If you care about how far away objects are, then you’ll probably want to use the analog pins for your target/obstacle sensors and use the digital QTRs for line. If you just care about the relative position of targets/obstacles and not the distance to them, then go with the analog QTR line sensors and use the digital pins for digital sensors (or use something to convert analog sensors into a digital “detected/non-detected” signal.)

This section of the user’s guide talks about the pins available through the front expansion area:


Digital pins 2, 4, 5, and 11 are available, as are analog pins A0 through A5.

However, there are some additional considerations:

  • A1 is used for monitoring the battery voltage if you install the battery level jumper.
  • The Leonardo uses pins 2 and 3 for I2C and the Uno uses pins A4 and A5 for I2C, so if you make use of the integrated accelerometer/compass or some other I2C device, you should plan accordingly based on the Arduino you are using. Note that you might be able to make clever dual-use of the I2C SDA line since I2C slave devices should ignore activity on this line while the SCL line is inactive (I think).
  • Depending on the Arduino model, digital pin 3 or 6 is used to control the buzzer if you install the buzzer jumper. If you are using an Uno, pin 6 will be available for general-purpose I/O. If you are using a Leonardo, pin 3 will be available if you are not using I2C.

- Ben

One idea I have is to mount a proto shield between the Zumo shield
and UNO board, and mount a pile of sensors on it. The sensors would
be somewhat protected from getting torn off, and I could have
different proto boards with different sets of sensors.

OTOH, my major interest is in using Zumo as a robot dev platform, so
I am thinking more about mounting the UNO as normal [upside down],
and then mounting several other bds right side up above the UNO.
Make some sort of physical quick-disconnect. With this scheme, you
need only have 4 wires going between top and bottom - power, gnd,
Rx, Tx.


I am very interested to hear how those build approaches work out (and I’d love to see pictures). Please keep us informed of your progress!

- Ben

I should be receiving the Zumo in the next day or two.

Just to provide a little more info, I’ve been using an old Budget Robotics
ServoTank for a robotics software development platform, with a standard
Arduino board, but ran out of program+RAM space. I’ve been developing a
largish robotics app based around the TLA [3-layer architecture] idea from
the 1990s, developed by Firby and Bonasso, if you care to do some probing.
They have oodles of papers online.

TLA is basically a multi-layer extension of the subsumption architecture,
which allows you to add many more levels of intelligence. Just keep stacking
them in a hierarchical fashion. I recently bought a Digilent uC32 Chipkit
Arduino form-factor board for more power and program space, and mounted
it on the ServoTank, but I think the Zumo will make a 10X better platform,
:~). Also, something I can easily take along on long trips, for play.