Pros and Cons of Stepper Motors

Stepper motor?

When you think of a motor, you might think of a DC motor that spins as soon as you connect a battery. But a stepper motor turns in a different way.

The Adafruit site has a great explanation of how they work.

A stepper motor is not very easy to control. However, it has a lot of advantages. In fact, I think it's the most suitable type of motor for small experiments. Textbook advantages would be accurate positioning and speed control, but I feel their main advantage when actually using them, is they can move slowly and smoothly.


Stepper motors can spin slowly and have the most torque at low speeds. In fact, if you think about it, you probably need a slower rotation more often than a higher speed one. By using a stepper motor, you can make a slow-moving object with a direct connection to the motor shaft without using a speed reducer.

Quiet and smooth

The stepper motor driver (PowerSTEP01) used in STEP400 has a function called microstepping, which provides finer control over one step by further dividing it. I think this feature is available in most practical motor driver chips/models. The PowerSTEP01 can divide one step into a maximum of 128 divisions, so in the case of a motor with 200 steps per revolution, you can control it at a resolution of up to 200x128 = 25,600 steps within one rotation. Moreover, the main advantage of microstepping control is that by making the steps finer, the jumps between steps are smaller and the rotation becomes very quiet and smooth. Especially at low speed, such stepper motors can rotate almost without producing any sound.

An example

This video shows the back side of one of my past projects. The motor shaft only has a range of 45 to 90 degrees of rotation, but by precisely controlling that range, we were able to keep the number of mechanical parts to a minimum.

Note: This project uses an early prototype of STEP400 which uses the L6470 driver, not PowerSTEP01, but the performance is exactly the same when it comes to microstepping capabilities.

While this example is a full scale project, you can of course use such capabilities in simpler experiments. For example, in the last scene of the STEP400 introductory video, the board is turned by a stepping motor.

I think a stepper motor has great potential as a simple constant-speed rotation device. Other advantages include the ability to provide torque and hold the load even when the motor is stopped and a lack of sparking brushes for greater durablility.


Of course, stepper motors also have some disadvantages. The biggest drawback is probably the complexity of the control circuit. Luckily, this is the part that STEP400 can handle. Also, if the load exceeds its limit, at some point it will suddenly shift out of position. Without an external sensor, this fault cannot be detected. Also, certain frequencies tend to resonate for structural reasons and those vibrations can become louder and more prone to stalling at certain RPMs. The PowerSTEP01, used in STEP400, has a function called sensorless stall detection, but it doesn't seem very practical in real world situations. This subject will be discussed in STEP400 or STEP800 documentations.

Back to top