Retired Product

This product has been retired from our catalog and is no longer for sale. This page is made available for those looking for datasheets and the simply curious.

Creative Commons images are CC BY 2.0

Description: This motor driver board, originally designed by Dagu for their Rover 5 platform, is ideal for any small 4-wheel drive robotic vehicle. With four motor outputs, four encoder inputs and current sensing for each motor, it’s a must-have when implementing omni or mechanum wheels.

The motor drivers can be controlled by simply applying a logic 0 or 1 to the direction pin for that motor and a PWM signal to the speed pin. In this way, the speed and direction of four separate motors can be controlled independently from only 8 GPIO pins. The encoder inputs on the driver board mix each pair of encoder inputs using an XOR gate making it possible to read both inputs from a quadrature encoder using only one interrupt pin.

Reading the current sensor output is easy, each current sensor pin will output about 1V for each Amp of current drawn by the associated motor up to 5V. Connect the current sensor pin to the analog input of your controller and you’ll be able to detect stalls and other motor problems.

There are two power connectors on board. One is for 5V logic and the other is the motor supply. Be sure to turn on your logic supply before applying the power source for your motors. The board is rated for a maximum motor supply voltage of 12V.


  • 4 x Low Resistance FET “H” Bridges
  • Each Channel Rated for 4A Stall Current
  • Easy-to-Use Control Logic
  • Current Monitoring for Each Channel.
  • Quadrature Encoder Mixing Circuitry


  • 4 Channel Motor Driver Board
  • Mounting Hardware


Recommended Products

