I am trying to build a controller for a brushed DC motor. AIM:-

  1. To Run the motor at continuous load of about 8A.
  2. Rotate motor in both the directions i.e. forward and reverse.
  3. Control the speed of motor, possibly using an MCU that will feed the PWM to MOSFET gates via a drive circuit.


  1. Choice of MOSFETs
  2. Drive circuit for the bridge using N-Channel MOSFETs for both high side and low side.
  3. I want to drive the MOSFETs using discrete components only and not using a gate drive IC.

I tried the attached circuit, however, the upper MOSFETS get heated to about 75 degree celsius in just few minutes, if I can make some changes in this and make this work please let me know or if I need to use a different circuit altogether. Since the MOSFETs were heating I also tried to use the STP55N (55A) MOSFETs but gave the same response. IN_1 and IN_2 are PWM inputs for forward or reverse condition. INP will be a 24Volt supply.

PS : Is this the issue with the drive logic that I am using? What can I do for that?

enter image description here

  • 1
    \$\begingroup\$ Measure the temperature of both upper and lower transistors AND ambient temperature if you want good advice. State what the load resistance is and what the power rail voltage is. Put this detail on the schematic where it belongs. Add the capacitance of the bootstrap capacitors too. Don't skimp on the diagram!! \$\endgroup\$
    – Andy aka
    Jan 31, 2021 at 10:36
  • \$\begingroup\$ What is the pulse rate and duty cycle for the high side drivers? What does the high side gate drive waveform look like? With 10K in series with the gate, what sort of rise and fall times are you expecting? In short, I don't believe you are turning the high side FETs on properly. \$\endgroup\$
    – user16324
    Jan 31, 2021 at 13:27
  • \$\begingroup\$ @Andyaka The temperature on upper MOSFETs are going up to 75 Degree however the bottom MOSFET stay at around 37Degree Celcius. Pardon me for vomiting the capacitor value. Bootstrap capacitor is 10uF 50V rated. Ambient temperature is 23Degrees. I am not sure what the load resistance is, but this is a DC motor with an average current of about 7A. Power Rail = 24V Load Current = 7A \$\endgroup\$ Jan 31, 2021 at 13:49
  • \$\begingroup\$ @BrianDrummond Currently to check I am pulling down T1 and pulling UP T2 to 5V. So Q1 and Q4 turns on giving me one direction in the motor. Later on I plan to give PWM (10KHz) with duty ranging from 40 - 100% to control the speed of motor. Please correct me if the approach seems wrong. \$\endgroup\$ Jan 31, 2021 at 13:51

1 Answer 1


Use proper FET drivers.

There is a lot more to driving FETs especially the high side FET than you realise.

Once you have the standard approach working, you can come back to rolling your own with a good reference point and a much better understanding of what's involved.

And be aware that even a real high side gate driver with a bootstrap capacitor can't just be turned on and work continuously. That either needs a supply voltage 10V above your VCC, or it needs to be switched off periodically (as happens in PWM) to recharge the bootstrap capacitor.

I know this is not the answer you want but from your responses so far it's the answer you need.


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.