I am powering a motor with a 12 V battery. When I power on the motor I am using 12 amps of current. As a result the motor uses 144 Watts.

Before I used to have this diagram:

enter image description here

(Powering the left relay would have the motor spin in one direction and powering the other relay in the opposite direction)

And now I want to achieve the same goal using a MOSFETs. So now I have this diagram:

enter image description here


  • All MOSFETs in diagram have the Gate, Drain and Source in order from left to right.
  • Green lines represent 22K Ohm resistor. There are only 2. They act as pullup resistors.
  • MOSFET Q2 and Q4 are P channel MOSFETs. Specifically BOJACK IRF4905
  • MOSFET Q1 and Q3 are N channel MOSFETs. Specifically BOJACK IRFZ44N

If none of the buttons are pressed then Q2 and Q4 MOSFETs are left closed so no electricity can flow. As you can see the gate is attached to a pullup resistor of 22k Ohms. So the gate is by default with a positive voltage. Because it is a P-Channel MOSFET that will make the MOSFET be left open. Because the MOSFETs on the bottom are N-Channel that means by default they are open.

If I press button 1 then the Gate of Q2 and Q1 will become negative instead of positive. As a result electricity will flow this way:

enter image description here


Why are the P-Channel MOSFETs (ones on top) getting really hot? When spinning the motor by pressing the button on the left, the top MOSFET Q2 gets really hot. When I press button 2 instead of button 1 then the top right MOSFET Q4 gets really hot. I gets so hot to the point that smoke comes out.

Why are the P-Channel MOSFETs the only ones getting so hot and not the N-Channel MOSFETs?

These are the specs of the IRF4905 MOSFET:

  • Voltage Vgs highest: ±20V
  • Number of stitches: 3
  • Operating Temperature:-55 °C to +175 °C
  • Thermal resistance junction to case A: 1.3°C/W
  • Voltage Vds Typical: 55V
  • Current Id continuous: 74A
  • Current Idm pulse: 260A
  • Surface Mount Device: Through Hole Mounting

Is my diagram incorrect? It works great when using a 9 V battery. But when I use the 12 V battery the p-channel MOSFETs get too hot. Should I buy a different p-channel MOSFET instead? If so what p-channel MOSFET do I have to buy?

This are the reviews of the P-Channel MOSFET that I purchased:

enter image description here

I guess that is my problem and that explains why only the p-channel MOSFET overheats.

  • 1
    \$\begingroup\$ What is the voltage on the gate of Q2 when pressing the button? \$\endgroup\$
    – HandyHowie
    Oct 19, 2021 at 17:07
  • \$\begingroup\$ @HandyHowie it is 0V when pressing the button. \$\endgroup\$
    – Tono Nam
    Oct 19, 2021 at 17:11
  • \$\begingroup\$ What is the Motor DCR ? High side is RDS(on) = 0.02Ω Rja=62 'C/W Where is your heatsink? \$\endgroup\$ Oct 19, 2021 at 18:42
  • 2
    \$\begingroup\$ With no heatsinks you would expect around 2.9W (12^2*.02) to make your FETs very hot. The question is why are the bottom FETs not getting hot. It's possible that the RDSon of the bottom FETs is much better than spec, or do you have different heatsinks on upper and lower FETs? Exactly what kind of 9V battery does it work "great" with? \$\endgroup\$
    – John D
    Oct 19, 2021 at 18:46
  • \$\begingroup\$ Exactly the P-Channel mosfet should be just like the N-Channel but everything backwards. Based on your comment maybe I got bad quality mosfets. I will try to buy from a different brand and compare. It makes no sense that only the P-Channel mosfet gets hot. \$\endgroup\$
    – Tono Nam
    Oct 19, 2021 at 23:33

1 Answer 1


What is the Motor DCR ? High side is RDS(on) = 0.02 Ω, Rja=62 'C/W

  • Where is your heatsink?. Use CPU heatsink with insulators & fan. Show pictures.

  • Also you have no deadband for commutation, meaning shoot-through during switch transition.

  • Specify motor DC winding resistance and use a proper H Bridge driver with low side PWM with deadtime , not a common gate drive. DCR determines start surge current and release of switch heats up low side by shorting out back EMF to 0V on both sides.

Overall needs much greater understanding on how a full bridge works so better specs and design results in cool operation.

Do not try to reverse full voltage at full speed as this doubles the motor voltage and 4x power.

  • If full load rating is 12A then start current might be 120 A (est)

  • If no load actual current is 12A, then start surge current might be 50 to 100 x no load current.

You need to specify DCR and full motor specs and controlled acceleration limits with inertia. (Basic Physics energy Gr XII calculations ).

  • \$\begingroup\$ Thanks for the help Tony. I do not want to use a H bridge driver because I do not plan on changing the speed of the motor. I am using the motor to raise something. Having it spin slower or faster does not make much of a difference. I guess I might have to go back and use a relay instead of a mosfet. The circuit works great but after 7 seconds it gets to hot. I need it to run for 15 seconds. \$\endgroup\$
    – Tono Nam
    Oct 19, 2021 at 21:05
  • \$\begingroup\$ You did not answer any of my questions about the heatsink or motor DCR and your switches are make before break. \$\endgroup\$ Oct 19, 2021 at 22:09
  • \$\begingroup\$ I do not know what is the motor DCR. The motor came out from this electric drill: amazon.com/Cordless-Drill-Batteries-Electric-Improvement/dp/… . I am not using any heatsink as I plan to spin the motor only for 15 seconds at most. Another reason why I did not purchase a heatsink is because with the N-Channel mosfet the mosfet did not got hot. Only the p-channel mosfets are getting hot. \$\endgroup\$
    – Tono Nam
    Oct 19, 2021 at 23:41
  • \$\begingroup\$ Unless you have a compelling reason to use mosfets and you’re happy with the relay solution, then stick to using relays. They are simpler to design with and more tolerant of mistakes. \$\endgroup\$
    – Kartman
    Oct 20, 2021 at 0:29
  • \$\begingroup\$ without flyback power diodes, or a power snubber, the high current switches will burn out fast from arc welds. But if you show the heatsink and how you measured current so why it gets hot, we can help. At the very least measure the motor DC resistance (with supply off) \$\endgroup\$ Oct 20, 2021 at 13:36

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.