Can mismatch PWM frequency destroy a motor controller?

Thread Starter


Joined Oct 17, 2011
Hi everyone,

I was testing PWM frequencies to a motor controller and that motor controller seemed to be dead now :(
The motor controller can support up to 20khz. I was giving it about 60khz at half the amp rating.

Can this have caused my controller to die?


Joined Sep 17, 2013
The higher the PWM frequency the greater the proportion of time that the switching MOSFETs spend in the 'part-on-part-off' state and hence the more heat they generate.


Joined Mar 10, 2018
You also at higher frequency have overlap timing issues that can cause
two switches on same side of H Bridge (if that is being used) to cause
short of supply to ground. PWMs, the more advanced ones, have a dead
band control to take care of this.

Regards, Dana.

Thread Starter


Joined Oct 17, 2011
the pins on the Arduino mega 2560 that I am using can only output either 3khz or 31khz at it's highest so I guess I'm stuck between these two values.

If the stat sheet says the controller can handle up to 20khz and I give it 31khz, what do you think will happen? Will the controller just max out at 20khz or will it mess up the controller?


Joined Oct 29, 2013
Too high a frequency can break the controller, as described above. Possibly the worst case is like @danadak described where, if it's built with opposing transistors such as an H-bridge, with the frequency too high the transistors on one side might not turn off in time before the other side turns on, resulting in basically a short.

You can definitely output arbitrary frequency PWM with the arduino, though you may have to write some code yourself. And the accuracy might not be super spot on, but could be good enough for your case. For example, check out the Tone library. Maybe the Tone library will work for you as-is if you're ok with 50% duty cycle: