Pololu item #1201 wiring

Hey all! First off, great products offered here. I’ve never been anything but pleased with my orders.

I’m trying to get item #1201 connected to my arduino duemilanove but am so far having little luck. I’ve read through the data sheet, and looked over the product page, but will someone let me know if I at least have the wiring correct:

VMOT -> 24VDC Power Supply
GND - gnd
2B - stepper motor
2A - stepper motor
1B - stepper motor
1A - stepper motor
VDD - 5v
GND - gnd

EN - 5v
MS1 -> 100k resistor -> 5v
MS2 -> 5v
MS3 -> 5v
STEP - arduino pin0
DIR - arduino pin1

Thanks in advance!


Thanks for the praise. The reset pin is floating, so you have to do something with that (you can just connect it to the adjacent sleep pin). Also, make sure the grounds are connected between the driver and your Arduino.

- Jan

Jan, thanks for the quick feedback. I will give this a try when I get back to my shop tonight!

A follow up question: if the RST pin is “floating” would that cause the 1201 to not respond to step/dir commands?


If the pin is floating, it means it is in a potentially undefined state that could be asserting the reset, which would keep the board from responding.

I also recommend you use pins other than 0 and 1 since these are the Arduino’s hardware serial lines and they are used for both programming the board via the bootloader and the Arduino’s serial debugging.

If you continue to have problems, please give us more details about how it’s not working.

- Ben

Thanks for the quick explanation on what floating means. I looked it up on wikipedia one time but their description was a bit over my head. As for pins 0 and 1, i should have specified and said Analog 0,1. In actuality I’m using all 6 analog pins as digital outputs (3 for step, 3 for dir). I’m using Digital pins 0,1 to tx/rx with another Arduino… long story you can check it out here if you’d like: http://www.edslifedaily.com

On a general note:
Before posting my question I poured through your forum finding at least a dozen posts relating the the initial setup of the 1201 or 1202 and I give you credit for being so diligent about answering them all. To show my graditude for your product and your product support, after I get this setup correctly tonight I’m going to make a “Pololu 1201” tutorial similiar to this: http://danthompsonsblog.blogspot.com/2008/09/easydriver-v31-tutorial.html

I also have a 1202 which I might setup as well. You guys are great, keep up the stellar work!

Thank you for the kind comments. We certainly seem to be getting quite a few questions lately about getting started using this driver, so I’m sure your tutorial will be much appreciated. I definitely look forward to seeing it!

- Ben

If the slp pin is used could you connect the rst pin to ground so it doesn’t float but doesn’t cause a reset.


You need reset high to not be in the reset state. The suggestion with the sleep pin is just pointing out a convenient location to connect reset if you don’t need independent control of those pins.

- Jan

Hey all, just wanted to update this thread, and keep my promise.

Here’s the video.

Here is some code to get you started:

int dirpin = 8; //connect to DIR on 1201
int steppin = 9; //connect to STEP on 1201

void setup()
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
digitalWrite(dirpin, LOW);     // Set the direction.
void loop()
digitalWrite(steppin, LOW);  //The LOW to HIGH change is what signals the 1201 to step
digitalWrite(steppin, HIGH);
delayMicroseconds(400); //Higher Delay = slower RPM, Lower Delay= faster RPM



Thanks for sharing your video. By the way, it looks like you are misunderstanding the resistor situation on MS1. The point of the internal pull-downs is that MS2 and MS3 have default value of low, whereas the lack of pull-down on MS1 means that the pin is floating, so you have to do something with it (i.e. make it low or high). You do not need to use a resistor to make MS1 high; you can connect it straight to Vdd or ground just like the other two pins.

- Jan

Hi, Edward.

Thanks for making the video. You said you weren’t sure about the Enable pin. The Not-Enable pin is pulled low by our carrier; leaving it disconnected is the correct thing to do if you don’t want to use the chip’s disable feature. You can see the pulldown resistor by looking at the carrier’s schematic posted on the product page.


Jan and RyanTM,
Thanks for the feedback!

Someone else commented on the video over at youtube and noted that I didn’t need to be connect all the grounds because they are connected through circuitry on the chip. i.e. I dont’ need to jump the GND from the 5vDC rail to the GND on the 24vDC rail. Which makes sense I suppose.

Now that I’m a little more clear on what’s going on, I think i’ll remake the video :slight_smile: my bad.


Hi, Edward.

While you strictly don’t need to connect the grounds. Connecting it will give a better ground connection, which can decrease noise and give better performance. So if it’s not a problem to connect it, you probably should.