Relay Based Dual H-Bridge

I designed this circuit for those interested in controlling motors that require a lot of Amperage, but have gotten frustrated over trying to create a MOSFET H-Bridge. I present to you a simpler design (yes it may take up more space) that uses only one MOSFET. This design allows the user to have two motors run forward, reverse, and have an electronic break. A single logic level N-Channel MOSFET (or a bunch hooked up in parrallel to increase the amount of current the circuit can with stand) allows for this H-Bridge to be PWM compatible! This circuit can also be re-engineered quite simply to use only three pins on a microcontroller instead of five, however doing this will not allow you to have an elctronic brake. Problems and Comments below :)













For the voltage that is driving the motors, I am actually going to be using 24VDC in mine, but it will basically work from 0<x<55 Volts.

schematic is flawed

I do like your circuit but you may want change the location of where the motor ground path connects to the fet array.


I’ve I had this design for awhile and did not catch that! Thanks, you saved a lot of headaches, ill be sure to post an updated schematic!



Is this the flaw you spotted in the original circuit? (Reference the updated one). Thanks again for helping me spot this problem! having the robot go full speed in reverse and not expecting it would have been potentially dangerous, thanks!

Okay, almost there.

Additionally, just to be clear, the  ground rail for the motors should be connected to the mosfet rail where the 2s are located.

Another Pair of Eyes

Thanks! Another pair of eyes is nice to have when its late at night, thanks for helping me edit this circuit!


Okay, I have updated the circuit, do you see anymore errors with it?


Looks pretty darn good now.  I want to build it. :slight_smile:


Alright! When I’m done building mine, ill post it up :slight_smile:


last one?

I had to laugh whem I spotted this one.  Relay 5 does not need to be PWM’d by Pin 5; just connect its ground to the regular (unmodulated) ground. 


Happy Trails

Nice Catch

I spotted that too. Haha yeah, I can picture the relay spasming out when the power is applied, very loud and annoying and probably would wear down the relay.


This is a great design. I have a couple fo comments:

1) If you use a DPCO relay per motor instead of two SPCO, you save yourself a pair of digital pins.

2) Rather than the FETs all in parallel, why not split them into two groups and PWM them for speed control? That worked really well for me here. (Schematic included.)

3) I couldn’t give you the theory, but something says to me that you can’t parallel up the FETs like that. I could be confusing it with something else, but I have a notion one of them will sink all the current.


The Theory

The theory I think youre thinking of is only relevant to bipolar technology, which becomes more effecient as it gets warmer, therefore all the current would go through one Bipolar transistor. The good news is, for MOSFETs the hotter they become, the less effecient they are, therefore creating more resistance and no longer becoming the least resistant path. This allows for you to put MOSFETs in parrallel and as one that is hot “cools” off, one that is already “cool” bears the load :slight_smile: As for the DPCO relay, I want my robot to be able to coast and be able to aply an electronic break :wink: this circuit here can actually be converted into acting into what the Circuit would be with just a DPCO relay by hooking up the relays and NPN transistors differently :slight_smile: As for the FETs in parrallel, they are just like that for simplicities sake, making it much easier to wire. Thanks for the input, it helped be broaden the view of what this circuit can be capable of with a few adjustments!


Of course. I’ve forogtten all that theory.  rakes didn’t bother me as my motors were worm geared! I was thinking, though: if you have teh control set up for N channel FETs, is putting P channel FETs on the high side of the H a real chore? I seem to recall, though, that P FETs can’t source so much current. And they’re more expensive.

Anyway, if you’re sticking with relays, have you considered coding for hysteresis around zero? Otherwise there’s potential for your relays to swich many times at low demands, specially if your controller has any kind of intelligence.

The good thing about changeover relays as you’ve used, is no worries about shoot-through!

Usefull solution !

How did building and operating this circuit go ? Any further points to note ?

This circuits works amazingly we’ll. I built a modified version for only one motor and set up the relays so only one pin was needed for controlling the motors direction and another pin was used for controlling the mosfet. It successfully drove around a 20 amp motor with a significant load. So I must say it is quite a successful and super reliable design!


Hello, I just want ask what should be the rating for relay(5v, 12A relay or higher)?


Doesn’t it depend on the load you’re driving? If you want to drive a 1A motor at 5V, get a relay rated greater than 1A at 5V.