Calculate the correct current limit for driver A4988

Im using the driver A4988 together with stepper 28byj-48. Ive read somewhere that the correct current limit on 28byj-48 is somewhere between 0.1-0.15 v. However if I feed it with 12 v there is a high frequence noise that wont go away untill I turn my powersupply down to around 9 v. However if I adjust the current limit to around 0.2 v the noise goes away. I wounder it this is to high value for my stepper. How do I know?

How can I calculate the correct value on the current limit?

Here is the specs for 28byj-48:

Voltage 5V
Current 0.26A

Do I need different current limits depending on how much voltage I feed to the driver? On 9 v the stepper sometimes fails to hold its position on high speed.


You can find the equation for setting the current liming on the [A4988 carrier product page]. As described there, the correct formula depends on which current sense resistors your A4988 carrier has and is as follows:

V_{REF} = 8 * I_{MAX}*R_{CS}

If you have the green resistors (50 mΩ), the VREF calculation for setting the current to 0.26A is:

V_{REF} = 8 * 0.26*0.05=0.10\text{ V}

Otherwise, if your carrier has the white resistors (68mΩ), the calculation is:

V_{REF} = 8 * 0.26*0.068=0.14\text{ V}

In either case, setting it to 0.2V is too high for your stepper motor, which will likely cause it to overheat.

The operating voltage does not change your current limit calculations, but it does affect how the driver operates to maintain that current. At higher operating voltages, the current is able to ramp up faster, which lets you achieve higher step rates.

It is normal to hear some noise from the stepper motor when it is energized, so it is possible that what you are hearing is not an indication of a problem. Unfortunately, there are a lot of factors that could impact how much noise is being generated, so it is hard to make any specific suggestions, but you might read through some of the discussion in this thread to get an idea of some adjustments you could try. For example, you could try various input voltages, lowering the current limit (if your application allows for it), different microstepping modes, or using dampening fasteners to reduce vibrations.


A follow up question: If I am using a 2 phase stepper motor. Is the current limit calculation per phase? Shall I double the result with 2 phase stepper?

And with 28byj-48 which has four phases; shall I multiply with four when I am measuring the voltage on the driver

VREF=8∗0.26∗0.05=0.10 V x 4 = 0.4 V ??

I guess not but just want to be sure to get all the torque from the motor

Somehow I missed before that you are referring to a 5-lead unipolar motor. Unfortunately, our A4988 carrier is not intended to work with 5-lead unipolar stepper motors. It might be possible to drive the motor with it still, but the current limiting and microstepping features will likely not work as intended. You can find more detailed information in the posts in this thread.


Actually the motor is hacked into a bipolar motor according to the instructions for example here

I am also usinng another two phase nema 17 motor 17HS4023 with a4988. Both works fine but I might not get all the torque

So is the result of this calculation per phase?

So with a 4 phase motor shall the result be multiplied with 4?
VREF=8 × 0.26 × 0.05 = 0.10 V x 4 = 0.4 V ??

And in the case with 17HS4023 multiply the result with 2 according to a formula like below:

Vref = ( 8 × Imax × Rcs ) × number of phases

As I said I guess not but just want to be sure to get all the torque from the motor


Thank you for the additional information. Please note that the formula for setting the current limit on our product pages is for each phase, so you should not multiply it by the number of phases.

If that modification works how it is described in your link, it essentially turns the motor into a 2-phase motor (with the center-tap connection removed, each coil is essentially just two of the original coils in series). So, you should probably still set the driver’s current limit to the stepper motor’s original current per phase rating.


It seems I asked the question 9 years ago. Since then I’ve tried it
and it works. Datasheet (and now polulu) advises against this,
but… it works.

That said. The popular BYJ48 stepper is meant to operate at 70mA per
coil when activated one or two at a time. When used bipolar that limit
may reduce to 50mA. This will be tricky to configure with the pololu
stepper driver. When Designing a PCB for such a case, you’d use a
different current sense resistor, but on the pololu PCBs those are
already mounted for a 0.5 to 1.5A current setpoint.

On the other hand, if you give it a good attempt to configure it below
100mA, power the 4988 with 24V and properly ramp up the speed, then
these motors can achieve some significant speed that you wouldn’t
expect from them… :slight_smile:

About “the configuration” that pololu has chosen for these breakout
boards: For accurate (slow speed) stepping, the 4988 is configured
wrong. There is some allegro-recommended power-save mode that needs to
be disabled for “generic 3D printer steppers at 12V”.