Customer Comments

  • I’m curious if this can work with the logic supply at 3.3v instead of 5v. If it does work, How does that affect the current sensing analog output?

  • Example code and hookup with an Arduino Uno, the Rover 5 Chassis, and Rover 5 Motor Driver =>

  • Guys any idea what kind of JST connector are white motor connectors?

  • Needs a complete kit SKU with platform/arduino.

  • Just curious why you didn’t make it a shield?


    • This isn’t a product SparkFun manufactures. They just carry it.

    • Although it does not plug into the Spider controller like a Shield it is the same size with the same mounting hole spacing. The spacers included with the motor driver allow the Spider controller to stack neatly above it with room for female to female jumper wires to link the PCB’s.

      As the Spider controller has 6 external interrupt pins available you can have 1 interrupt monitor each motor making it ideal for the mecanum wheels.

      Check out my Mecanum wheel puppy robot to see this motor controller in action with a Spider controller.

  • The manual for this board says not to exceed 4.5A, and I have motors that state a max. stall current of 4.9A @ 12VDC. Will that extra 0.4A really cause problems if I were to stall the motors using this board? Is there anything I can do to let me safely use my motors with this board?

    • What you can do is use a lower voltage supply. Since the stall current of a motor is a function of it’s DC Resistance you can actually figure out what voltage you should run to get them just below the 4.5A limit:

      4.5A/4.9A * 12V = ~11V. If you make sure your motor supply is under 11V then you shouldn’t be able to exceed the max stall current of the driver board (I’d recommend 9V for safety and because it’s a common voltage). This does mean you’re limiting your maximum speed by about 25% (at 9V).

  • can we use this chassis for a stand alone robotic frame? givin it has space for 4 motors and four encoders?

  • is their a reason why my msg shows up in the middle of 2 years worth of other msg’s?

    • Comments are sorted by number of stars and recency, in that order, per level. So right now your comment has 1 star, which puts it below all the 4-, 3- and 2-star comments. It’s also the most recent, which puts it above the older 1-star comments. Don’t worry, your question will still likely be seen by people who know the answer :) I’m not one of those people, though - I’m one of the people who wonders if you’re confusing this product (a driver board) with a different one (chassis), but might be inclined to point to mentioned in the 3-star comment :)

  • On the “4 Motor Driver” side of the board, is it possible to use just the PWM and GND pins to control the motors? Im using an APM/ Pixhawk autopilot board and it only has a PWM, VCC and GND output (typically used for servos and ESCs).

    • In addition to the PWM pi you also need use the DIR pin (in order to define the motor direction). So, minimal requirements for 4 motors full control are: 4 PWM, 4 DIR, board VCC, GND and motor power supply.

  • Hey! Has anyone tried connecting it to IOIO board?

  • What are this board’s sizes??

  • How much maximum voltage it can handle

  • Could I connect this to an arduino and program with arduino enviroment

  • Hi,

    Early Last year I made a library for this controller. I just saw that SFE has it now and decided to post it. I posted it on Github so at least its a starting point. I am sure it can be improved but all the basic functions are there including encoders.

    For info on the encoders it uses the teensy library inside of this library.

    Check out and let me know what you think.

    • This looks great! Would you mind if we forked your library over to our own GitHub account? If so, please let me know what user name you’d want us to use in your attribution or if there’s any other info you’d like us to include.

      • Or if you want just username put friedcircuits which is my Github username.

      • Sounds good! You can just put William from I am interested to how it improves ;). I am just getting back into the Rover5 and working on getting the BeagleBone with Arduino for the low level stuff working. I think I will be going the ROS route. Should be posting soon on

        Thanks Toni!

        • Awesome! Thanks so much! I did get it forked and we should have a link on the product page soon. I can send you a little thank you gift if you message me your address to toni@sparkfun.

  • is there a way to get this to work with the arduino uno ? any answers would help

  • is the motor output voltage regulated or is it the same voltage as the motor supply voltage? The rated 7.2 V motor has a range of 5 to 7.5 V, according to the specs. So if I use 2S LiPoly, do I need to put in a voltage regulator that keeps the voltage within the spec.

  • Just putting this here in case it might help anyone else:

    I was curious about this statement in the manual that is given with no explanation:

    “The motor power supply should not be connected without first connecting the +5V for logic.”

    I looked around and found a concise explanation from an embedded systems book:

    “Typically, the logic that controls motor H-bridge or analog amplifier operates from 5V or 3.3V. The motor power supply may be 12V, 24V, or even 50V. If the motor power supply comes up first, the inputs to the H-bridge or amplifier may be in an invalid state and the motor may jerk momentarily. In a system with a limited range of motion, such as a robotic arm, the motor may slam up against whatever limits the travel. This can be hard on the mechanical components and gears connected to the motor shaft.”

    Personally, I don’t foresee any problems with the jerking so now I know I don’t have to worry about this :)

  • Has anyone managed to get this working (and the rover 5 platform) working with a Raspberry Pi? Is it too difficult?

    • Curious as well. I saw the Raspi controller Spark has, but it can only do 2 motors :(

      • +1 I am also trying to figure out how to use this with r-pi. I think we’ll need a multi channel PWM first, as PI has only one PWM channel available. Planning to get something like this I also wanted to know if this board can use 3.3V logic, so I don’t have to buy a level shifter. The doc for this board is not very useful, please let me know if anyone finds any more info on this board or an example for interfacing this with pi.

        • Did anyone get this Rover 5 board working with an RPi? There is a young person I am mentoring who already has a Pi and Gertboard and a Rover 5 robot, and I am trying to determine a path forward for him to interface from the Pi to the Rover 5.

  • I put 11V into the logic supply, released a bit of the magic smoke, any idea which component (or some tips on finding out) might have blown? Wasn’t my brightest moment but the labeling is kinda crappy.

  • Is there a minimum motor supply voltage?

  • What should the frequency of the PWM signal be? What voltage? I didn’t see ether of these things mentioned in the documentation.

  • Does this mount to the top of the Rover 5?

    • Sort of. Looks like the board doesn’t take full advantage of the mounting struts in the Rover 5. Check out a picture of this board (and an arduino board) mounted to a Rover 5 in this forum thread:

  • What are the exact dimensions for the spacing and size of the mounting holes?

  • Can this be controlled by an Arduino UNO?

  • really important. can you use 2 channels in parallel to get more current?

  • Does this board come with back EMF protection?

Customer Reviews

5 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

Great Driver Board

I was able to use this product along with the Rover 5 Chassis, among other things, to build this cool step climbing Robot