Large Stepper Motor Array

We are designing a very large bi-polar stepper motor array of 98 NEMA 17 motors. We are also novices. We would like to control them with an Arduino Uno. We cannot find any guidance on how to wire such a large array for driver controllers and maintaining signal and motor voltages/amperage. Can a single Arduino Uno control all 98 motors simultaneously, sending the same signals to each? Will there be a signal delay or amperage drop that affects motors in parallel? What driver controllers would be best to use in this large of an array? How can we keep the amperage high across the array so that every motor has the same torque at the same time? Does anyone know of a similar large array working and how to get in touch with the owners/designers for lessons learned?


Unfortunately, I do not know of any tutorials or other resources for similarly large stepper motor projects that I could point you to.

For a system that large, you will probably want to have several power supplies distributed throughout. As long as there is not much physical distance between a motor and its supply and each supply can handle the current draw of the motors attached to it, you should not have worry about the motors getting adequate power. Do you want all of the stepper motors to move independently, or all do the same thing, or some combination? What are the voltage and current ratings of your motors? The NEMA size only refers to the spacing of the mounting holes.


Hi Claire,

Thank you for your quick reply.
Our system is somewhat small. The longest power wire will be less than 6 feet. is that too long to come from 1 or 2 power supplies.
For our first phase of development all the motors will be moving in tandem. does this mean we could us the same signal coming from our Arduino Uno but split it between the 98 steppers? will the signal degrade if split that many times?
our stepper motor voltage is 2.2V and the current rating is 2A.
we are novices so if there is a better way to do what we are attempting we are open to any suggestions.

I suspect you will need more than 2 supplies for powering almost 100 motors rated for 2A, but that depends on the rating of your supplies and how you connect your motors. Since you do not need independent control and the motors are only rated for 2.2V while your supply is 12V, you might consider connecting a few motors in series to each driver. Also, 6ft is a significant distance, so you will want to calculate the voltage drop you will get from the wire resistance to make sure you use the right gauge wire.

I would not recommend just trying to connect the signal from your Arduino to 98 drivers. You will probably want to use buffers to boost the signal, though several drivers might be able to share the output of one buffer. From there, you could either use stepper motor drivers, which require step and direction inputs from the Arduino or one of our Tic stepper motor controllers which have a variety of more advanced interfaces and can be given target speeds or positions. In particular, one of our MP6500 carriers or our Tic T500 might be a good choice for your motor.

What is the application for this stepper motor array?


Hi Claire. Thanks so much for your insight. Our second engineer, Mark, will join shortly, but I wanted to answer your question swiftly.
The application is two counter-opposed pin arrays, with each having telescopic pins being driven by an assembly with a bi-polar stepper. 49pins on top, 49 pins on bottom. Purpose is drone capture and release from a moving vehicle. My design, via prototypes, can be seen on a video on our website’s homepage, These steppers essentially drive the pins, much like telescopic linear pin actuators, 12 inches out and capture a drone, and then 12 inches back to release. I’ll let me engineers engage you on your other suggestions. We want to have all 98 operate simultaneously and not skip any steps, nor have any delays. The video shows the behavior we want to mimic (v1 has 18 inch solid pins, and mechanically move simultaneously).

This is Mark,
My first thoughts are to use a bench top type pulse generator to create the signal for all the motors then have the Arduino control the signal from the generator to the driver boards.

That is a pretty interesting application! Using a pulse generator to supply a step signal is probably fine. You will still need buffers or something to connect it to 98 drivers though. I am not sure what you mean by have the Arduino control the signal, but we have seen many people use just Arduinos to generate the pulses for their drivers.


I was thinking of using something like a bk precision 4030 to do the do the stepping pulses out to the motor controller boards. I am not sure how much output current a micro processor to drive many boards, I was think of using an Arduino controlling a relay, the output of the relay would connect the pulse generator output to the stepping pin on a motor controller board and those pulses would move the motors.

Hi Claire,
could you elaborate on on your post about “connecting a few motors in series to each driver?” is there examples of this wiring?
You also mentioned several drivers might be able to share an output buffer, are you referring to to the step and directions pins on a 4988?
Do you know what the current draw of the step and directions pins a a 4988 “green board” is?

If you want to control two motors from one driver, they can either be connected in parallel with all four wires from each motor connected to the outputs of the driver, or they can be connected in series like the picture below from RigidWiki.

When connected in parallel both motors will draw the full current expected at the applied motor voltage, so the driver will have to supply double the current. When connected in series, the motors will only actually see half the applied motor voltage and only draw the corresponding current (half of what they would when alone). This means that generally when using two motors in series you should use the same current limit setting, but you might need to increase the supply voltage.

As I mentioned, you might run into issues if you try to connect the step pins of 98 driver to a single microcontroller output, so you will likely need a buffer (or several). The step pins of multiple drivers could be connected to the output of the same buffer though, so you should not need 98 buffers.

The Electrical Characteristics table in the A4988 datasheet lists the typical input current on its logic pins as less than 1uA with a maximum of 20uA.