EasyDriver Stepper Motor Driver

The EasyDriver is a simple to use stepper motor driver, compatible with anything that can output a digital 0 to 5V pulse (or 0 to 3.3V pulse if you solder SJ2 closed on the EasyDriver). EasyDriver requires a 7V to 20V supply to power the motor and can power any voltage of stepper motor. The EasyDriver has an on board voltage regulator for the digital interface that can be set to 5V or 3.3V. Connect a 4-wire stepper motor and a microcontroller and you've got precision motor control! EasyDriver drives bi-polar motors, and motors wired as bi-polar. I.e. 4,6, or 8 wire stepper motors. On this version (v4.4) we fixed the silk error on the min/max adjustment.

This is the newest version of EasyDriver V4 co-designed with Brian Schmalz. It provides much more flexibility and control over your stepper motor, when compared to older versions. The microstep select (MS1 and MS2) pins of the A3967 are broken out allowing adjustments to the microstepping resolution. The sleep and enable pins are also broken out for further control.

Note: Do not connect or disconnect a motor while the driver is energized. This will cause permanent damage to the A3967 IC.

**Note: **This product is a collaboration with Brian Schmalz. A portion of each sales goes back to them for product support and continued development.

**Replaces: **ROB-09402

  • A3967 microstepping driver
  • MS1 and MS2 pins broken out to change microstepping resolution to full, half, quarter and eighth steps (defaults to eighth)
  • Compatible with 4, 6, and 8 wire stepper motors of any voltage
  • Adjustable current control from 150mA/phase to 750mA/phase
  • Power supply range from 7V to 20V. The higher the voltage, the higher the torque at high speeds

