Let's Make Robots!

Rover 5 - Dagu Spider and 4 Channel Motor Controller

Ok so i recently purchased the Rover 5 Kit from Robotsavvy by Dagu.

With Help from Oddbot i have put wires from the encoder into the Motor Controller (in the right place i think)

But i have no idea which pins go to the arduino and also where on the arduino they go to.


Image of what ive done and the question :


Any help would be appreciated.




(P.S. I hope this is in the right area)

Comment viewing options

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

dagu boardsHi,

This is my first post, so forgive me if I break protocol.  I bought a rover 5 and then bought a dagu 4 channel controller from a british outfit (robosavvy) and was able to create my first robot.  Super cool!

Alas, a couple of weeks later I fired up the robot but a screw had come loose, fallen onto the controller and I created an acrid puff of smoke and uncreated my first robot.  Not so cool.  Bummed by the long wait for a controller sent over the pond, I sought and found a new supplier of the dagu board I'd destroyed: robotshop.  They sent me a board tout de suit, but I was surprised to see that it didn't behave like the first board I had (before I fried it, of course).  Specifically, while I could run each wheel independently, in either direction, I could no longer run arbitrary combinations of wheels.  Worst of all, I couldn't run all wheels forward!

Assuming that I just got a bum board, I bought another.  It behaves exactly the same. 

Here's a picture of both boards, with the first one on the left.  They look similar, but clearly there's some additional circuitry by the four motor connectors (the white connectors) on the 'newer' board.

Any suggestions or ideas?  Thanks in advance for any help,




I did a mock up of how my circuit looks for the sake of it.


Let me know if anything is fatally wrong please. It seems to be working though.


I realise this post was some time ago but I'm new to this forum and everything robotics.

I've got the same boards as these with the Rover 5.

A few things... is the GND (black cable) from Motor Controller connected to A0 on the Spider? Also, does it matter which pins on Spider (D1 - D13) I connect to? Lastly, can I connect 9V to the Motor Controller (6 x 1.5 Alkaline batteries)?


No, ground is not connected to an ADC pin. Ground should go to ground on both boards.

It does matter what pins are used as some will need to be PWM pins.

You should check the voltage requirements of your motors, and check the datasheet (instructions) for your board before connecting anything.

Every ground should be connected to every ground.

It looks like a big mess of wires but i have all 4 Wheels spinning :D

Thanks alot for your help :)

wahey i have movement.

I had my power in the wrong places. Ive now forwarded power from my Spider to the Motor controllers Logic and then added the Battery Pack to the Motor supply (if that makes any sense) lol.

So thats 1 wheel/4 moving :D

Is A0 a PWM output? --Be sure it is.

In your main loop, you have dirpin HIGH and the PWM pin maxed out to 255. This is HIGH/HIGH and will not allow your motor to run. I would try a PWM speed of 127 to test.

More about PWM --This one might be a bit funny in your head. Lets assume you have a 75% duty cycle --High for 3/4 of the time and low for 1/4 of the time. Lets also assume your direction pin is low. This will result in 75% speed in that you will have a high/low (on) situation 75% of the time and low/low (off) 25% of the time. Now, lets change that direction pin to high instead to change direction. With this same 75% duty cycle, you will now have a high/high (off) 75% of the time and a low/high situation 25% of the time --this will result in 25% power the other direction. It seems counter-intuitive but to get your 75% power the "other direction" you actually need a 25% duty cycle.

Play around a bit and it should become clear.

Dig it.

Forget about the current pin for now --For testing, KISS is better. Less wires and fewer connections are good things. Connect then if you would like, they will neither help nor harm and will do nothing until the Arduino is coded to read them.

From there, you basically got 2 pins (connections) per motor. In the most simple set-up, if one is high and the other low, the motor will rotate (full speed) one direction. Reverse the high/low and the motor will reverse direction. This same system exists when one of those pins is connected to a PWM output on the Arduino. [do some searches for PWM] The idea is that the PWM output on the arduino is flicked on-and-off, wicked fast (thousands of times a second) and the percentage of time that the "pulses" are either on or off, controls the speed. Lets say it is at a %50 duty cycle --The PWM pin will be high 1/2 the time and low 1/2 the time thus, 1/2 speed. This would also be around 1/2 brightness if one were dimming a LED via the same method.

In the end, you will have one pin per motor going to a PWM output and one pin per motor going to a digital pin. The PWM controls the speed and the digital pin will toggle your FWD/REV.

That's about it.


ok so looking at http://www.arduino.cc/en/Tutorial/PWM

to control the speed i write analogwrite(Pin, 0-255)

and to control the Direction i write digitalWrite(Pin, HIGH or LOW)

so i wrote a quick bit of sample code but its not working:

int DirPin = 11;

int PWMPin = A0;

void setup() {

  pinMode(DirPin, OUTPUT);

  pinMode(PWMPin, OUTPUT);  


void loop() { 

 digitalWrite(DirPin, HIGH);

  analogWrite(PWMPin, 255);