Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Independent control of 3 stepper motors

Hi Brandon,
Can you help me select a driver and controller to control 3 low current single phase NEMA11 & NEMA 17 style stepper motors? Long term, I will want to control the third motor based on GPS signal.

Hello, Jim.

I moved your post to its own thread since it was not directly related to the original topic.

“NEMA 11” and “NEMA 17” only refers to the space between the mounting holes, so that is not enough information to give any meaningful suggestions. Could you post a link to the specifications for your stepper motors? Do you have any specific additional requirements (e.g. operating voltage range, micro-stepping modes, interface options, size constraints)?


Hi Brandon,
The motor that I am currently using is
I need to control 3 motors independently. Voltage range: 5-24vdc. I don’t need super slow or fast stepping. Size of modules shall be smaller the better, but can be up to volume 2x4x9" if need be.
I would want to add GPS and/or some type of AHRS (attitude heading ref system). Should I be looking at an Arduino based system?

That link looks like it is for a family of stepper motors, which still has a large variety of specifications (for example, the 17Y201D-LW4 model has a 0.28 A per phase rating, while the 17Y408D-LW4 model has a 3A per phase rating). So, I still cannot give very specific recommendations.

In general, for a system like that, you will likely have a main controller (such as an Arduino or Raspberry Pi), which you can program to process your inputs (e.g. the GPS or AHRS system) and generate the signals for the 3 separate stepper motor drivers or controllers.

You will need to decide whether you want to use stepper motor drivers or something like the Tic Stepper Motor Controllers. In general, the stepper motor drivers use lower level signals, so you would need to do more with your main controller to generate all of the necessary signals for all 3 independent drivers. The Tic Stepper Motor Controllers can be configured via USB and have a few higher-level control interfaces like TTL Serial and I2C. You can chain the boards together to control them from the same TTL Serial bus, or use different addresses to use them with the same I2C bus, reducing the number of required connections and wires, and reducing the overhead required from your main controller in generating the signals. For example, you can send a command to tell one stepper motor to move to a specific target, and the Tic will handle the rest according to the configured acceleration, deceleration, and max speed settings. I suggest looking through the Tic stepper Motor Controller user’s guide to see if you think it is a good fit for your application.


Hi Brandon,
Thanks for the great information. I meant to provide the motor part number in the previous email, but forgot to include that.
After doing some research, I may want to use an Arduino or Rasberry Pi main controller with the Tic T500 (qty = 3).
If I use the hardware described above, is there an auto ON function that will allow automatic program execution when power is turned on?

The Arduino will run your program as soon as it is powered up, and you can set up the Raspberry Pi to do so as well.


Hi Brandon,
I plan to use a Rasberry Pi4 and would like to use a Tic controller (T500?). For my project, I will need to run 3 step motors which requires 3X Tic500s.
In this config, with 3 Tic500s, is it possible to connect all 3 to a Rasberry Pi4 model B? I assume all 3 will need to be connected to allow all 3 motors to be controlled simultaneously.
The Pi 4 has two USB 2.0 ports and two USB 3.0 ports.


How you connect the Tics to your Raspberry Pi depends on what interface you are using.

If you are using USB, you can connect each of them through their own dedicated USB cable. You might consider a USB hub if you need additional ports.

Alternatively, if you use the TTL serial or I2C interfaces, you can find some generic examples for connecting multiple Tics to a microcontroller in the “Setting up serial control” and “Setting up I2C control” sections of the Tic user’s guide.

In the “Writing PC software to control the Tic” section of that same user’s guide you can find sub-sections with Python examples for using the ticcmd command-line utility (i.e. USB), the serial interface, and the I2C interface.