DRV8834 driver

Hi Pololu Members,

We use DRV8834 driver with stepper motor SM0818 (SM0818.pdf (190.8 KB) ).

The settings are as follows: Indexer mode, 1/32 microstepping, step frequency 200 Hz. Motor supply: 3V, 300mA current limit. When the motor stops in some certain positions,
it starts making “swishing noise”. Is there any way to reduce this noise?

In addition, could you explain me, what exactly means “home state” in current steps? We would like to reduce idle current by control SLEEP or ENABLE pin, and I am not sure which one will be better for this?

Thank you for reply.


The home state for the DRV8834 corresponds to the 45 degree electrical angle step as shown in table 4 in the DRV8834 datasheet. When the driver exits sleep mode it sends the indexer to the home state which will move the motor unless it is already there. The home state happens on every 4th step in full-step mode, so in 32nd step mode the motor could move by up to 64 microsteps. When the driver is disabled using the nENBL pin the indexer keeps the current position and only the motor outputs are disabled. This could still result in the motor moving since the natural cogging of the motor will tend to pull it out of a microstep toward a full-step position.

There are lots of factors that affect audible noise from a stepper motor. Some easy things you could try are slightly adjusting the current limit or increasing your supply voltage. If you put the driver in sleep mode and then wake it back up and hold position without taking any steps, do you hear the noise? You might want to try that several times, stepping the motor in between each time.


Hi Claire,

thank you for reply.
Noise is actually heard only after the motor has been stopped and kept active (holding position).
If it is then put to sleep and woken up again (SLEEP pin), the noise will disappear. However, the same
does not happen with the nENBL pin - when the driver is disabled with this pin and then enabled again, the noise reappears.

So I think it could be solved by putting the driver into sleep mode every time the motor doesn’t move.
Moreover, I guess that the current consumption is much lower in sleep mode than in disabled mode?
So also from this point of view sleep mode could be the best solution for me.

Best regards,

Since the noise goes away when the driver sleeps but not when it is disabled, it sounds like it is linked to some specific microstep or steps. The current consumption is lower when sleeping, though I expect it to be fairly low when disabled as well. If sleeping when the motor is not moving works for your application, that is the easiest solution. If you would rather keep the driver awake, you could still try adjusting the current limit or motor voltage.