I am back with my brushed DC motor PWM project.

From all the previous replies I got, I've settled with and built a simple one MOSFET circuit as follows:

enter image description here

I already tried the circuit before with C1 at 100 nF, which gave a PWM frequency of about 150 Hz. The whole PWM duty cycle range worked but the motor still spun even at the lowest duty cycle, the range was not linear and there was a lot of jerking in the motor.

I then read on the internet that my PWM frequency was likely too low. I opted to raise it to 2 kHz by replacing C1 with a 6.8 nF capacitor. I calculated that the dead time for the MOSFET would be about 1.2% of the total period at 2 kHz, which is still fine in my opinion. I confirmed this with oscilloscope measurement.

I tried my circuit again: no more jerking and a more linear range but at low PWM duty cycle, I can hear a worrying high-pitched whine (close to 2 kHz noise) coming from the circuit itself (not from the motor). I don't know if it comes from the 555 circuit or the MOSFET.

The very strange thing to me is that the whine lasts for a few seconds before the motor jumps instantly to somewhere in the middle of the PWM range. This happens reliably whenever I go to the upper PWM range and then go back down, as if there was some non-destructive avalanche breakdown of a component happening somewhere.

Here is a video of me testing the circuit; you can hear the whine and see the motor "jumping" to the mid speed range: https://drive.google.com/file/d/1f0vSzAntd52sPCEY5sCrNHMPXRk4C7YQ/view?usp=share_link

Please tell me if you know what's happening here, because I have no idea. I must have a missed an important detail I am not aware of.

On a maybe related note: after testing the circuit for a few minutes, I noticed the MOSFET heatsink was slightly warm, which wasn't the case when I ran the circuit at 150 Hz. That's to be expected as higher frequency with the same driving current means longer dead time for the MOSFET relative to the period, which means more heating.

I was wondering if driving the MOSFET from the 555 alone wasn't fast enough at 2 kHz. Maybe I need to use a CMOS 555 and put a proper driving stage between the 555 and the MOSFET gate? This would greatly reduce the gate charge time and hence the dead time. Maybe it would help the circuit run smoother?

If you think this would help, could you please recommend some parts for the driving stage?

P.S: Maybe I need to add a pulldown resistor for the MOSFET gate?


I've just ran the circuit while probing the 555 output (MOSFET gate voltage) and here is a video of what it looks like : https://drive.google.com/file/d/1f5-YWdOZ2zK52ZtLsc2__DINoROPSHKs/view?usp=share_link

It looks nothing like the open circuit 2 kHz square waveform. It looks like a ~100 kHz signal that varies with the motor speed. It should stay similar to the open circuit waveform, right?

Is this because there is no pulldown resistor? The gate picks up parasitic voltage from the power circuit?

Also, the whining does come from the motor when at minimum PWM duty cycle, not from the components.

The MOSFET was burning hot this time, I think this comes from the "whining" low duty cycle position, as the MOSFET is not fully off when it is supposed to, dissipating way too much current.

Any pulldown resistor value you would recommend? I would guess 10 kOhms is fine.

I'm really starting to think a proper driving stage might be necessary for the MOSFET heating issue.

  • 2
    \$\begingroup\$ Regarding your edit - you can probe the transistor gate at various PWM settings, and assess whether you need a gate driver or not. Actually you just need an experiment at one (mid-range) PWM setting, to assess rise and fall time of the gate voltage. \$\endgroup\$ Oct 18, 2023 at 12:22
  • 1
    \$\begingroup\$ very nice and complete problem description. yes, a pull down is a good idea, keeps the FET off if the 555 out is high impedance for some reason. The FET will in theory only consume power when switching, so at a higher frequency you expect more heat. Shorter rise times reduce this but can give other problems such as RFI. It's a balance of concerns. \$\endgroup\$
    – danmcb
    Oct 18, 2023 at 12:22
  • 1
    \$\begingroup\$ @danmcb - I've just read the following thread with a very good answer on pulldown resistors : electronics.stackexchange.com/questions/60427/… Maybe my MOSFET turns on at low PWM frequency because the gate is oscillating from capacitive coupling ? A pulldown may help in that case \$\endgroup\$
    – Solmyr999
    Oct 18, 2023 at 12:44
  • 1
    \$\begingroup\$ @Antonio51 - I've put the 10 ohm resistor because I've read that it prevents ringing of the mosfet gate. Maybe it's completely unnecessary. The 555 output (gate voltage) is perfectly fine even at low duty cycle when the motor and 24V battery are not connected. Somehow the motor and/or the 24V battery act on the mosfet gate in a way I don't understand. I will probe the gate voltage with everything connected to see if I can get what happens. \$\endgroup\$
    – Solmyr999
    Oct 18, 2023 at 12:49
  • 1
    \$\begingroup\$ 10 Ohm is too low. I should test a 100 Ohm. \$\endgroup\$
    – Antonio51
    Oct 19, 2023 at 16:37

2 Answers 2


I have redrawn the circuit and simulated it with microcap v12.

It seems that it works "well".
I have only added a diode at the output of 555 (diode D4 = 1N4001).

enter image description here

Adding the diode ... the negative pulse at the 555 output quasi disappear.

enter image description here


Alright, I've replaced the 10 Ohms gate resistor with a 100 Ohms one and it solved the issue I had at low duty cycle while also getting rid of the ~MHz ringing I had with the 10 Ohms resistor. Thanks @Antonio51 for the advice.

  • 1
    \$\begingroup\$ After seeing the video ... Have you added the diode at the output of the 555? You can try "reducing" the 100 Ohm ... Short wires are ok. \$\endgroup\$
    – Antonio51
    Oct 20, 2023 at 10:39
  • \$\begingroup\$ @Antonio51 - I haven't added the diode, only replaced the resistor. I'll move everything to a new question \$\endgroup\$
    – Solmyr999
    Oct 20, 2023 at 11:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.