Stepper Noise and Hot Drivers

Building my first MPCNC with a Ramps 1.4 board with A4988 drivers. I am using a 12V 6A power supply and have successfully got the machine to move and home itself to the correct front left home position. My issue is that the stepper motors have a very high pitch wine/noise, mainly noticed when machine is at rest and motors are in hold state, and the motor drivers seem to get abnormally hot (almost too hot to touch).

For reference, the stepper motors were provided in the kit from Ryan (STEPPERONLINE 5PCS Nema 17 Stepper Motor Bipolar 2A 48mm 4-Lead for 3D Printer/CNC) and these have a 2A rated current. To find the Vref for the drivers i used the formula Vref = 2A * 8 * 0.068= 1.08V. This is what my drivers are set to.

Does anyone know why the motors are making this whining noise and why the drivers are so hot?

The whine is normal. You won’t notice once your turn on the spindle/router. Best to put some hearing protection figured out now. The heat is normal, to a point. The motors need to stay under 50C to avoid bending the plastic. The drivers need to stay cool enough so they don’t turn themselves off.

I would recommend turning the drivers down to 0.7V. The motors and drivers can handle more, but you will get good torque and more reliable operation at a bit lower. If you find yourself skipping steps, then bump it up 0.5V at a time. But 0.7V should be oretty good.

1 Like

@jeffeb3 Thanks for the quick reply! I will try turning the Vrefs down. You mention bumping up 0.5V at a time, which seems like a lot. Do you mean 0.05V? 0.5V bump from 0.7V would take me all the way up to 1.2V which is higher than i am already.


I like your optimism!

Do you know what value sensing resistors are on your A4988 driver boards? Different manufacturers use different resistance, which leads to different measured vRef matching to actual current through the driver board. I had to turn mine way down after looking at this article as the “rule of thumb” I was using was incorrect for the resistors on my boards. I even had different resistors on boards that looked otherwise identical and were gotten from the same supplier (but in different orders).

1 Like

Ah, yes. Thank you.

Its quite difficult for me to read the resistor on the board. Do you know of a good way to measure the resistance value with a multimeter?

For the time being I have lowered my Vref to around 0.8 which has definitely reduced noise and heat.

You can’t test it in the system like that. You’d have to remove it.

Zooming in with your phone camera can help. It should be something like R100 (0.1Ohm) R050 (0.05Ohm) or R200(0.2Ohm).

I think I had to pop off a heat sink to see on one of mine. Luckily I kept the tape clean and it stuck back on without issue.

Hope I’m not intruding here, as i have a similar question just to be sure I’m not frying anything here…

…this is the voltage reading i’m getting on all 3 stepper motor drivers. For the time being I don’t use the end stops so the connection is as specified in the Primo instructions ie. two motors in one driver for X & Y. My Creality motors have the following specs
Rated Voltage: 4.8Volt
Rated Current: 1.5A/Phase
I used this formula Voltage at the pot =0.9(stepper current/2)* and I thought 0.69V should be ok for all 3 drivers. Is this correct?

With these reading and after ~1h of feeding power to the motors i.e. printing or just having Repetier Host connected to the board, I get ~49 Celsius on each motor and ~ 68 celsius on each stepper motor driver both on the heatsink and below it touching the chip as best as i could. Does this sound normal?

It really depends on the drivers you’re using, and in the case of A4988’s (or clones thereof), the value of the sensing resister the particular manufacturer chose to use. I was running my 3d printer on a “rule of thumb” I read somewhere that the measured vRef should be about half the current you wanted, so .7V measured for 1.4-1.5 amps at the motor. This “rule” was for DRV8835’s but that wasn’t listed in the article I read (or I missed it) so I was running my A4988 clones way too high.

As I noted above, this article got me on the right track to dialing in the proper current for my specific drivers and resisters. Things ran quieter, smoother, and cooler after I turned things down.

1 Like

Hi Tom,

i went through the article and then checked my drivers’ Resistance which i believe is 0.1Ω. Attached a close up picture of my driver; am I reading the value correctly?


If i do, then my settings should be changed to 0.96v compared to 0.69v that I currently have. Now the $1M question. What is the drawback if I play safe and leave the settings as is ie. 0.3v less than ideal? I’m just wondering if the temp of the motors will change with more voltage and if the printed part is in danger to deform because of heat. currently i’m about 49 Celsius on the motors and 68 Celsius on the heatsink of the drivers.

thanks in advance!

That’s a DRV8825, and all my experience is with A4988’s, so take this with a grain of salt. I think the DRV88825’s are much more standardized, so there shouldn’t be the difference in sensing resistors that exists with (knockoff) A4988’s.

The “cost” to lowering the vRef will be less current to the motors, which will result in less torque. The benefit will be cooler drivers and cooler motors, and possibly quieter motors as well.

Every machine is different and every owner has different needs and expectations. If you’re doing laser engraving or needle cutting foam then torque isn’t as big a deal. If you’re expecting to machine metals you’ll want all the torque you can muster and top speed won’t be as important since you’ll probably hit a point where rigidity/chatter/surface finish becomes unacceptable before you hit the top speed of the machine. You’ll need to experiment with your machine to find the “sweet spot” of balance between these costs and benefits.

1 Like

Hotter than 50C on the motors and you risk melting the motor mounts. Well, at least making them plyable enough that the part will bend.

1 Like

For reference, my drv8825’s are running at 0.7V (1.4A) and using an ir temp gun they are maxing out around 45C. I have a fan cooling them down though… I have always used cooling fans on my drivers, including my printers. Without the fan they get well over 70C. The data sheet specifies 125C junction max before shutdown. With a pcb of 70C I figure that is very close to shutdown… closer that I want to be anyways.

1 Like

I’ve always used a fan on the drivers too. Even a very small fan works well to make them much cooler.