DRV8825 current adjustment

Hi - I’m building an eShapeoko - a CNC machine which uses 2 NEMA23 motors on the Y axis, 1 NEMA23 motor on the X axis and a NEMA17 on the Z axis. It is driven by an Arduino uno loaded with GRBL, and a GAUPS shield which supports four Pololu DRV8825 high-current driver modules - the purple ones…

I am testing the motor control at the moment - running the motors through the arduino, but not attached to the machine framework, so there is no load. I am using a laptop 19v 3.95A power supply, which is low for the application but should do for testing until my ordered supply is delivered.

I read a warning that the DRV8825 driver modules should have their current turned right down to start with by rotating the on-board pot fully anti-clockwise. So I did this, and on connecting and running some G Code through the system, I got no motor motion at all.

On adjusting the pots, I got reasonable rotation from the NEMA17, but poor rotation from the NEMA23s. I thought this might just be low current, but I then noticed that one of the Y axis NEMA23s was quite warm to the touch, while the other motors were cool. The corresponding driver heatsink was also hot. It looked as if that motor was drawing all the current. The other Y axis motor ought to be a similar temperature if both pots are in approximately the same position?

My questions are:

1 - How do you adjust the pots to get the optimum current? I believe that there is a test point, which I cannot reach as it is under the driver heatsinks. Is there any other way to do it?

2 - Am I doing the right thing by testing these items with a low power supply, or is that a danger in itself?

3 - Could I test each motor and driver individually, by removing the other drivers from the shield and/or by unwiring the other motors?


You can find a video that details setting the current limit on our DRV8825 carrier board in this post on our blog (the video is also linked to on the “Resources” tab of the driver’s product page). It should be possible to measure VREF on the top of the potentiometer (the video shows how to do that).

In general, a 19V supply capable of delivering a few amps should be capable of driving a few stepper motors, but that depends on how much power the steppers consume themselves. If you are concerned, you might monitor the supply voltage with an oscilloscope to see if you notice any voltage dips or spikes that could cause components to reset or be damaged.

Separating the drivers from the main control board or removing the other driver boards from you controller board to test them individually is a reasonable thing to do. The video shows how to set the current limit using a breadboard. If you do power the drivers from the main control board and power them separately, you should include a large electrolytic capacitor in your test circuit on the motor power supply near the carrier board to limit any destructive LC voltage spikes.


Thanks for that - much appreciated!

This has addressed my problem completely - thanks, Nathan!