Getting Started: Which stepper motor controller to use?

Hey all,

Very much a new comer here, hoping to get some help to get started. I tried searching the forum’s prior posts, but didn’t see answers to my questions below.

I am a hobbyist looking to create a small project with a stepper motor, using a Raspberry Pi. I have read how the Pi can drive a stepper motor with an H bridge, but it ends up requiring the program to manually cycle the stepper motor and uses multiple GPIO pins for each stepper. So I would like to use a controller board instead, and Pololu seems to have great resources.

I have found these driver boards

And even found a way to compare the various products:

I have a few questions:

  • These products are called motor driver carriers. What is the meaning of the word “carrier”? It this just that the board carries the chips that do the actual work? Or does this board somehow provide support for yet another board that does the actual stepper control (I suspect the former is the correct answer). Other places I see the descriptions as “stepper motor controllers”, and sometimes just “stepper motor drivers”. Are these just other ways of saying the same thing? A web search for “stepper motor controller” often brings up results for H-bridge type boards, that don’t support the Step / Dir options I want. Is there a standard terminology for all this?

– The various board options here on Pololu seem to vary based on whether or not pins are pre-soldered, high or low current, and the presence of voltage regulators. But there also seems to be broad division between the A4988 chip and the DRV8825. Is there any significant difference between these that I should understand? Is it just a difference of one manufacturer over another? Any recommendations or reason to pick one over the other?

Thanks so much in advance.


Our “carrier board” products are generally boards built around a specific IC with a few additional supporting components to make the IC easier to use. The products in our stepper motor drivers category generally feature active current limiting and microstepping that can help for smoother and faster motion. A lot of the stepper driver carrier boards we sell are designed to have a specific pinout that is popular with 3D printing control systems and can be controlled with a single step and single direction pin. The features on these boards do vary a little bit, and you can find more information about how each works on their product pages and in the datasheets we link to on the “Resources” tab of those pages.

If you post a datasheet for the stepper motor you are using and some information about the power supply you are running it from here, I might be able to give you some additional advice for selecting a driver. Also, what do you mean by “manually cycling the stepper motor” and how many GPIO pins do you have available for each stepper motor?

We are not aware of any standard for using controller vs driver, but we generally use driver to refer to a simpler lower level control and controller to refer to a board with higher level control.



Thank you for your reply. I think you have answered my questions. Regarding what I mean by “manually cycling the stepper motor”, I am thinking about the approach shown on the code on this page:

That code uses 4 GPIO pins to control 1 motor, where as with a your carrier board achieves the same effect with two.

Regarding which stepper, I haven’t purchase one yet. But this one looks good:

Regarding the number of pins, I currently have all of them free. But I had thought that I would like to be able to run multiple steppers for a project, and I thought I would be foolishly using them up faster if I wasn’t frugal with them, since there is a finite number of available pins.

Thanks again for your reply.

I think the approach shown in that tutorial is a basic control scheme for controlling a stepper motor in full step mode (without active current limiting) with two H-bridges, but the boards we sell as stepper motor drivers all have that basic logic built in.

The motor you mentioned is a fairly high current motor for its size, so a DRV8825 board would probably be the best match for it. The DRV8825 should be able to supply the stepper with about 1.5A of current, so the torque output will be slightly lower than the motor’s full rating. Our AMIS-30543 board should be able to provide the motor’s full 1.7A current rating, but the interface is different than the other boards, it is more expensive, and there are probably not as many example projects for using it as for the DRV8825 board.