I’m trying to quantify the resolution of a stepper motor. Meaning, if I say travel to 500 steps, I want to define a window in which the stepper actually travels (say 495–505 steps). I realize this may be better defined in degrees, and should be done bidirectionally (say from 1000 to 500), to account for backlash and hysteresis.

My question is this: intuitively, a stepper motor will lose > 1 step, in most cases. But the article How to prevent step losses with Stepper Motors states that it will always miss steps in multiples of 4.

Frustratingly, I can’t resolve why. Number of poles? Drive method? In the end, I want to design a DOE for my stepper, but can’t until I understand expectations.


  • \$\begingroup\$ what's a DOE? Note it only loses 4n steps when being driven with 4 steps per electrical cycle. \$\endgroup\$
    – Neil_UK
    Commented Jun 22 at 15:22
  • 1
    \$\begingroup\$ Design of experiment \$\endgroup\$
    – FaulknerW
    Commented Jun 22 at 15:23
  • \$\begingroup\$ DOE = Design Of Experiment? Try to drive (random "right or reverse" with a known end) at low speed the motor with "no load" and "count" the steps ... You should loose 0 steps! \$\endgroup\$
    – Antonio51
    Commented Jun 22 at 15:37
  • \$\begingroup\$ Thanks. I am dense. So in the case that there are 4 steps per electric cycle: it misses 4n steps because any less than this would be impossible (because missing the 1st step in the cycle would necessarily ensure the entire cycle is missed)? \$\endgroup\$
    – FaulknerW
    Commented Jun 22 at 15:58

2 Answers 2


Think of how a stepper motor cycles through the phases. Image from here:

enter image description here

It takes 4 electrical steps to mechanically move the poles one position. So when the motor loses steps you will lose them in multiples of 4 electrical steps, assuming no microstepping.

In other words, for the same electrical input (say A+, B+) the shaft will come to rest in multiples of 4 electrical steps.

  • \$\begingroup\$ Thanks. In other words, say the load on the motor is too high at input A+ B+, then the remaining 3 electrical steps naturally will be missed due to misalignment of the rotor and stator field? \$\endgroup\$
    – FaulknerW
    Commented Jun 22 at 16:44
  • \$\begingroup\$ When A+ and B+ is energized the motor will be pulled to a position with the poles aligned. If you keep it so energized and apply torque to the shaft until it skips to the next 'cog' it will be a multiple of 4 electrical steps away where it sits when the torque is removed. Anywhere in between is not stable. That's why Faulhaber say it would take a change in the commutation to get it to sit in between. \$\endgroup\$ Commented Jun 22 at 17:11

A properly designed system with a stepper motor will never lose any steps. This is the advantage of a stepper motor.

Here is the test that I use to convince myself that no steps are missed: Run forward N number of steps, then backward N number of steps, you should be back where you started.

Or, since you know how many steps there are per revolution, software should always know when you are back where you started. Run X times the number of steps per revolution, then you should be back where you started. Missing a few steps can be hard to notice, so do this 100 or more times in a loop.

Stepper motors can lose steps if you try to accelerate too fast. The limit will depend on the motor and the moment of inertia of the load. If you are using a common MCU, there should be libraries to help you with this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.