8825 driver - conserving power

Hi, I’m using an Arduino Uno with four 8825 drivers to run four 12v linear stepper motor.

I’d like to conserve power when they are not in use. I have them wired up to match the Alternative minimal wiring diagram… that is:

reset and sleep are tied together
step and dir connected to microcontroller pins
ground connected to ground of microcontroller
fault connected to +5v of microcontroller
A2,A1,B2,B1 are connected to microcontroller
gnd and vmot connected to 12V power supply with 100uf cap

It all works fine, but I’d like to disable them in between operating for power conservation. Would it be ok to change my fault line from +5V to say pin3 of my Arduino. Then set pin3 as an OUTPUT, and change state from low to high when ever I want to use it? I tried it with one stepper motor and it seems to work, but I’m worried it might be a bad practice, or doing it for multiple steppers all tied into the same pin might be bad.

The motors can’t really spin on their own in the setup, but would this wiring setup be bad for the Arduino pin3 with a rotary style stepper if you accidentally spun one/all of the motors gently and generated current?

Also tried leaving fault connected to arduino +5V, and using the enable pin, setting it HIGH when not in use and LOW when I want the motor to move. That seems to work too. Is it better to do it this way, or is there no difference?


In general, it is not good practice to drive an output pin. Since the FAULT pin is connected to a 1.5k protection resistor and that setup seemed to work for you, you could continue driving the FAULT pin from your Arduino to enable and disable the stepper motor driver. However, we recommend using the ENABLE pin, which is an input and intended for that purpose, instead of the FAULT pin.

- Amanda

Ok, Thanks!