Let's Make Robots!

Pololu Micro Dual Serial Motor Controller (No Manual)

Vendor's Description: 

This tiny module can control two motors, 1 A peak each, and you can daisy-chain multiple units to control up to 62 motors with a single serial line. You can also order this controller including a color, printed manual, which is available as a PDF (292k pdf).

Comment viewing options

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

Thanks Dan!

I had not seen your email prior to posting.  I still can't figure out what is going on with it.  I'm sure everything is connected properly.  I did read the PDF and just wanted to verify I was correct.

I'm still getting no voltage out of SMC pins 6/7 or 8/9.  Maybe my 9v motor power fried it?  I'll keep working on it.

I had a period of trouble at first too, where I couldn't get it to respond at all and thought it might be bad. Fortunately, I had bought two, and I couldn't get either to work, so I was pretty sure they weren't BOTH bad. I don't think 9V power would be too much for it. Have you measured the voltages across the other pins, to be sure the controller is seeing the voltages it's supposed to? Here is a posting I made on the Pololu messageboard asking for help when I couldn't get mine to respond. In that post, I list the voltages I was seeing on each of the pins, and I specify exactly what was connected where. The connections I list there ended up being correct, so look over them to be sure yours is connected the same way.



It turns out I'm an idiot...

I added a tri-color LED to the breadboard and had it turn red when accelerating, green when decelerating, blue when accelerating backward, and yellow when decelerating backward.  I looked through the SoftwareSerial.h and SoftwareSerial.cpp code and was able to write hard coded speed and direction to each motor.  You had mentioned you had 2 of these SMCs, but it did not occur to me to redefine LEFT_MOTOR and RIGHT_MOTOR as 0 and 1 in your code.  As I went over the code line by line for the 379th time, I caught it.  Everything is working fine now.

I've learned a lot already.

Thank you for your help!!

Ah, glad you got it to work :) Just to clarify, it sounds like you think that I defined my motor numbers as 2 and 3 because this was my second controller or something.

As it says in the PDF, motor numbers 2 and 3 are the default motor numbers that the board comes configured to respond to. The idea being that you can connect multiple controllers on the same I/O pin, and assign them all different motor numbers, and that way only the controller you want will respond to your message. But the PDF says that additionally, the board will always respond to motor numbers 0 and 1, no matter which numbers it has been configured with. So 0 and 1 are good motor numbers to try for troubleshooting, because even if you've changed your configuration and don't remember what motors numbers it's configured with, you can still talk to it with 0 and 1. But once I got it working, I went back to using the specific motor numbersthat were configured on this board (2 and 3), so that if I ever add a second controller on the same I/O pin somewhere down the line, I won't be confused when both motor controllers respond to my commands :)

Glad you got it working finally. Now the fun can begin :) I think it'd be useful for them to add SOME sort of feedback on the chip, like at least a small LED or something to let you know it's alive.


After sending a change config command, the controller will pulse pin 8 for one motor mode and pin 9 for 2 motor mode <motornumber +1> times.  But an LED on the board would be sooooo much easier.
I bought one of these from Polou.  I have not hooked it up yet, but they had amazingly fast shipping.