After some tests with my multi-meter I was quite surprised that the windings of my stepper was not receiving the full current (1.5 A) even if the driver board was set so.

After mumbling and scraping my head for some days, I've found on the driver datasheet that in full-step mode only around 70% of the current is provided to the windings (see image below).

Later I checked other datasheets from different chips than the Allegro A4988, and it seems that this is a common approach.

I was pretty sure that in full-step mode the rotor was jumping from one stator-tooth to the next at 100% of the current. But it seems that I was completely wrong: the rotor is stopped between two teeth powered at 70%.

Why this choice? In this way more holding torque is offered by the magnetic field, or what? On the other hand, half-step mode allows 100% of the current on one tooth while cutting off the current to 0% on the next one. This mode will offer less torque?

I'm again scraping my head... I'm a little bit confused about what mode to choose to get the max holding torque when the motor is stationary with a fixed load...

A4988 Datasheet

EDIT: my modified table: A4988 - modified datsheet table

  • \$\begingroup\$ Shot in the dark: Loading the stepper when it's in a "100% current full step" might result in oscillations past that exact point. Having "/0% current on both phases full steps" is both less work for the drivers MOSFETs and feels like it might be more stable. Holding torque is technically the same for both though, just the incremental torque is reduced with more microstepping. \$\endgroup\$
    – towe
    Jan 11, 2021 at 12:47
  • \$\begingroup\$ Full step has max torque. If it slips the load is too great. Or acceleration too fast. Use pulleys for more torque \$\endgroup\$ Jan 11, 2021 at 13:33

2 Answers 2


Constant power drive.

70% current in each of 2 windings gives the same power as 100% in a single winding.

(Ditto 50% current in one winding, 86.6% current in the other.) These correspond to sin/cos 45 degrees and sin/cos 30 degrees respectively, and sin^2+cos^2=1.

That's how you microstep between two full steps and keep the torque constant.

If you only use 100/0, 70/70 and 0/100 you are half stepping.

As stepper motors often run hot, they may be thermally rated for full power in only a single winding, or the same power distributed across windings.

  • \$\begingroup\$ Got it. Thanks for the answer. (But now I'm thinking: what if I get a more powerful driver and increment the current in full-step mode to get my 100% in both windings? Unfortunately the datasheets of all stepper I saw are just reporting the standard indication like "rated for X.Y Amps/Phase". Not a word is said to specify if both windings can work with that current at the same time.... :( \$\endgroup\$
    – gimpo
    Jan 11, 2021 at 18:28
  • \$\begingroup\$ See last sentence. It'll probably overheat. \$\endgroup\$
    – user16324
    Jan 11, 2021 at 19:12

This is what microstepping is. Usually you configure it in the stepper motor driver. If you use a module they usually have a DIP switch for this.

  • \$\begingroup\$ I'm not using micro-stepping in my project. Standard resolution of 1.8 deg and 200 steps in more than enough for my current needs. If you check the table on the A4988 datasheet (page 17), you will see that half-step, 1/4 step, 1/8 step and 1/16 step #2 they all start with one winding current at 100%, while the other is at 0% (phase1=100%,phase2=0%). Why the full-step #1 is not starting with the same values? The second step (i.e. #2) could be then set equal to half-step #3 (i.e. phase1=0%,phase2=100%). There is a technical reason in not doing so? \$\endgroup\$
    – gimpo
    Jan 11, 2021 at 10:40
  • \$\begingroup\$ Doesn't have to be microstepping, see the other answer by Brian Drummond \$\endgroup\$
    – Pete W
    Jan 11, 2021 at 13:45
  • 1
    \$\begingroup\$ The question is why the driver is doing "micro"stepping (1/2 steps aren't particularly micro) even when told not to \$\endgroup\$
    – user253751
    Jan 11, 2021 at 17:52

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.