I have breadboarded a simple H-bridge shown further down using the mosfets linked below the schematics.

The prototyping motor is a DC 12V 1A (NO LOAD) Motor Pictured below: enter image description here

Ultimately I ultimately want to use the motor pictured below: (so if you have tips concerning this motor and how it will behave let me know because I have not gotten past the small motor to test the big one) enter image description here


simulate this circuit – Schematic created using CircuitLab

P-Mosfet Datasheet

N-Mosfet Datasheet

Ok so I originally had no Cap across the little motor, in that scenario the switching mosfet got really hot at low duty cycles and just motor just turned off at 20% duty cycle.

Adding a capacitor across the Drain of the two mosfets as pictured in the schematic made a world of difference! Mosfets stayed cool and worked through the entire pwm rang and the voltage spiking because of switching transitions remained low. But the cap got hot as hell. its a tiny ceramic 50V , but i think the current through it is whats making it hot.

Next I moved the cap closer to the motor, in fact right at the connectors as you can see and that helps also, now I can have a smaller cap near the mosfets and all works well.

from some reading I have read about RC snubbers, I tried that but my Resistors quickly burn off.

So my question is how do I fix the issue of my caps getting hot? Because imagine if I am using the bigger motor I am sure they'll get hotter. Do I just need a higher voltage rated cap?

One way that i found worked was that since I am using a 5uF that is getting hot I used 5 1uF in parallel and that stopped the heating since they share the current.

Any other tips are welcome. I see some off the shelf motor drivers with SMD components and no huge power resistors or caps to snubb spikes etcc..... how do they do it?

  • \$\begingroup\$ At DC, an inductor and a capacitor behaves as their symbols look like. The higher up you go in frequency, the more they behave as their opposites at DC. So if an inductor behaves as a short circuit at DC, then how will a capacitor behave at 25 kHz, or for simplicity, let's say infinite Hz? \$\endgroup\$ Nov 11, 2018 at 10:44

1 Answer 1


Your capacitor is getting hot because it has a 25kHz 12V square wave across it. Every time the switching FET turns on it connects the capacitor directly between ground and +12V, which causes a very large current spike as the capacitor charges up. Then when the FET turns off the capacitor discharges through the motor with a current equal to the motor current. At 25kHz a 5uF capacitor will be discharging continuously at 1A during PWM 'off' time, and could be charging with a peak current of 20A or more (depending on how fast the FET turns on). This may result in a power loss of several watts in the capacitor.

You only need a small capacitor across the motor terminals to suppress the RF noise caused by brush arcing. Typical values used are 47nF from terminal to terminal, or 100nF from each terminal to the case (which 'grounds' the case to RF and provides 50nF across the terminals). A smaller capacitor needs less energy to charge and discharge so the rms current and heating is lower. 50nF is 100 times less than 5uF so it should have insignificant power loss, but an even lower value would be better if it still sufficiently suppresses RF noise.

The motor has relatively large inductance which tries to maintain current flow when the FET is switched off, and it will generate whatever voltage is required to make this happen. In a bridge circuit this 'flyback' current goes through the diode across the upper FET (M4 in your schematic) which limits the inductive voltage kick to ~0.7V above the supply voltage. This is much better than using a snubber capacitor to absorb voltage spikes because it returns most of the inductive energy back into the motor rather than burning it off externally.

MOSFETs have internal body diodes which are usually strong enough to handle the full motor current with reasonably low loss, so external flyback diodes are not normally needed.

However you do need a large low ESR filter capacitor across the power supply to prevent voltage spikes on the power rails. Remember that when PWM is applied current is drawn from the supply only during the PWM 'on' time, and this pulsing current will induce voltage spikes caused by inductance of the power wires. Without filtering these voltage spikes could go high enough to damage the FETs and other parts of the circuit. The capacitor should be connected as close as possible to the FETs to reduce inductance and resistance, and since it may have to pass significant ripple current it is better to use multiple smaller capacitors in parallel rather than a single larger one.

As soon as you have proved basic circuit operation you should move it off the breadboard. These are infamous for having high resistance connections which can cause weird effects, and the strips are only good for about 1A max.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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