Let's Make Robots!

Questions about arduino, rover 5, shields

I'm an absolute beginner to making robots.

I'm looking to make a robot using the Rover 5 (4 motor with 4 encoders), and an arduino as the brains.

Based on what I've read, to drive all 4 motors as well as read all the encoders, the arduino UNO doesn't have enough pins, so an Arduino MEGA or Red Back Spider is needed.   as well as the Dagu 4 Channel 5-12V, 2A Brushed DC Motor Controller, or something similar which provides enough power to the motors, and communicates with the arduino (or spider).

First question is, is the above correct?

My second question is if I'm using the above set up, do I need another shield to hook in a Sharp IR sensor or a display to read out the data, such as
The Robot Builder's shield for arduino :

I don't yet understand the purpose of a shield in this instance; why can't an IR sensor be hooked up directly to the arduino (or spider) ?

Many thanks,



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Hi Matthew,

That's an excellent summary from bajdi with lots of good advice.

I have a Spider/4ch controller/Rover 4 4WD as well. I've just ordered a couple of XBees and AdaFruit XBee adapters. Since I haven't used them yet, my comments are purely theoretical at this stage but I've done hours of research.

There are a few adapters which are not shields available for interfacing the XBee to a microcontroller (or a PC via USB or RS-232). They usually have header pins so you can just wire them to the arduino. The better adapters provide a 3.3V supply for the XBee and implement level shifting for the logic. At least one of them says that it does level shifting but you'll find plenty who disagree with that claim.

As your robot and sketches become more complex, you'll appreciate the fact that the ATmega1280 in the Spider (or an Arduino with a 2560) has more of everything than a Uno - digital and analog pins, serial ports and timers.

Yes you cannot plug an Arduino ethernet shield of Xbee shield on the spider. I don't like shields as I built my pcb's with ATmegas (with Arduino bootloader). You can buy standalone boards with the same ethernet chip as the ethernet shield. I'm not familiar with Xbee's (much to expensive, I use nRF24L01 modules, only cost 2$) but you can probably hook them up to the spider using a couple of resistors or so. I think they are 3.3V so you'll need to level shift the serial. Something else you should know is that the spider does not have a 3.3V regulator, 5V only.

Thanks for clearing that up

One additional question,  you said that arduino shields cannot be plugged onto a Spider, so does this prohibits me from using, say, an arduino Xbee shield or wifi shield?   is there anyway to use Xbee or wifi when using the spider?




One of the reasons the Spider does not conform to the standard shield layout is because the standard shield layout has the pins arranged so you cannot make your own shields from prototype board. The Spiders pins are arranged so you can easily make your own sheilds.

If you want to connect an Xbee then use a board like the SparkFun Xbee explorer (regulated). This board gives you the 3.3V regulator and translation for DIN and DOUT. Either make your own sheild with it and some prototype board or simply connect it to the Spider with jumper wires. You could do something similar with WiFi.

Sharp IR sensors can be connected directly to the Spider, each analog input has 5V and GND available to power 5V sensors. Please note that the 3 pin headers are arranged for servos where the middle pin is +V. Many sensors such as the Sharp IR rangefinders have ground as their middle pin so you will need to swap the power wires in your sensor cable.

The Spider controller has the same footprint as the 4 channel motor driver so they can be easily stacked using spacers with jumper wires connecting them. They were designed this way to suit the Rover 5.


Hi welcome to LMR :) I also have Rover 5 with 4 motors/encoders. I use the Dagu red back spider and 4 channel motor controller on mine.

Some things you should now:

Shields will only fit on real Arduinos and its clones. The red back spider is not shield compatible, you can not plug an Arduino shield on it.  Take a good look at the photos of the spider controller. It's about twice the size of an Arduino Uno. The reason is that it has the big Mega1280 mcu and next to every I/O and analog pin their is a 5V and GND pin. This makes it very handy to connect sensors to the spider controller. You don't need a shield to plug sensors on the spider or an Arduino. Another advantage of the spider controller is that it has a powerful 3A 5V regulator. An Arduino Uno has a small 1A regulator. You can not power servos from the 5V pin of an Uno. The regulator is not powerful enough, well maybe 1 small servo. The spider has no problem powering a bunch of small servos of its regulator. Very handy if you want to use a servo to sweep a sensor.

If you decide to go for the spider controller and 4 channel motor controller please read the manuals. Lots of people have blown up their motor controller because they don't understand how to connect it. (if you disconnect the 5V logic of the motor controller while the motors are powered you will fry the fets on the motor controller). There is lots of information about this setup on LMR. Please use the search function, you will find lots of useful information. And take a look on my website to see photos and some code of my Rover 5 :) http://www.bajdi.com