Pololu TB67S249FTG and whining noise when idle

Hello all,

I am driving an old HDD’s bipolar stepper motor using a pololu TB67S249FTG and an Arduino. I’ve managed to set it up correctly but I need to set the current limit or the drive will just get very hot. There are no specs online so I have to guess the value.

However, whenever the limiter engages, the motor starts emitting a high pitched whining noise.

I’m feeding 12V to the driver via my bench PSU, the driver is driven by DIR and Step on the Arduino. The driver is set to full-step as the original drivers on the HDD can do full and half only.

I’ve searched online and I see this happening often. Is there a way to eliminate it with my HW combination? If not, is there a different driver I can try which doesn’t exhibit this issue?


Hello, Tony.

Powering a stepper motor with the current limit configured too high could damage your motor, or even turn into a safety hazard. If you really cannot find specs for your motor to ensure you are using it correctly, then you might consider switching to a different stepper motor.

The high pitched whine you are dealing with is a relatively common issue with using stepper motors, and there is not a single method (or driver) guaranteed to eliminate it, but there are some different ways you could try to reduce it. Here are two resources that might be useful:

- Patrick

Thanks Patrick for your time.
The motor is the one which comes with the HDD and I cannot change it. I’m confident I can set a current lower enough so I don’t break it.

Thanks for the links, I’ve taken a look and I’ll play with the settings.
One comment on my end is: I am not complaining about the noise the motor makes when it moves; what I’d like to avoid is the noise when it’s idle.

One option I didn’t consider is to simply disable the “enable” pin in between cycled. I didn’t consider that, it’s likely the best choice as I don’t care whether the motor is kept energised or not. I will play with the decay settings etc but disabling the whole driver in between movements sounds like the best option!

Thank you so far!

The main drawback to deenergizing the motor as you are proposing is that the motor will have essentially no holding torque when it’s deenergized, which means it could easily lose position. But if that is not important in your application, then that approach is probably fine, and it also has the benefit of being more energy efficient.

In applications where losing position would be an issue, some options are to look into stepper motor drivers/controllers where the current limit can be dynamically adjusted by your system’s microcontroller, like our MP6500 Stepper Motor Driver Carrier with digital current control or one of our Tic Stepper Motor Controllers. Alternatively, you might consider adding a brake to your system. Some stepper motors are available with built-in brakes, but we do not have any specific suggestions for those.

- Patrick