Simple control of stepper driver, e.g. Easydriver from Arduino?

After a few hours of research here and elsewhere I'm asking for help.

We've designed an instrument for our educational models ( that uses a simple cone valve moving up and down just a few mm, driven by a stepper motor.

The prototype works wonderfully with the Adafruit motor shield and just a few lines of code. But we need to go to higher power now; probably a Gecko unit. This means a switch from the beautifully simple AFMotor.h library to something else that sends step and direction to a driver.

I've found tons of information, but seems there a many ways to do this (and none with a library). And I'm getting buried in details -- we just need double coil step and direction; the valve moves up and down. That's about it! I can't tell if the Arduino Stepper library can do this with external hardware; nobody mentions it.

There are references to Tom Igoe's nice site ( but pages are down and his tutorials refer to out of date libraries.

Sparkfun's Easydriver page has a bunch of links, and so does the Easydriver site, but many are outdated and overly complex. Good links in the comments, but what a mess (fix that Sparkfun, geez).

We can simply "bit bang" the driver with for loops (e.g. here: Dan Thompson: EasyDriver v3.1 Tutorial) but would be nice to use a library and a few lines of code.

My question: Can the Stepper library be made work with a step/direction driver?

If not, what's the simplest way to do this?

Many thanks,


Have a look at the AccelStepper library:

It explicitly mentions support for step/direction stepper motors.

The Rugged Motor Driver: two H-bridges, more power than an L298, fully protected

Thanks Ruggedcircuits, very helpful -- we should take a look at your driver, it has the capacity we need. The colleague I'm working with was more familiar with the Gecko drives. Good NEMA 17's are big enough for us, and holding torque does not need to be much.

Haven't looked at your site in a while, lots of cool new stuff.