EasyDriver Stepper Motor Driver Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #392372 / about 11 years ago / 2

    Everything works fine if I never ground the GND of the DIR/STEP/GND set. Anyone knows why and whether that might cause any damage?

  • catunda / about 12 years ago / 2

    Hi all, I'm using the ED with a 556 to generate two pulse trains (ck1 and ck2), instead of a microcontroller. Ck1 is variable through a potentiometer and is connected to STEP to vary speed. Ck2 has a much less frequency (around 0.1 Hz) and is used to alternate direction. The DIR input is pulled-up to 5V through a10K resistor and connected to ck2 through a switch, so I can choose (from the switch) to operate in only one direction or alternating directions (this project is simply to control the speed and direction of a stirrer so I don’t need a uC). The problem is that the DIR input, initially high impedance, after some time seems to get shortened and drives a high current from the 556 output, which gets hot. Also the “shortening” invalidates the purpose of the 10k resistor, since it does not drive enough current to sustain the desired direction (the 556 and ED are still working, though I don’t know until when). I bought two ED and this issue has happened with both of them. Has someone experienced any problems with high current in the DIR input? I’d appreciate any help on this.

    • Member #389505 / about 11 years ago / 1

      Hi, I think I just had the same problem. I'm setting up a 555 astable to power the Step-per. Project is to lift a floor sweep about 50mm while it travels back to its home position. Stepper motor is 39BYGL215A. Powering off a 12v, 1A supply. Still breadboarding to test the circuits and strength of the motor, but I've just let the magic smoke out of the 555 timer. Is there any simple diagrams or circuit examples about how some of these inputs can be driven. Also noticing the bottom corner components of the Easydriver(where it says 3/5v) are getting very hot. Concerned about the suitability of this board for anything other than playing with...

  • Member #210060 / about 13 years ago / 2

    Both of my Version 4.4 boards arrived this week. I'm getting 1.6 volts on MAX (full counter-clockwise) pot setting, and 6+ for minimum. I thought this was fixed with 4.4. Both boards have same behavior.

    • sixty3impala / about 13 years ago / 1

      The real question is what is the current doing? I suspect you'll measure higher currents when turned toward 'MAX'.

      • mmgood / about 13 years ago / 2

        Your suspicion turns out to not match experiment. I measured the current on a 4.4 board and the silkscreen is incorrect. I can't speak to what the other revs of the board were like but I can confirm that on my 4.4 rev board the chip gets too hot to touch when the pot is set to "MIN" (CW) and loafs comfortably with about 150 mA per winding when set to "MAX" (CCW, the intuitive "left==less" position).
        Seems that the claim "On this version (v4.4) we fixed the silk error on the min/max adjustment" is not quite true...

        • Member #537727 / about 10 years ago / 1

          For future users, there is a report that SparkFun has changed the pot used so the silk screen is again wrong (backwards) for it, after correcting the initial mis-print.

  • Member #4918 / about 13 years ago / 2

    I recently ordered a version 4.3 of this board the silk screen actually appears correct by monitoring TP1 and watching the input current. I'm confused because the label should be backwards right? On mine CCW is min, just like the label on mine (ver 4.3) says. I'm not really worried about it just curious.

  • dwest / about 10 years ago / 1

    arduino tutorial example... in Portuguese... um.... gee, thanks. not only do i have to learn C, C#, C++, Python, and whatever else, but now i have to learn the Portuguese language?!? fuck that noise!

  • dwest / about 10 years ago / 1

    hopefully my question doesn't sound stupid, but in the schematic A and B are indicated as negative A, positive A, negative B, and positive B. however......... on the stepper driver there is no indication as to what part of A or B is negative or positive. before i connect this (and potentially fry it) i want to know if polarity is an issue. i've scrolled thru the comments here and gone to the wantmotor(dot)com website trying to find my own answers before posting this (hopefully not too stupid sounding) question. again, in summary, is there an A+, A-, B+, B- difference to the four motor outputs on the easydriver 4.4?? thank you for not reviling me if this is a stupid question.

    • M-Short / about 10 years ago / 2

      The stepper doesn't care which end of the coil is - and which is +. The markings are partly so you don't have 2 non-identical pins with the same label and partly because one is + and one is -. But, no, the stepper motor doesn't care.

      • dwest / about 10 years ago / 1

        thank you :-) i figured that was the case based on the schematics and other stuff, but since it wasn't made 100% perfectly clear i didn't want to go on assumption. i've fried way too many things based on just assumptions.

  • What does the adjustable current control knob stand for? Does it limit the maximum current?

    • Member #537727 / about 10 years ago / 1

      Yes, it uses the current limiter on the motor driver to chop the current, limiting the amount of current the stepper can draw.

  • Member #592234 / about 10 years ago / 1

    I've read in a youtube that this driver is insufficient for a Nema 23, is this true?

  • Member #567460 / about 10 years ago / 1

    Am i able to use this with a raspberry pi?

    • Member #537727 / about 10 years ago / 1

      It just needs to use either 3.3 or 5V for control input, the Pi uses 3.3V, so you have to do a very simple modification to the board, should be on the website for it (http://www.schmalzhaus.com/EasyDriver/), other than that, it will work fine.

  • Member #340933 / about 10 years ago / 1

    Question: Could I extend the drive current by feeding the output through a Mosfet to increase the drive current to whatever I need? If it is possible, would anyone suggest which Mosfet would be best for this job?

    • Member #537727 / about 10 years ago / 1

      I would NOT suggest this. if you are looking to drive more current, use a H-Bridge. Using this to drive a MOSFET may very easily fry the board. Neither a MOSFET nor an H-Bridge will provide the current and thermal protection that this board does, and will not do the micro stepping.

  • Member #566079 / about 10 years ago / 1

    I am having terrible problems with high currents and Easydriver and already fried two of them (with sparks and smoke coming out of the main IC and the chip getting a huge bump from the "explosion"). both are related to excessive current requirements but I thought EasyDriver limited the max current to 750mA irrespective of motor demands or PSU supply. Does it need any current restrictor and why (since other drivers do not need this)? If it does, any suggestion would be appreciated.

    In both cases, I used 24V 1.6A PSU and motor was either 5 or 24V with around 1.2 amp per winding. They both worked fine without a load but, under a load (as it drew more current - I assume) the Easydriver blew up.

    • Member #537727 / about 10 years ago / 1

      First, it sounds like you need to match your stepper voltage to your supply, I.e. 12v stepper needs 12v supply. The driver does nothing but pass that through a current chopper and then to the stepper. To answer your question, the driver allows 750mA per winding, so if you set it on max (or min if you have the backwards screen printing), you can hope it will chop the current well enough to limit it, but I wouldn't count on it. You should really just buy a high-power H-Bridge to drive your stepper.

  • Member #453185 / about 10 years ago / 1

    i just bough 2 of these and when i test the first board out with my stepper i out in loose short wires that connected it to a breadboard(left them loose because i am planing on soldering longer wires on later for a permanent installation) The best i got was the motor jittering and not turning, and the chip would get hot. i though maybe because the wires were not soldered in they could have momentarily disconected and damaged the board. on the second driver i soldered short leads in which then hooked up to the breadboard and them my arduino. this time the motor worked but when i updated the code and changed only the max speed and acceleration(using the accelstepper library) nothing would happened. changed the speed back to what it was when the set up worked and nothing. have i fried both boards somehow? or is there something im missing. using a 12volt PSU. arduino mega and this stepper http://www.digikey.ca/product-search/en?pv675=6&pv391=87&pv391=65&pv391=66&FV=fff4000f%2Cfff80056&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25


  • Member #362523 / about 10 years ago / 1

    I want to drive 4 of these stepper motors ( https://www.sparkfun.com/products/10551 ) all in sync, but 750mA with this easy stepper isn't going to do it. What would be the best approach? Use 2 easy stepper boards each controlling 2 motors? Or is there a better driver board to use that can control all 4 of them?

  • Member #412667 / about 10 years ago / 1

    Hi all! I want use this driver with stepper motor ROB-09238 ( 12V , 330mAh/phase). Are they compatible? Can I power up the driver with an alimentaotr 18V 2Ampere? Is compatible? Have I to set the pot on the driver? Am I going to "fridge" all? Thanks!

  • Member #527353 / about 10 years ago / 1

    So, noob question here. I'm a little confused on the adjustable current pot. Since it has a range up to 750mA, does that mean my power supply should not be above that? I've been running it on 8 AA's for about 11V, amd I think it fried on me... AA's can produce maybe 3 amp max? Thanks

  • SlugEngineer / about 10 years ago / 1

    Hello everyone. So I had this thing working perfectly for the past couple of days. Today I had to re-arrange the breadboard it was on. Everything was the same except that I tied the GND pin that is right next to the +5v pin on the EasyDriver board, to Arduino ground. I saw a picture from a tutorial showing it wired that way so I thought "why not"... After that it has completely stopped working. Have I destroyed the board by doing this?? Any help is appreciated!

  • MKH / about 10 years ago / 1

    Has anyone tried using this with a mosfet to switch power to the board on and off from an input pin on an arduino. when connected no matter what voltage I read is input into the board, the motor only runs once I've disconnected power to the system and the capacitors discharge. The 5V led indicator never turns off either. Any suggestions on how to fix this or get the same effect with a different design?.

  • Member #520726 / about 10 years ago / 1

    I connected a 70W power supply rated at 24v to my easy driver running a 12V .3A motor, and it promptly fried the A3967. I was under the impression that this could support up to 30v, and that amperage would not matter so long as the motor did not draw more than the 750mA limit. Is this not correct?

  • Member #521193 / about 10 years ago / 1

    ola gostaria de saber como faço para comprar 03 easy driver , a formas de pagamentos , formas de envio para o brasil no cep 17054600

  • Member #521193 / about 10 years ago / 1

    ola eu sou do brasil gostaria de saber como eu posso adquirir 03 easy driver quais os meios de pagamento e o prazo de entrega

  • MKH / about 10 years ago / 1

    Does anyone know, roughly, to what angle the current control should be set to to create 400mA. I have it about half way. I have a multimeter to measure so that I can adjust till its right but I don't know which wire to connect the positive end to. Either answer would be helpful.

  • kaneinf / about 11 years ago / 1

    I actually had a pretty big problem with this version of the EasyDriver. The little pot for adjusting the current limit is made of plastic and the first time I tried to turn it with a tiny screwdriver it completely stripped out the little slot. I can't turn it! This happened on both units I ordered. I was very careful, but the plastic is soft like butter. I can't crank the current down, so my motors run pretty hot, even though I don't need the torque.

  • Looking through the documents above and the comments below, I'm not entirely sure how to use the sleep functionality of the board:
    1. Do I simply use another digital pin and set it HIGH to sleep and LOW to wake the board up again?
    2. What does this accomplish? Does it mean I won't be pulling energy from my power supply (or significantly less) when asleep?

  • maxa / about 11 years ago / 1

    On the two v4.4 ED boards I just got the MIN / MAX is reversed. Amperage increases when turning the poti CW (towards MIN) and decreases when turning CCW, towards MAX. I verified with an amp meter at the power source and using the test point on the ED.

  • KamKam / about 11 years ago / 1

    Hey there, I'm new to sparkfun, and I'm working on a 3 axis cnc machine. I bought this driver board and it won't work properly. I'm not sure if I fried it or not but I doubt it. The step pin will work but the dir pin won't. I am programming a stepper motor using this driver board on a raspberry pi, can that have anything to do with it?By the way, to power the driver board I am using a battery pack. If this driver board just won't work well with the raspberry pi can you recommend another driver board which I can program using python? PLEASE HELP! I appreciate any information I can get about my problem.

  • KamKam / about 11 years ago / 1

    Hey there, I'm new to sparkfun, and I'm working on a 3 axis cnc machine. I bought this driver board and it won't work properly. I'm not sure if I fried it or not but I doubt it. The step pin will work but the dir pin won't. I am programming a stepper motor using this driver board on a raspberry pi, can that have anything to do with it?By the way, to power the driver board I am using a battery pack. If this driver board just won't work well with the raspberry pi can you recommend another driver board which I can program using python? PLEASE HELP! I appreciate any information I can get about my problem.

  • Member #473946 / about 11 years ago / 1

    Why my stepper motor producing Jerks! not rotating! could you please help me from this. plz post in my

    site: http://www.npeducations.com

    • Check that you have everything in your system grounded properly, and that your power supply is providing enough current for the stepper motor. That generally tends to be the culprit with jerky motors.

  • Member #473946 / about 11 years ago / 1

    Why my stepper motor producing Jerks! not rotating! could you please help me from this. plz post in my

    site: http://www.npeducations.com

  • slptrains / about 11 years ago / 1

    I am using the ED with an Arduino Mega to automate a device that depends on precise positioning. However, when I use a 12v 5amp power supply in the Arduino, everything works find. When I replace the power supply with a 12v 2 amp unit, the stepper creeps a bit before the initialization is complete, but enough to screw up the positioning. Any ideas?

    • slptrains / about 11 years ago / 1

      Additional Information:

      Unit is driving a Mercury Stepper also purchased from SF, and the power to it is from the Arduino's 5v regulated output port. If I use the Vin port (12v), the stepper and the driver become very hot. I am using the Accelstepper.h library, and have the speed and acceleration set at 400 max, and 250 accel.

  • zoso1234 / about 11 years ago / 1

    Has anyone been able to get this to work on the new Linux Device Tree Overlays? I made switch to new 3.8 kernel and have not been able to figure out how to control it and the gpio's of beagle board.

  • Member #468615 / about 11 years ago / 1

    Can this board be used to drive a 6V 0.6-1A/phase, or would it be better to get the Big Easy?

    • You want to go with the Big Easy driver for a motor with those ratings. This maxes out at 750mA/phase.

  • Member #458624 / about 11 years ago / 1

    Hi all I have one question..... I bought easy motor driver v4.4 (voltage: 7-30V) and motor Nema 17, which is rated voltage 3V and rated current 1,7A/phase. I dont know which voltage i need to connect to easy motor driver? Is maybe problem also with current: Adjustable current control from 150mA/phase to 750mA/phase? It is possible that my motor is not the right one?


  • Member #459425 / about 11 years ago / 1

    Hello all,

    I have an Arduino Uno R3 and have recently received this stepper motor driver and the bipolar stepper motor. My question: can I simply connect the 5V and GND on the Arduino directly to the M+ and GND on this stepper motor driver and power it all with on 9V adapter?

  • I am very happy to share that this board is not only easy to work with but also I want to definitively state that hooked up as shown in my forum post, when ENABLE is high, current through the stepper motor stops. This is quite important for my design, as the system is idle for the majority of the time and does not need to hold position. Further, I didn't do ANY thing to engineer or match the voltage supply to the stepper; I just wired the 12V to the Easy Driver motor input and fed the 5V to the Arduino.

    This is EASY!! and I thank you for that. This board is the 1st time I've been able to microstep a stepper. I've tried everything else out there. Oh, and FYI, accelstepper library breaks if/when you diddle the ENABLE. So someone will need to code a way around that.

    BTW: be sure among the 1st things to test once it's working is the current. I thought it was odd my stepper got so hot. Turns out on my v44 board, the potentiometer and silk screen are again not in agreement. Upside: even with it at max current of 0.44A, none of the ICs on the Easy Driver got warm. With the POT now at full CCW, current is 0.22A. Pics are in the forum thread.

    I really wish THIS was the first motor driver I purchased. I've wasted countless hours and >$100 on other things, when this simple solution was right here. SF, you're the first stop when I shop!

  • Member #452204 / about 11 years ago / 1

    Hi, I have a quick question maybe you can help me, I am trying to use the EasyDriver for a battery powered clock. The problem is that even after sleeping and manual removing the LED indicator on the board I still get a 7 mA current drain while sleeping. For my purpose that is still too much, any idea how and if it possible to lower it ? Thank you

  • Member #451658 / about 11 years ago / 1

    I'm looking to control this with an Arduino Uno. Is this the driver I need? And what should I use for power?

  • Member #444458 / about 11 years ago / 1

    Can I use a 12V battery pack to power the EasyDriver?

  • R0B0T1CS / about 11 years ago / 1

    Please clarify above text: "EasyDriver requires a 7V to 30V supply to power the motor and can power any voltage of stepper motor". Is that "any" voltage between 7 and 30v?

  • Member #308911 / about 11 years ago / 1

    Could anyone suggest a power supply for this?

    • Member #440708 / about 11 years ago / 1

      Yes does Sparkfun have a supply for this?

      • Member #472687 / about 11 years ago / 1
        • 1, I am looking for a battery kit (and charger associated). Is it OK to power it with a 7,2V pack if I choosed this motor step : https://www.sparkfun.com/products/10551
  • Member #435538 / about 11 years ago / 1

    I really like these drivers. They are perfect for small projects with salvaged printer and scanner stepper motors ! They are cheap and reliable. Made an arduino cnc laser engraver with them.

  • Squirrel / about 11 years ago / 1

    I would love to see one of these with a DAC for the PFD and REF lines. That would make these boards completely awesome (if I get bored, I might try it myself c:)

  • Tomotron / about 11 years ago * / 1

    Pretty easy to use with an Arduino. Here's mine in action doing a little dance.

  • Member #404241 / about 11 years ago / 1

    Has anyone else experienced trouble with overheating of the A3967 chip on this board? I have found that when a stepper motor is connected, after a few minutes the chip becomes quite hot. About 4 minutes after power on, the area surrounding leg 20 becomes bright led, and the chip fails.

    Hook up and arduino code are exactly following the tutorial number 400

  • Member #423669 / about 11 years ago / 1

    Would I be able to get decent power out of this: https://www.sparkfun.com/products/10846 if I use these drivers?

  • Member #417262 / about 11 years ago / 1

    I recently hooked up this easy driver controller to a ST-PM35-15-11C stepper motor purchesed on this site. It all works fine buy the chip on the controller runs very hot. I am using a 12 volt dc supply and have the current limiting pot al the way clockwise. The chip gets hotter if I rotate the pot CCW towards the max setting. Anyone have an idea of what is going on?

  • I have this motor: https://www.sparkfun.com/products/10847

    with a easydriver what current and voltage do you recomend for that motor?

  • Member #413248 / about 11 years ago / 1

    great products, you should make phone orders possible

  • Member #340062 / about 11 years ago * / 1

    What is rated input current for easy driver 4.4 ? I fed 20v 3.0A to easydriver it got burnt :(

    • Member #514748 / about 10 years ago / 1

      I was about to try 24 Volts with over 3 Amps ... glad I read this.

      My Stepper Motors (Wantai 42BYGHW811) are rated 2.5 A.

      I should I power these? My 12 Volt supply with around 0.625 Amps is not doing the trick....

    • jpritch / about 11 years ago / 1

      Page 1 of the A3967 Datasheet says absolute max is 750mA continuous, 850mA peak.

  • Member #410186 / about 11 years ago / 1

    Is it possible to run the motor with this driver without the arduino? As an example the driver board gets an input from a frequency device like a vehicle speed sensor, and then makes the motor turn with a speed proportional to this direct input? Off course depending on the motor I may have to multiply the input signal but that is small details at this point.

    • Yup, you can use a frequency generator to send step pulses to the EasyDriver (or BigEasyDriver). Just make sure that your gen supplies pulses that are square waves from 0V to 5V. On every rising edge, the driver will take one step (or micro-step depending on how you have it configured).

  • Member #340999 / about 11 years ago / 1

    I need clarification on using ENABLE. I have its breakout wired to digital io 12 on my Arduino Uno. In setup I have set 12 to output and written it low.

    I don't know how to confirm that the motor has been disabled when, in my sketch, I call it to high, but even after any amount of time, the motor still has whine and feels hot, so I don't believe that it has been disabled.

    Am I doing this wrong?

  • Member #108858 / about 11 years ago / 1

    Hi, Is it possible to control a stepper motor by the signal send form printer which use to control printer motor originally.

    • Member #108858 / about 11 years ago / 1

      here is what i want to do http://www.youtube.com/watch?feature=player_embedded&v=_6f00E-ge04

  • pluseinn / about 11 years ago / 1

    I may have accidentally fried mine. It only steps in one direction now. Is there anything I could swap out to quickly fix this or should I consider it toast? I already tried changing the cap but it didn't change anything.

    • Member #408319 / about 11 years ago / 1

      @ pluseinn Hi. I will try to help you if you haven't solved your problem yet. What is the status of your problem? Fixed or no progress?


      "If it ain't broke, fix it 'til it is!?

  • Member #398070 / about 11 years ago / 1

    Hey I'm really new to all this. I mean this is my first real project. I'm trying to build a stepper motor system that can fairly slowly turn 90 degrees with a controller. Fairly simple I would say. I was going to use the stepper motor with cable at https://www.sparkfun.com/products/9238 with this driver. Is this the type of setup I want? If so, what's my next step? What should I use for a controller and how should I wire it?

    Sorry for being a noob. I'm really hoping to get some experience out of this. And trust me, I have a reason for doing what I'm doing.

    Oh and if it could turn 90 degrees reverse that would be great haha.

  • Member #381224 / about 11 years ago / 1

    Does the Easydriver 5V output have enough power to reliably run an Arduino Uno and a 16x2 LCD simultaneously for long periods of time?

    • No, unfortunately it does not. If your input voltage to the EasyDriver is between about 6.5V and 9V, it might work for awhile, but the regulator on the ED will get really hot and may go into thermal shutdown.

  • amco / about 11 years ago / 1

    Can someone please explain to me, if I buy stepper motor driver that can deliver max 2A (two ampers) per phase is it possible to limit current for stepper motor that has 0.4A per phase rated current so that I can control that motor. Or if someone can just clarify that relations between spec. of motor and driver regarding phase current so that I can choose appropriate motor for driver or vice versa. Thanks :)

    • The current on the stepper motor rating is the recommended maximum. It really has to be taken together with the recommended voltage. For example, a 2A @12V stepper is not the same as a 2A @ 2V stepper.

      You can use the current adjust pot on the Easy Driver to dial back the current to your motor from about 120mA/phase to 750mA/phase. Just about any stepper motor (except for the very, very smallest) will be able to take the current somewhere in that range. It does not hurt to buy a 2A stepper and then run it at 750mA, you just don't get quite as much speed or torque out of the motor as you would if you drove it at 2A.

      Hope that helps-

  • kg2li / about 12 years ago / 1

    Nice little board, easy to use and at a good price. Had a working prototype using a PIC 12F675 with little effort. Ignore the warning that the silk screen is reversed for the min-max markings of the current adjustment pot, it works as labeled on the PCB for version 4.4

    • Awesome! It is so great to hear people say positive things - 90% of these posts (understandably) are people with problems. I'm glad to hear that SparkFun has changed pots again so that the silk is correct now. I hope they stay with this new pot now.

  • Member #342800 / about 12 years ago / 1

    I recently ordered an Easy driver (ROB-10267) which I am using to drive a stepper motor. It ran fine at first, but then it began to not change direction. In trouble shooting I found the DIR input was being pulled down to 2.6 volts (rather than 5 volts). If I remove the wire from the DIR input it has 5 volts on it. If I put a separate 5 volts to the DIR input it will run in the opposite direction and then run correctly for a while. Any suggestions on why this is happening?

  • Member #377293 / about 12 years ago * / 1

    Hello all I am using an ED v4.4 with the Arduino Mega 2560. I was trying to get full steps and 1/4 steps, but when I connect MS2 to gnd the motor stops. When I connect enable to gnd the motor still runs, i thought the silk screen might be switched but steps seem un-effected. MS1 seems to be the only pin that effects my step size. Has anyone else run into this?

    Thank you -N

  • Member #339111 / about 12 years ago / 1

    I got this stepper driver to be used with this motor. https://www.sparkfun.com/products/10847

    I successfully used it with a low voltage supply but read that it would have superior performance if I used a higher voltage. Keep in mind that even with this low voltage the driver got very hot.

    I then switched to 24V power supply and as soon as I turned it on the driver immediately went up in smoke and a section of the transistor array seems to have melted from the inside as small lumps are now clearly visible. The interesting thing is that it wasn't hot to the touch even though it was clearly burnt out.

    I decided to purchase the big easy stepper driver but I don't know whether to expect the same thing as both include the 24V supply within their rated voltage inputs.

    Any ideas?

    • I'm not sure what happened to your EasyDriver - I've run mine at 24V all day long. The EasyDriver does not have as many built-in protections (over current, shorted output, etc.) as the BigEasyDriver. I think you'll be much happier with the BED.

  • Winston67 / about 12 years ago / 1

    It's possible to burn a card easydriver with an induced current caused by (fast) manual movements of a dolly cam connected by belt to the stepper motor? I'm afraid that has happened to me just that. How to avoid it again? What electronic devices can I put? Thanx for reply.

  • ehud42 / about 12 years ago * / 1

    Weak microstepping - looking for ways to improve a less than ideal situation.

    I have an old BIG (physically - http://www.flickr.com/photos/flyinglow/8117734883) stepper being driven by the EasyDriver. The plate lists the stepper as 2.9V / 3.1A, so I'm assuming a just under 1 ohm / coil. The motor is a 6 wire and I am not using the commons, so can I assume then that I have an almost 2 ohm / coil?

    I'm powering with 12V from a PC power supply. I believe the supply voltage to be between 11 & 12 V (closer to 11).

    It appears that the micrstepping is not as smooth as I think it should be. There seems to be period 'big' steps between small steps. The result is a bouncy ride when moving slowly.

    I'm not finding much difference regardless of which way I turn the current control.

    (my cnc that is being driven by the EasyDrivers - http://www.flickr.com/photos/flyinglow/8106467834/in/set-72157625214365376/)

    • With a motor like yours you will never get good microstepping with the EasyDriver, I think. There is a 'sweet spot' of stepper motor sizes that work best with the EasyDriver - while it does run the really big ones (like yours), it doesn't generate good microsteps or run them very fast. I'm not absolutely certain of the reason why, but I have observed this before.

  • Member #371630 / about 12 years ago / 1

    Is there a way to turn off the onboard LED. I'm using this for a portable application with a 12V Lithium Ion battery and I put the easydriver into sleep mode when not in use. Even in sleep mode the LED stays on and I'm worried that this might drain the battery when not in use.

    • Kamiquasi / about 12 years ago * / 1

      The LED is not programmatically controlled.

      You could break the solder bridge at SJ1 (APWR on the board, I believe) - this disconnects the LED and the JP4 output socket from the voltage regulator's otput. If you are using JP4, though, then the only way would be to actually cut one of the traces leading to the LED. Note that the LED is then 'permanently' off.

  • DIY_007 / about 12 years ago / 1

    See my 6 axis Robot Arm. Stepper Motors are driven by 'EasyDriver Stepper Motor Driver"!

    http://www.youtube.com/watch?v=QGVXQDC5C8Q&feature=plcp (channel got more videos)

    Robot Project is still "work in progress...."


  • Dr. DFTBA / about 12 years ago / 1

    How many Arduino pins does this hog? What i mean is, could I fit 3 on my Leonardo?

    • Take a look at the tutorials and information linked under documents for more information on the board, but this only requires the STEP and DIR pins connected to an Arduino, so you should be able to fit 3 onto a Leonardo. Just make sure your power supply can handle that.

  • Member #355472 / about 12 years ago / 1

    Awesome, hooked up 24V power to the M+, turned it on, and sparks started flying.

  • Member #356264 / about 12 years ago / 1

    I am using these in a situation where I need to isolate the motor being driven from the board due to EMF reasons. If I were to power down the driver, could I short the channels together? (A- and A+ then B- and B+, so 2 shorts)


    • Unfortunately, no. The chip that is used on the EasyDriver does not protect itself from shorted outputs (to each other, or to ground). So shorting the outputs, even for a second, will blow the driver chip. However, the BigEasyDriver does have this kind of projection.

  • Member #339185 / about 12 years ago / 1

    Hi, We recently acquired one of these for bench testing with a PLC. Have everything working ok so far off of a 24vdc supply, but am concerned about a few things, & would like to know if related to the 24vdc supply, PLC, both or that there is no load..

    I have a basic program to output 200 pulses forward, then 200 back at which I can very the frequency. The repeatability does not appear to be there, at each turn, there seems to be a compounding error that results in the stop position drifting. I will try this with 12vdc & report back.

    What is the max speed we should be able to realistically able to acheive? The data sheet says 500kHz, which at 200 steps/rev, equates to 150000 rpm. This seems very unlikely. I have tried various frequencies, but do not seem to get consistency at the high end of about 2000Hz, which is quite low compared to the specs. Do I need more load?

    • No, adding load will not help. The max speed of the driver is 500KHz. But the max speed of your system will be much lower. It all depends upon how smoothly you can accel/decl, what motor you use, what power supply, what is the load like, etc. As a test case, I can easily get to 15K microsteps/s using an ED at 12V with a standard NEMA 17 motor. I can go faster at higher voltages, but not much. Also, the torque is quite limited (torque is inversely proportional to speed in a stepper - approximately).

  • LineKernel / about 12 years ago / 1

    ok , i have few questions before making mistakes (plugin anything),

    -what is the APWR jumper ? do i need to solder it to have the regulator to power the board ? where do i get info about it?

    -if i put the pot in the middle , i estimate a currant about 425mA (as i dont get which way is max and min), my motor is rated for 330mA, so if i want to "test" the "currant" (i understood how it works) on TP1 , can i do it without motor attached ? THEN UNPLUG the power , and THEN attach the motor when my set up is where i want it .

    -Do i have to wait before plugin the motor ? if yes, how long?

    • LineKernel / about 12 years ago / 1

      ok i can answer my own question after reading though the old version of the driver s comment :

      the jumper APWR is closed by default (look closely) and is the jumper (SJ1 on the schematics) to connect the output of the 5V regulator to the rest of the board and so power the chip , so the pins named GND and 5V (lower left) are actually OUTPUTS BY DEFAULT !!!

  • Member #333070 / about 12 years ago / 1

    Would it be possible to use an iphone to generate the square wave required fot this driver? they output ~2.8v out of the headphone jack

  • Member #330132 / about 12 years ago * / 1

    need some help if anyone has an idea.

    I have wired up an easy driver with an arduino uno and a 200 step bipolar stepper motor. It was working great a week ago, and then just quit working. The motor only turns one direction, and the steps are extremely inaccurate.

    I ran through the ED troubleshooting instructions to determine if the board has an internal short and all voltage and resistance readings are correct.

    *EDIT - Questions answered by the designer of the board through email. now that's service.

  • Dloranger / about 12 years ago / 1

    Has anyone noticed these boards are not rework friendly?

    I am building up a CNC and thru much handling to fine tune locations I occasionally break a wire near the board (powered down thankfully). As such I grab my handy solder sucker and soldering iron to clean the holes up and reattach.

    on the two boards I have had to rework wires for I have lost the bottom and eventually the top rings from the motor connections on every location reworked.

    I would consider myself very profficient at soldering and rework as prior to this I can't remember the last time I lifted a pad or via ring and I build and rework boards on a near daily basis.

  • Member #326408 / about 12 years ago / 1

    I am trying to use the EasyDriver to drive a unipolar stepper with 4 wires. Will this work? I do not understand a unipolar stepper motor with only 4 wires. Any information is greaty appreciated.

    • unipolar motors have 6 wires or more. if you have 4, it's a bipolar. either one will work just fine.

  • Member #321429 / about 12 years ago / 1

    I got one of these this week to run a 24V stepper interfaced with arduino. I wired it as shown in the Bildr tutorial above but when a few second after I plugged in my power supply (24V) the A3967 chip popped, sizzled and smoked and is now fried. Can anyone give me an idea as to what I might have done wrong? I will happily provide more details if anyone has an idea.

  • N3IKQ / about 12 years ago / 1

    I've been doing at lot of research into how to interface an encoder to the Easydriver with or without an MCU. I've fond an interface chip (LS7184)that looks like it will do everything needed: http://www.lsicsi.com/pdfs/Data_Sheets/LS7183_LS7184.pdf. Has anyone had experience with this interface chip? It has x1 thru x4 multiplication on board. That plus the micro-pulse capability of the Easydriver would seem to give a wide range. I'm guessing a 200 CPR encoder driving a 200 step motor would give me one to one revolutions in 1x mode. What do you think?

  • DebbieM / about 12 years ago / 1

    Hello, I had a question for anyone out there, I am trying to power a stepper motor with an arduino board and I am wondering if this motor driver will work with my motor. Here is the link to the motor I purchased.


  • Member #316004 / about 12 years ago / 1

    you need to redirect the link to stepper motors above. It goes to dc motors which are totally different.

  • ThinkerT / about 12 years ago / 1

    Experience note: The 5V/GND jumper is an output. Do not add more voltage there especially if it's more than 5V... blown drivers.

    • LineKernel / about 12 years ago / 1

      1000 X thanks for the info ,

      i really couldn t understand why any of the tutorials where not powering the board (as it looks like a 5v/Gnd input) !

      thanks i took the time to read all the comments before plug-in anything !

  • Member #203302 / about 12 years ago / 1

    Can this be used to drive a stepper motor rated at 6V/0.09A per phase ? I'm confused about the 150mA/phase to 750mA/phase current control.

    • Yes, it should work. However, your coil resistance (66 ohms) is so high that the EasyDriver will not be able to chop (the coil resistance will self-limit the current), so you won't get any microsteps. The best you'll be able to do is half-step. But I don't think it will damage the motor, even if it does end up getting a bit more than 90mA.

  • ThinkerT / about 12 years ago / 1

    So would it be damaging to run a 1A per phase motor off of this?

    • Nope, not at all. Your motor will not achieve maximum torque or speed, but you'll probably be surprised how well it will run even on 750mA/phase.

      Also note that the BigEasyDriver (also sold by SparkFun) will have no problem running your motor at its max rated current.


  • DuinoLabs / about 12 years ago / 1


    How about using a 5-wire unipollar stepper. Do you think I could just leave the center tap wire and use it as a bipolar one?

    • Unfortunately no. It is not a simple matter to turn a 5 wire stepper motor (Uni-polar) into a 4-wire stepper motor(bi-polar). You will be better off buying a unipolar driver, or getting a different motor.

      • ehud42 / about 12 years ago / 1

        Actually that is exactly what I do, and it works for me.

        So far all I'm doing is full stepping, but I have had no issues with stepping. Does it become a problem if 1/2, 1/4, etc. stepping? or if trying to get full torque out of the motor?

        • Now that I think about this some more, this kinda makes sense. All four coils are connected together through the common 5th wire. If you are only energizing one pair of them at a time (full step mode), then only two of the coils are being used at a time and the 5th wire doesn't matter. If you were to use any other stepping mode, it may not work so well, if at all. *Brian

  • Member #60565 / about 12 years ago / 1

    Hi all, I'm having a problem. The driver works awesome for the first 10 seconds and then stops working. I can unplug the driver's power and plug it back in immediately and it still wont work. If I unplug for a few minutes and then power it on it will work for 1-10 seconds and cease just like before.

    The regulator nor the driver is hot at all to the touch. I'm using a 12V supply with 1.5 amp max output. Power LED is on. The step and direction signal IS getting to the easy driver board.

    My initial instinct is that there might be a temp sensor kicking off the power but NOTHING feels hot. Its most likely something I'm doing, help please.

    • I can try to help you, but I'll need much more detailed information about what you're doing. Can you e-mail me a schematic or at least detailed picture of your setup?

      There are over-temp cutouts on both the regulator and the driver chip. However, if they are in fact cutting out because of high temp, the cutout is very fast (maybe 200ms) and then they turn back on for a little while (200-800ms), so you just get stuttering. Not what you describe.

  • ehud42 / about 12 years ago / 1

    Here's a (silent) video of the problem with electrical noise - http://www.youtube.com/watch?v=o0iTuKYLWIc

    Looking for advice on how to solve. Thanks!

    • I think both are good suggestions. Adding filtering to both step and direction signals, as well as making the cables as short as you can. Also, try and separate the power/gnd from the step/dir/gnd cables. Make sure your grounds are all connected in one point (star ground) and are nice thick wires for low resistance. Monitor the step and direction signals right on the Easy Driver with a scope. Also you can try and isolate the router - put it on an extension cord plugged into a far away outlet, just to see if that fixes the problem.

      • ehud42 / about 12 years ago / 1

        This CNC project of mine is gonna take longer to finish than Noah took to build the ark... Anyway, here is what I did that cleaned up the inputs - 6 x 0.01uF caps to filter the step & dir line for the 3 axis. I'm still only using 12V - have not got brave enough to up it to 24V http://www.flickr.com/photos/flyinglow/8091755406/in/set-72157625214365376

  • ehud42 / about 12 years ago / 1

    Since upgrading to a bigger router, I am having electrical noise problems with the EasyDriver. It is sporadically stepping up and down whenever the router is turned on. I have the EasyDriver located right beside the stepper, and I'm using about 4 feet of Cat5 to deliver the Step and Dir commands direct from my parallel port. Any suggestions on noise filtering caps, grounds, shields, etc? Or should I shorten the command wires and lengthen the drive / power wires?

  • cheapie / about 12 years ago / 1

    This thing works great! Interestingly enough, if you download the Tone library for the Arduino, upload the RTTTL example, and connect Arduino pin 13 to the STEP input, you can get stepper motor music. It probably also works with just about anything on the Arduino designed for a speaker...

  • ehud42 / about 12 years ago / 1

    24V challenges - I am able to run my stepper with this controller quite well with a 12V PC power supply. My problem is when I apply 24V to system to try and get more speed out of the stepper, I get erratic behaviour. Typical behaviour is missing steps or erratic stepping more so in one direction than the other. At first I realized it was because I had not tied the common from the 24V to the common of the computer's parallel port. Once connected it improved, but it is still unreliable. Switching back to 12V and all is smooth. Any suggestions?

  • aristidesfl / about 12 years ago / 1

    How many motors does this driver support? thanks

      • aristidesfl / about 12 years ago / 1

        So if I need 3 motors moving at same speed I necessarily also need 3 drivers?

        • yes, steppers need to be driven independently. you might be able to drive three of them together, but they would need to be identical, and it may still not be a good idea.

  • Member #273594 / about 13 years ago / 1


    I would like to know how to choose appropriate Rs (connected to Sense pin), Rt and Ct. I want to control a 12V, 0.5A motor with the EasyDriver

  • Member #148247 / about 13 years ago / 1

    The schematic page still goes to V4.3. I am assuming the schematic for V4.4 is the same.?.?.

    • The v4.4 schematic is linked on the EasyDriver website : http://www.schmalzhaus.com/EasyDriver/EasyDriver_v44/EasyDriver_v44_sch.pdf

      It is exactly the same as v4.3.

  • LordDamax / about 13 years ago / 1

    I just got mine in today, and hooked it up to the standard sparkfun stepper motor.

    I have a question about the MS1 and MS2... for the sake of toying around with it, I didnt connect them to anything. Am I right in understanding that if its not hooked to anything, it's default is 1/8th steps? That would make sense, as I told the motor to make 200 steps, and it made 1/8th of a full turn.

    Assuming I want this disabled (just make full steps) how can I hardwire/modify the board to just run in this mode? Solder MS1 and 2 to ground? To 5v? Something else? I'm using this to turn a gear to focus the Z-table on a laser - the size of the gear gives me plenty of accuraccy... I dont need to turn 1/8th of 1.8 degrees.


  • swort / about 13 years ago / 1

    When will sparkfun publish an arduino library for the EasyDriver with arduino?!?

    • There are a large number of Arduino projects already using the EasyDriver. The best one that I've found is the AccelStepper library : http://www.open.com.au/mikem/arduino/AccelStepper/

  • zaro / about 13 years ago / 1

    The PCB design of the EasyDriver is not good enough, especially the heda sink of the LM317 and A3967. The LM317 output current may not exceed 100mA if want long term run.

    • You are correct in that the regulator and driver chip will get hot during normal use. If this is a concern, you can use the BigEasyDriver (Also sold by SparkFun) which generates FAR less heat and is a much more powerful driver. Or turn down the current limit on your EasyDriver, or use the ENABLE or SLEEP inputs to turn off the drivers when you don't need them.

  • Member #81594 / about 13 years ago / 1

    I have connected this motor, to this motor controller
    I have wired it in series. But does not seem to work in parallel. Also, when it is running in series it is very weak and has hardly any torque. Is this motor to big for this driver?
    Thank you in advance for any help you can give me with this product.

  • Member #240483 / about 13 years ago / 1

    Unfortunately i'm having big problems with this board. It seems like such a great piece i'm hoping that someone has a solution...
    I'm running a Nema 8 stepper rated at 0.6amp/phase and 4volts. (I regularly run these motors at 12 volts using a haydon switch and instruments chopper drive). I have everything correctly wired for the EasyDriver 4.4. I'm applying 12 volts here.
    The issue is that all i get is choppy, wobbly motion UNLESS i turn the current almost all the way down. With a voltage ref. of 1.9V everything appears to work ok, but that current is ridiculously low and thus I have no torque.
    Another thing, is that when I max out the current (voltage ref. = 5V) the whole thing STILL only draws 0.7 amps total. It should be drawing 0.7 amps per phase (as it does on my haydon chopper driver).
    There is something really wrong here... any suggestions/ideas are extremely welcome. I really want to use the easydriver, and i've done ton of work already (soldering/wiring etc.) just assuming (silly me) that they would work...
    Also, if you know any other forum or place that I could ask that would be great too...

    • What is your coil resistance on your motor? Also, you should not expect it to dray 700mA/phase even if you have it turned up all the way, as it is stepping the 12V down to a much lower (average) voltage, and acting like a switching power supply. Thus the current through the coil (700mA) is maintained with a much smaller current at 12V.

  • KitWong / about 13 years ago / 1

    I have a 6 wire stepper motor. DC 5.1V 1A. The EasyDriver require 7v to 30v. Is this going to work with the motor I have?

    • Yup. It will work just fine. The ED regulates the current, and the current is what your motor really cares about.

    • Hephaestus / about 13 years ago * / 1

      just found this http://ams2000.com/stepping101/stepping101_PowerSupply_2.html
      So I guess it comes down to mA???
      Ill let you know what color the smoke is cause my power supply is 24VDC

    • Hephaestus / about 13 years ago / 1

      quoted from above - EasyDriver requires a 7V to 30V supply to power the motor and can power any voltage of stepper motor
      I have some motors from various printers that are 2.7V - are stepper motors able to handle different voltages if supplied with 7 - 30 VDC

  • Member #235336 / about 13 years ago / 1

    I have a msp430 launchpad and would like to control a stepper motor with this controller. The msp430 uses 3.3 volts. I read above if you solder sj2 then you can use 3.3 volts for the inputs (step and dir). However there is no sj2 on this board. Is it the one labeled || 3/5V ? Also does this mean wherever it tells you 5 Volts you can now use 3.3 volts?
    Any help on this would be really appreciated.

    • Yes, you are correct. The schematic and board are not consistent in their labeling. If you solder the 3/5V pads closed, then it will operate at 3.3V and you can interface it with a 3.3V signal source. Note that this causes more heat to be generated from the linear regulator on the EasyDriver (as it is now dropping the motor voltage even lower to 3.3V logic voltage) so keep an eye on the regulator.

  • Member #240124 / about 13 years ago * / 1

    I connected it to a 12V suply and I controlled it with a pic18f4520, I noticed it heated up after some time running (the motor also did) and after some days trying it out it started frying just connecting it to a 12V suply. I read in a comment that it can make some damage to connect and disconnect the motor when it is on. Can this be the cause? It's the second time it hapens

    • Correct. Connecting or dis-connecting a motor from an EasyDriver, while the ED is powered, has a chance of killing the driver chip on the ED (sometimes in strange ways).

    • The EasyDriver will get quite hot under normal operations. Both the linear regulator chip and the driver chip will generate considerable heat. And, your motor will too, as it will be dissipating 750mA/phase, or .75 * 2 * 12 = 18W if you have the ED set for max current. In fact, it all may even smell quite hot. (I hate that smell.) However, both the linear regulator and the driver chip on the ED have very good thermal protection circuits that will shut them down if they get too hot, so you won't be able to damage them by letting them get too hot.

  • spark_tosh / about 13 years ago / 1

    So this driver can only support a power supply that is up to 750ma? It is kind of hard to find one that is near 30v under 750ma.
    The closest i have is a 24v at 1000ma but that will fry the board right?

    • SomeGuy123 / about 13 years ago * / 1

      As long as you don't draw over 750mA, you'll be fine.

  • Member #38730 / about 13 years ago / 1

    These things are p*ssin me off. They keep frying my MC PWM pins!!! Why do they try to drive the stepper through the MC's power? I've just got my order of two of these plus a new FEZ Panda and now it's ruined.
    I'm so angry it's not even remotely funny. You need to not sell hardware that fries microcontrollers.

    • I'm very sorry to hear that you are experiencing these problems. Damaging your micro pins is not a good thing at all. However, yours is one of the first cases that I've heard of where this has happened.
      You certainly shouldn't be driving the stepper from the microcontroller's power! That will for sure lead to bad things. The EasyDriver needs it's own power source - normally around 12V, but can be has high as 30V. That also gets regulated down to 5V to power the logic side of the EasyDriver. You only need Step, Direction, and Ground connections to your microcontroller to make it work.

  • disabelle / about 13 years ago / 1

    could i drive 2 different stepping motors with this or only one (srry still new)

    • I think you could hook up two stepper motors to the EasyDriver, but they would move in perfect unison - you can't control them separately. Is that what you are wondering?

  • Member #213974 / about 13 years ago / 1

    Really nice board, works great!! However I have Version 4.4 and the max is acting like min and the min like max. I have it connected to a PK264M-01A. I promise I have it hooked up right (in bi-polar mode) but it is acting inverted from the silk screen printing.

  • StevenO / about 13 years ago / 1

    Possibly dumb question, but: all the images except that last seem to show the board without pins soldered on. The last one shows it in a breadboard, so it must have pins soldered on there.
    Does the board come with pins, or do I need to get my own and solder them on? Where's a good place to get those pins, regardless of the previous answer?

  • ThinkerT / about 13 years ago / 1

    Hey! Does this work with GRBL? Are there other chips I could use?

  • MichaelK / about 13 years ago * / 1

    The example code link is wrong. It points to a page on controlling DC motors.
    A more relevant link is http://www.tigoe.net/pcomp/code/circuits/motors/stepper-motors but that's for driving a stepper with an H-bridge driver like L298.
    Please put a link that explains what's the best way to generate the step signal and control the motor speed (steps per second).

    • MichaelK / about 13 years ago / 1

      Here's a basic tutorial for EasyDriver v4.2, which should also work with this version:

      • BigRedSparks / about 13 years ago * / 1

        Thanks for the link. I setup the circuit per Dan's blog and wrote the program listed. I went back and rewrote some of it to get a better understanding of the motor mechanics. Here is the code:
        // title: Stepper Motor Tester
        // author: BigRedSparks
        // date: April 20, 2011
        // version: 1.0
        // notes:
        // This program is derived from the stepper motor program
        // written by Daniel Thompson
        // http://danthompsonsblog.blogspot.com/2010/05/easydriver-42-tutorial.html.
        // It also uses the same circuit described on Daniel's blog.
        // I rewrote portions of it mainly to develop a better understanding
        // of the stepper motor mechanics. Where Daniel's program sets the modes
        // and delays algorithmically, this program sets them explicitly to see how
        // it affects the motor behavior.
        // output pins
        int DIR = 3; // PIN 3 = DIR
        int STEP = 2; // PIN 2 = STEP
        int MS1 = 13; // PIN 13 = MS
        int MS2 = 9; // PIN 9 = MS2
        int SLEEP = 12; // PIN 12 = SLP
        // direction constants
        const int CW = LOW;
        const int CCW = HIGH;
        // number of steps per revolution
        // e.g. 1/8 deg per step = 200 steps per revolution
        int STEPS_PER_REV = 200;
        // enumerate motor step modes
        enum STEP_MODE {
        void setup() {
        pinMode(DIR, OUTPUT);
        pinMode(STEP, OUTPUT);
        pinMode(MS1, OUTPUT);
        pinMode(MS2, OUTPUT);
        pinMode(SLEEP, OUTPUT);
        void loop()
        // all tests rotate the motor fully in each direction.
        // the steps and timing for each have been adjusted so that
        // each test behaves the same
        // full step test
        turnStepperMotor(STEPS_PER_REV, CW, FULL, 1600);
        turnStepperMotor(STEPS_PER_REV, CCW, FULL, 1600);
        // half step test
        turnStepperMotor(STEPS_PER_REV * 2, CW, HALF, 800);
        turnStepperMotor(STEPS_PER_REV * 2, CCW, HALF, 800);
        // quarter step test
        turnStepperMotor(STEPS_PER_REV * 4, CW, QUARTER, 400);
        turnStepperMotor(STEPS_PER_REV * 4, CCW, QUARTER, 400);
        // eighth step test
        turnStepperMotor(STEPS_PER_REV * 8, CW, EIGHTH, 200);
        turnStepperMotor(STEPS_PER_REV * 8, CCW, EIGHTH, 200);
        // turnStepperMotor - sets the direction and step mode,
        // wakes the motor and sends the specified
        // number of steps to the motor using the specified delay between pulses
        // finally it puts motor to sleep
        // steps - number of steps
        // dir - direction CW | CCW
        // mode - step mode: FULL | HALF | QUARTER | EIGHTH
        // del - delay in microseconds between pulses
        void turnStepperMotor(int steps, int dir, int mode, int del)
        digitalWrite(DIR, dir);
        digitalWrite(SLEEP, HIGH);
        for (int i = 0; i < steps; i++) {
        digitalWrite(STEP, LOW);
        digitalWrite(STEP, HIGH);
        digitalWrite(SLEEP, LOW);
        // set step mode
        // MS1 MS2 Resolution
        // L L Full step (2 phase)
        // H L Half step
        // L H Quarter step
        // H H Eighth step
        void setStepMode(int mode) {
        switch (mode) {
        case FULL:
        digitalWrite(MS1, LOW);
        digitalWrite(MS2, LOW);
        case HALF:
        digitalWrite(MS1, HIGH);
        digitalWrite(MS2, LOW);
        case QUARTER:
        digitalWrite(MS1, LOW);
        digitalWrite(MS2, HIGH);
        case EIGHTH:
        digitalWrite(MS1, HIGH);
        digitalWrite(MS2, HIGH);

  • delinquentme / about 13 years ago / 1

    So I've heard about "resonance" speeds on stepper motors outlined here:
    i've coded RPMs on the steppers to be 60 .. they run fine ..
    double it to 120 .. and your motor tweaks out and barely moves ... so i was wondering whats the MAX RPMs this unit can drive the stepper at?
    im looking to design a ramp-up ( motor speed easing ) function on my arduino .. which apparently will get it a tad bit more speed ?
    but just wondering if you have any thoughts on implementing something like the bi polar => single pole for higher speeds

    • Well, at 60 RPM, a 400 s/r motor at 8microsteps will only be stepping at 3200 steps/s. At 120 RPM, it will be 6400 steps/s. With the SparkFun NEMA 17 motor and the EasyDriver and a simple square wave generator, I can get a top speed of around 12,000 to 20,000 steps/s (depending upon how slowly the ramp up is, and what voltage is being applied), so 120 RPM should be no problem for an unloaded motor. Now, you may be using a different motor, or you may not be ramping up smoothly, or you may have some mechanical load on your motor, all of which will affect the top speed. If you use the AccelStep library for Arduino, you can get MUCH better stepper motor action (because it has accel/decel).
      If you really want higher top speeds, what you can do is run your system at the highest voltage you can (say 30V into the EasyDriver, with a heatsink or fan on the ED since it will get pretty toasty), and play with the MS1/MS2 pins to switch out of microstepping mode.

  • Member #161613 / about 13 years ago / 1

    Can anyone tell me what the other chip on the board does (not the Allegro driver chip)? I was running the Stepper Motor (ROB-09238) off the EasyDriver at a low current and the chip randomly fried. I think something may have shorted, but I can't figure out what that part does so I don't know what went wrong.

    • MichaelK / about 13 years ago / 1

      It's a voltage regulator used to supply the logic voltage from the motor voltage. From the schematic it looks like you don't strictly need the voltage regulator if you cut the SJ1 solder jumper (I think it's the one marked "APWR" on the board) and provide your own vcc supply (3.3 or 5V).

  • Member #6783 / about 13 years ago / 1

    Is it possible to run 6 wire unipolar stepper motors with this driver?

    • ThinkerT / about 13 years ago / 1

      Yes, I believe. I was going to ask the same question but did some research on it.
      You can run them just like a bipolar but don't use the common leads. This turns the four coils in a unipolar arrangement into two coils in a bipolar arrangement. This link was very helpful to me. Look in the "Identifying Stepper Motors" section

  • Member #207227 / about 13 years ago / 1

    Question. The specs state that this can handle up to 30v. When I connect a 9v, 450mA power supply, the chip gets REALLY hot. What am I doing wrong? Thanks in advance

    • Member #210060 / about 13 years ago / 2

      If it's like mine (post right above you), the silk screen is still incorrect. Try setting it to the max (full counter-clockwise) and see what the voltage is compared to min. They said it was fixed in the 4.4 version, but I have 2 4.4 v boards, and the silkscreen is wrong.

      • So this is really confusing to me. I need to contact SparkFun about this. The v4.2 board layout has MAX on the right. The v4.3 board layout has MAX on the right. The v4.4 board layout has MIN on the right. And v4.4 is correct. And in the picture above I see v4.4, with MIN on the right. So what gives? I do see that in the picture, the pot SparkFun is using is a different one than the one I specified (which is fine - this is open source hardware after all). My only guess is that the pot is somehow backwards from the other pots I've used in the past. I'll have to order one of the latest v4.4s and do some testing. So sorry for the confusion-

        • Yup, I've confirmed that there is a problem. I bought one of these EasyDriver boards, received it today, and sure enough - SparkFun has changed components from what I specified. (That's OK - it's an open source design. I have zero control over what anybody does with it, within the terms of the license.) However, by switching the pot to one with reversed pins (compared to the specified parts) the version 4.4 silk screen is backwards. So, check to see if you have a pot that looks like a white plastic square (shown in the current picture above). If so, you're MIN and MAX silk screens are effectively reversed.

      • mmgood / about 13 years ago / 1

        Agree. Has anyone actually tried to file a bug report?

  • Member #6570 / about 13 years ago / 1

    yes, but the critically important question is where do you get those little pirate flags!?!

  • TurboTronics / about 13 years ago / 1

    MS1 and MS2 pins are broken out as it says. However the pins are tied up and the are useless. The project I'm working on requires full steps. To solve this I simply removed the pull up resistors (R10 and R14) to disable microstepping. It seems like the board was designed with this in mind considering that removing the resistors does not disconnect the breakout pins. Hope this saves someone else a massive headache :) Good product though.

    • Yes, they are designed that way. Simply pull them to ground with a wire and you'll be fine.

    • Brog / about 13 years ago / 1

      If they are pulled up, can't you simply tie them down? Am i missing something?

      • TurboTronics / about 13 years ago / 1

        I guess... If you want to do the smart thing and all haha. I probably should have thought of that. Thanks Brog

  • Member #50901 / about 13 years ago / 1

    Question: Why would disconnecting the motor while energized damage the driver IC? I get the bit about the inducted voltage needing somewhere to go, but the vast majority of the inductance is in the motor windings, so if it's disconnected, the motor has to deal with the overvoltage, not the driver IC, right?

    • The other thing that I've heard is that as the magnetic field collapses, it creates a very large voltage. As you are pulling the wire away from the EasyDriver, that high voltage will arc across the small gap (happens in milliseconds as you are pulling away) and this high voltage spark will pop the driver chip.
      I have experimented with this extensively in my lab. At 12V, I have some motors that will NEVER destroy an EasyDriver no matter how evil I am to it. Other motors will cause the EasyDriver to pop after just one or to removals under power. It depends upon the individual specs of the motor. At 24V, I have no problem destroying EasyDrivers with virtually every motor I own (no, I didn't try them all) by removing the motor while under power.
      A solution to this problem is to place eight diodes on the motor lines - one to Motor+ and one to GND from each motor wire. This will divert the voltage spike safely before it gets to the drive. Unfortunately, each of these diodes are about $2...

      • randy / about 11 years ago / 1

        What kind of diodes are these that cost $2? IN4001's will not suffice?

        • You need the absolute lowest forward bias diode you can find, that can handle the current, with a high enough reverse breakdown voltage. You want the low forward bias because you want the external diode to conduct well before the built-in diode in the driver chip does, or it doesn't do much good. And those can sometimes be expensive. For example, CMS06QMCT-ND is $0.66 each and might work fine. Because of markup, each one would add to the price of the product by a couple bucks. But there may be cheaper ones that would work fine too.

    • Ryeg / about 13 years ago / 1

      When you disconnect the motor the connector contacts "bounce" a few times (research contact bounce on google). So the motor actually disconnects and reconnects a few times at a micro/millisecond rate. Hence the high voltage from the decaying field can get back to the circuit.

  • Bustayellow / about 13 years ago / 1

    I just got three of these for a mini cnc project and they work great with the ROB-09238 stepper motor! I noticed that one of the surface mount resistors was not placed correctly, but some quick soldering fixed it just fine. Definatly a great low cost project driver that I'll get again for future projects.

    • Bustayellow / about 13 years ago / 1

      Update: I was having trouble with the same board that had the misplaced resistor. Durring a simple jog opperation, the motor was not exactly where it should be. After troubleshooting, I found that though the "step" pin appeared to be soldered correctly there was not always a closed circuit from it to the IC "step" pin. Couldn't see any visable problems with the trace or solder poionts. Once a jumper wire was soldered in place, it worked like the other two.

  • Member #156970 / about 13 years ago / 1

    Hi. I just want to relay my experiences with this, as I've read all the comments here and it seems a lot of people are having problems. I ordered the EasyDriver and stepper motor from Sparkfun. When they arrived, I very carefully hooked everything up and it just vibrated back and forth -- similar to what other people are experiencing. I never hooked anything up incorrectly, nor did I ever connect/disconnect the motor when power was applied. It just did not work -- plain and simple. In desperation, I ordered another EasyDriver and stepper motor (my son's science fair was just around the corner!). This time, everything worked right out of the box (thankfully). So I don't know what the deal is -- if some of the EasyDrivers or motors are bad or what, but this has been my experience. So if you are stuck with a vibrating motor, it could be a bad part....

  • Member #170531 / about 13 years ago / 1

    I think I'm retarded. Can I hook the PWM version of this encoder directly to the driver? (http://usdigital.com/products/encoders/absolute/rotary/shaft/ma3/) And will it drive like a speed control or an incremental stepper? I need the encoder rotation to mirror the stepper rotation. So, not a speed control.

    • Pearce / about 13 years ago / 1

      I believe you'll still need a Microcontroller between the encoder and the driver.

  • Member #170531 / about 13 years ago / 1

    Wait, can you send a PWM signal directly to this board? If so, does that make an absolute encoder work like a speed controller or like a incremental stepper?

    • Yes, you could do that. However, the direction signal would not be take into account (as encoders are typically quadrature). You would get one step for every pulse out of the encoder.

  • Member #170531 / about 13 years ago / 1

    Can I hook an encoder like this one (http://usdigital.com/products/encoders/incremental/rotary/shaft/s4/) directly to this driver? And is there any way to use Xbee's to make this control wireless?

    • Yes, you can hook that type of encoder (with quadrature outputs) to the EasyDriver. Note that you can only get your motor to spin in one direction because the DIR input to the ED will not be controlled by the encoder. If you want to also control direction properly, you will need to decode the quadrature signal (with a dedicated chip or a small micro) and feed it to the DIR input on the EasyDriver. Also, you will get 1:1 operation only - no ability to scale the relative speed between the two. If you run the encoder through a micro, then you can scale it as well. Yes, you can use an Xbee to make the control wireless - again, with a micro. See the EBB board that Spark Fun sells. With a small bit of programming, all can be done on that board.

  • eduardomag / about 13 years ago / 1

    Is there a schematics with the Arduino Uno SMD?

  • akimyonoglu / about 13 years ago / 1

    Caution: Do not connect or disconnect a motor while the driver >is energized. This will cause permanent damage to the A3967 IC.
    I probably did this while I was searching right cables. Now when I plug my step motor it makes this sound like it's working (but not) instead it vibrates randomly.
    ** any suggestion for testing A3967 to see if it is really gone or not**

    • ThinkerT / about 12 years ago / 1

      Same thing happened to all of my drivers when I hooked them up to a 12V 2A power supply. Please help!

      • Member #326474 / about 12 years ago / 1

        It's a little late to help you, but this happens a lot if you wired the stepper motor lines wrong. My bipolar motors are Red, Red/white, & Green,Green/White. Though the /white are supposed to be (negative), sometimes I try it the other way around and it works.

  • Member #114781 / about 13 years ago / 1

    In one of the product preview pictures you show an experiment board - but in your related products, there are no "Break Away Headers". I would have bought some with my order. I am very 'Newbie' so once I saw the 'working example' I thought it came with them. I know - I know - there are 4 other pictures showing the holes empty - but, I thought those were early production pictures. Anyways, my oversight. I look forward to my next purchase from your site.

    • c6burns / about 13 years ago / 1

      I find IC hook cables (conveniently sold here and pretty much everywhere) work nicely, then you dont have solder anything until you are good and ready

  • Member #169720 / about 13 years ago / 1

    My Sparkfun, do you have an Eagle component layout for this unit? I want to mount it to a parent board. I suppose I could measure the pinouts myself but why reinvent the wheel.

    • One thing you can easily do is just take the Eagle file for the EasyDriver, and remove everything but the connectors and board outline. Then you'd have the exact 'footprint'.

  • HorizonCDR / about 13 years ago / 1

    Is there any chance that you guys could upgrade the chip to a A4982 or A4983 or A4984?
    750mA its not enough!

  • phekno / about 13 years ago / 1

    Just got mine today. Had it up and running with a PIC18F4550 in about an hour (including solder time). Pretty easy setup.
    I was under the impression that there was supposed to be an LED in one corner of the board. Either that's been removed in this latest version, or mine doesn't work. I mean, my board works fine and controls my stepper just fine, but there is no LED to indicate that power has been applied.

    • Member #78700 / about 11 years ago / 1

      Could you share wth me the code.I'm tryng to control the driver wth PIC18f4550 but it only manage to move a sngle step.

    • Yup, you should have an LED in the upper left corner light up when power is applied. Is the LED present on your board? It won't impact the functioning of your board - maybe the LED is just backward?

      • phekno / about 13 years ago / 1

        Yeah, it looks like the LED is present. I'm not sure if it's backwards or not. It's really small and I don't have a magnifying glass (dumb). Other than that the board WAS working well. In my excitement to just get it working, I soldered some wires to the appropriate holes. After that I decided that I'd rather have male pin headers, so I tried desoldering (using wick) the wires and in the process managed to lift the pad off the dir pin. :( Anyway, it still works, but it's now going to require an ugly looking hack to work properly.

        • Member #182155 / about 13 years ago / 1

          Hey Phekno,
          I'm trying to program this stepper motor driver with a PIC18, can you help me with the code? I can't find a c code out there to look at it to help. My email is Laav247@gmail.com

  • Reed / about 13 years ago / 1

    v4? I think you should clarify as the newest according to the page is v4.3 http://www.schmalzhaus.com/EasyDriver/index.html and that's what I bought from you a few months ago. so what's changed?
    Edit: nevermind answered my own question: v4.4 (10/24/2010)
    Fixed MIN/MAX silkscreen
    All vias now .02"
    darn I guess those holes are to remain off-center like that.

  • The pictures above are of the old board. We will get new pictures in a day or so, but we didn't want to hold it up.

Customer Reviews

No reviews yet.