A simple yet useful Microprocessor based Arduino full-bridge inverter circuit can be built by programming an Arduino board with SPWM and by integrating a few mosfets with in H-bridge topology, I have explained the details below:
In one of our earlier articles I will comprehensively explained how to build a simple Arduino sine wave inverter, here we will see how the same Arduino project could be applied for building a simple full bridge or an H-bridge inverter circuit.
Using P-Channel and N-Channel Mosfets
To keep things simple we will use the P-channel mosfets for the high side mosfets and N-channel mosfets for the low side mosfets, this will allow us to avoid the complex bootstrap stage and enable direct integration of the Arduino signal with the mosfets.
Usually N-channel mosfets are employed while designing full bridge based inverters, which ensures the most ideal current switching across the mosfets and the load, and ensures a much safer working conditions for the mosfets.
However when a combination of and p and n channel mosfets are used, the risk of a shoot through and other similar factors across the mosfets becomes a serious issue.
Having said that, if the transition phases are appropriately safeguarded with a small dead time, the switching can be perhaps made as safe as possible and blowing of the mosfets could be avoided.
In this design I have specifically used Schmidt trigger NAND gates using IC 4093 which ensures that the switching across the two channels are crisp, and it's not affected by any kind of spurious transients or low signal disturbance.


Gates N1-N4 Logic Operation
When Pin 9 is logic 1, and pin 8 is logic 0
- N1 output is 0, Top Left p-MOSFET is ON, N2 output is 1, the Lower Right n-MOSFET is ON.
- N3 output is 1, Top Right p-MOSFET is OFF, N4 output 0, Lower Left n-MOSFET is OFF.
- The exactly same sequence happens for the other diagonally connected MOSFETs, when pin 9 is logic 0, and pin 8 is logic 1
How it Works
As shown in the above figure, the working of this Arduino based full bridge sinewave inverter can be understood with the help of the following points:
The Arduino is programmed to genearte appropriately formatted SPWM outputs from pin#8 and pin#9.
While one of the pins is generating the SPWMs, the complementary pin is held low.
The respective outputs from the above mentioned pinouts are processed through Schmidt trigger NAND gates (N1---N4) from the IC 4093. The gates are all arranged as inverters with a Schmidt response, and fed to the relevant mosfets of the full bridge driver network.
While pin#9 generates the SPWMs, N1 inverts the SPWMs and ensures the relevant high side mosfets responds and conducts to the high logics of the SPWM, and N2 ensures the low side N-channel mosfet does the same.
During this time pin#8 is held at logic zero (inactive), which is appropriately interpreted by N3 N4 to ensure that the other complementary mosfet pair of the H-bridge remains completely switched OFF.
The above criteria is identically repeated when the SPWM generation transits to the pin#8 from pin#9, and the set conditions are continuously repeated across the Arduino pinouts and the full bridge mosfet pairs.
Battery Specifications
The battery specification selected for the given Arduino full bridge sinewave inverter circuit is 24V/100Ah, however any other desired specification could be selected for the battery as per the user preference.
The transforer primary voltage specs should be slightly lower than the battery voltage to ensure that the SPWM RMS proportionately creates around 220V to 240V at the secondary of the transformer.
The Entire Program Code is Provided in the following article:
4093 IC pinouts

IRF540 pinout Detail (IRF9540 will also have the same pinout config)

An Easier Full-Bridge Alternative
The figure below shows an alternate H-bridge design using P and N channel MOSFETs, which does not depend on ICs, instead uses ordinary BJTs as drivers for isolating the MOSFETs.

The alternate clock signals are supplied from the Arduino board, while the positive and negative outputs from the above circuit is supplied to the Arduino DC input.
Have Questions? Please Leave a Comment. I have answered over 50,000. Kindly ensure the comments are related to the above topic.
Hi — thank you for responding so quickly — and thank you for identifying the Arduino unit:
but your answer concerning using two P-types in parallel – was not my question.
Not being familiar with the P-type MOSFET – my question was — can I use a 4420 driver to power a P-type MOSFET – or do I have to use the 4429?
Thanks in advance.
I checked the datasheet of 4420 and 4429, they look exactly similar to me, so any of these can be used for driving the MOSFETs.
Also, these drivers can be used with P-Channel MOSFETs and N-Channel MOSFETs, both.
Please correct me if I am wrong.
Hi — I’ve got a question concerning the IRF9540 Mosfets.
I’ve been using IRF 741 MOSFETs / TO 220 Case driven by 4420 / 6 A Drivers with great success.
Pertaining to the IRF 9540 MOSFETs your calling for — is there a similar P-Type match that you would recommend to match the IRF741?
Also- do you know if I should use the 4429 / 6 A driver for the P type – or will the 4420 driver work for both.
To be honest – I have never worked with P-type MOSFETs before – and am aware that they are a little slower than the N type MOSFET.
Finally – is there a particular Arduino that you use for the full-wave H-Bridge inverter?
Thanks in advance for any info you can send me
Hi, thanks for your interesting question.
You can use either the 4420 driver or the 4429 with the Arduino output for getting the intended full bridge output results.
https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/21419D.pdf
The Arduino is the standard UNO board.
…You can use two of these MOSFETs in parallel for the P channel MOSFETs.
https://www.mouser.com/datasheet/2/308/FQB4P40-1192331.pdf
Could you just use a stepper motor driver card and get square wave or sine by selecting microsteps?
Sorry, I am not sure if that’s possible or not.
Amazing article sir ! And how much the wattage of your design sir ? Thank you very much
Thank you Tom, The power of the inverter will depend on the transformer, battery and the MOSFET specifications, which can be upgraded to any desired levels.
The frequency is s 50Hz I’m using iron core for the transformer.
I want to design a 6000W pure sine wave inverter using 48v battery. My challenge is how to calculate the wire size for both primary and secondary kindly help to explain how I can calculate the wire size for both primary and secondary.
Thanks
Sorry, calculating a 6000 watt transformer can be difficult, I do not have the formulas for calculating such a huge transformer.
I wanted to know if the transformer is a 50/60 Hz current transformer made of silicon steel sheets. I have my doubts because, since it is SPWM, the frequency is much higher than those 50/60 Hz of a normal transformer.
In this case, would it not be necessary to have an LC filter at the output of the transformer?
Yes the transformer is an ordinary iron core step down transformer connected the other way round. Only capacitive filter becomes sufficient since the transformer secondary winding itself works like an effective inductor. I have added a 3uF/400V capacitor which converts the SPWM into pure sine wave.
Sorry for the continues questions, can supply be given from the DC power supply at the lab or should lead acid battery be used?
Thanks again, Mr.Swagatam
You can use any 12 V DC supply for testing, it can be from a 12 V battery or from a 12 V SMPS, just make sure it has adequate current supply for the transformer and the load.
Thank you sir
You are welcome Anooshka
And can I connect IC4093 Vdd to 12V directly?
Thank you in advance for your prompt reply
Yes 4093 can be connected to 12 V DC directly, however I would recommend using a 100 ohm 1/4 watt resistor in series with the positive supply of the IC, and also connect a 12 V zener, and a 1N4148 diode right across the supply terminals of the 4093 IC along with parallel connected 100uF/25V and 0.1uF capacitors, all these will ensure that the IC is not affected by the voltage spikes from the transformer
So these protection elements will all come in series with Vdd of IC 4093 or is it connected between Vdd and ground?
No, only the 100 ohm resistor will come in series with the (+) supply line of the 4093.
The zener diode, 1N4148 diode, 100uF, 0.1uF all these will need to be connected across the (+)(-) terminals of the 4093
Thank you sir
You are welcome!!
Also sir I wanted to know, while using 7812, it has 3 pins, input (12V/24V), ground and output. I had the following doubts.
How is 7812 output pin connected to the Arduino?
How is the 0.1uF connected?
It would be really helpful if you could explain the 7812 connection diagram.
Sorry for disturbing and thank you for your cooperation.
It is important to note that the battery for this project must be strictly a 12V battery, a 24V battery will not work and might burn the MOSFETs.
For the 7812 connection, the battery (+) will connect with the input of 7812, the battery (-) will connect with the ground of the 7812, the output (+) and the ground of the 7812 will go to the (+) and (-) of the Arduino socket respectively.
Thank you for your prompt response, lastly how is the 0.1uF capacitor across 7812?
The 0.1uF is shown for the 4093 IC which must be also supplied from the 7812 IC.
Across the input and output right sir? Because the middle pin will be grounded of 7812.
You have been a lifesaver, thanks a lot for your replies.
Anooshka,
The capacitor should be connected across the output and the ground of the 7812, one pin of the capacitor must always connect with the ground of the circuit or the device.
I am glad to help you!
Hi, I am doing the above project but I am using a 12-0-12 (500MA) transformer instead. I inferred that changing to 12V supply would be enough. I have few more doubts
1) Would there be any change to circuit, am I to provide a delay, in that case how could I do so?
2) Would there be any change to the code?
3) Is there any way to replace transformer just by using RL load?
Hi, If you use a 12-0-12V transformer and a 12 V battery, then with an SPWM Arduino code the output voltage from the transformer would be around 180 V only. You should use a 6-0-6V transformer instead.
Delay may not be required since 4093 IC has a schmitt trigger inside which will cause a slight delay in the operation of the two sides.
If you do not use a transformer then 220 V output may not be possible to achieve.
Thank you for your response
How do I get good Inverter board and software
You can get it from online stores like amazon.
Good morning, thank you for your article.
I would like to increase the power by putting 4x mosfets in parallel in the H-bridge (IRF9540+IRF540).
Is that possible ?
Do you have a low battery cutout planned for your UPS?
Thanks
Michael
Hello, you can try with single mosfets first and confirm the working of the circuit. Once confirmed then you can try adding more mosfets in parallel to increase the power output.
For a low battery integration you can try integrating the following concepts:
IC 741 Low Battery Indicator Circuit
Low Battery Indicator Circuit Using Two Transistors Only
Best Swagatam
If looked at the circuit and would like to know where the 4093 IC draws its power from? It is rated at 15V max input and the design has a 24V battery.
The p-channel mosfets would have to get 24V to switch off and then assuming the 4093 IC uses a 24V supply (which it can’t) the Vgs of the mosfets would be 0 or 24V with 24V being above the maximum Vgs of the mosfets.
Regards Tiaan
You are right Tiaan, the battery must be a 12V battery in that case! Thanks for pointing out the mistake.
The 4093 can draw the supply voltage from the 12V battery
hello dear sir project is isolated bidirectional dc dc converter kindly share circuite diagram
I don’t have it at this moment, if I find it will surely share it with you.
How to get Arduino code??
Code is already given in the above article.
Best Swagatam
Your projects are very helpful, I just want to know.
What should change in this circuit if I want to use a 12V/230V transformer and 12V battery?
Also should this circuit get a delay circuit and voltage regulation circuit like the 12V arduino inverter project you made?
Kindest regards
Tiaan
Thanks Tiaan,
you don’t need to change anything except the battery. Yes, there should be a delay around 10 seconds before the Arduino output can be connected with the 4093 inputs otherwise the mosfets can burn.
Best Swagatam
Your projects are very helpful, I just want to know.
What should be changed in the circuit if I want to use a 12V battery and 12V/230V transformer?
Kindest regards
Thank you Tiaan,
You only have to change the battery to 12V, that’s all, nothing else needs to be changed.
I want to follow your designs
Thank you, sure you can!
Hello, not sure if I am missing it here in the comments or not, but I am wondering if this is a push pull circuit, that if you use a neutral line you would say get two 110v lines, that combining them gives the 220v? (ie is this what is called split phase in the US.)
I am working on a solar inverter design using cobbled bits of info and have some experience with arduino so was hoping it could be a good method of supplying the logical control of the DC side to generate a much better than modified sine wave output of common inverters available off market. 🙂
Thank you for sharing your concern, yes the output of the inverter will be a push pull type and not split phase.
Please sir i need overload cut off diagram for inverter
You can try the opamp circuit from the following article:
https://www.homemade-circuits.com/low-battery-cut-off-and-overload/
I am building a 5level multilevel inverter as my project in school. I am using the h-bridge cascaded topology. I also want to use arduino to generate the signal for the gates of the mosfet. If I use the same switches say irfp460 for all the switches will it work fine? Thanks in anticipation of your reply
Good day, please can the same MOSFET be used for the high side and low side if the h-bridge?
If you are using a bootstrapped type H-bridge then all the MOSFETs can eb n channel and same, but for any ordinary h bridge the high side and low mosfets will be different.
Does this also apply to 5 level cascaded multilevel inverters?
what type of H bridge did you in your inverter?
Its a 5 level multilevel inverter that joins two Normal H bridge in series to get the desired 5 level. I want to know if I use the same switch for the eight switches, if it will work just fine
which IC is used for driving the H bridge?
Just the arduino for generating the switching signals
then it may not be possible use all the 4 mosfets with the same polarity
So please what do you suggest I do for the multilevel inverter
You can find some information in the following article:
https://www.homemade-circuits.com/wp-content/uploads/2021/04/multilevel-3-phase-inverter.pdf
Okay, thank you
Using Proteus to simulate h bridge inverter using arduino.should I use anything else e.g driver transistors bc547 or just 4093 OK.kindly how to upload simulation pics.kind regards john
Sorry I don’t use proteus, so can’t help with it!
good day ,
I will like to know what kind of transformer I should use to get 230 Vac using a 12 Vdc car battery.
Do I need 12V to 230V or 6V to 230 V transformer please ?
Thanks
Ambr
You can use 0-9V/220V for 12V battery
Sorry,
My Second statement would not work either.
I meant to say,
was to use P9 output to override N3 output via 1K resistor to N3 output modified with a 10K resistor.
p9-=+–|N1–>
| 1K
+——/\/\——-+
|
p8 >—–|N3>–/\/\–+–>
10K
This would Disable p8 if p9 is already High.
You design is interesting, but basic.
First, you have a Typo:
N1 output is 0, Top left p-MOSFET is ON, N2 output is 1, the lower right n-MOSFET is ON.
N3 output is 1, top left p-MOSFET is OFF, N4 output 0, lower left n-MOSFET is OFF.
Should be :
N1 output is 0, Top left p-MOSFET is ON, N2 output is 1, the lower right n-MOSFET is ON.
N3 output is 1, top RIGHT p-MOSFET is OFF, N4 output 0, lower left n-MOSFET is OFF.
Second, I would suggest that the N1 & N2 NAND and the N3 and N4 gates – drive the Upper Left & Right PFETs and the Lower Right & Left NFETs respectably. (Notice the Left / Right + Right / Left switch there) Else, you risk burning out your FETs if both p8 & p9 are High.
Third, I would suggest placing Pull-Down Resistors on p8 & p9 – to avoid spikes to your FETs at Arduino Bootup or if the P8 P9 Pins are in Zero-State.
Thank you for liking my basic design!
I have corrected the typo as pointed out by you.
With an Arduino it is highly unlikely for both the outputs getting high at the same time, still it may be important to have some kind of foolproof arrangement to counter the issue, I’ll surely think about it.
hello mr swag i have been trying your innovative circuit post and they have worked greatly but I wish to know if you have any h bridge inverters that is sine wave but not Arduino thanks a lot
Thank you Ifeanyichukwu,
You can convert an H bridge into sine by feeding a SPWM to its low side MOSFeT
https://www.homemade-circuits.com/diesel-generator-rpm-controller-circuit/
In this example it is only an ordinary PWM and not SPWM
Ok thanks a lot sir
Hi Swagatam,
Please assist me with the following.
Ref. Home Inverter Circuits Arduino Full-Bridge (H-Bridge) Inverter Circuit
I want to use a 250VA 220/32V transformer as the final output in my inverter. My total load is 160W. I therefore need to modify the secondary by removing some windings until I get 9V output. The question is will the transformer then be able to cope with a 160W load. I would hate to ruin a good transformer if it is not going to work.
Regards
Jan
Hi Jan, the wattage of the transformer is calculated by multiplying the V x I values of the winding. So if the V and I of the transformer winding is sufficiently rated to handle around 200 watts then the output will be capable of handling 160 watt easily.
Hi,
I have following questions,
1. How much wattage we can achieve with this inverter?
2. For higher wattage, do we need to design heat sink ?
3. is the output of transformer 220V, 50Hz, sinusoidal?
Thanks !
Wattage will depend on the MOSFET, transformer and battery rating, which can upgraded to any desired magnitudes.
Heatsink will e required for the MOSFETs can be tested through practical experimentation.
Output is sine wave. Frequency is 50 Hz
Hi Swag why the voltage output from the mosfet became drop into 1.3V. im using 12V as the input voltage
https://imgur.com/Fj4Y8eN
Hi Jack, Please try to figure it out yourself, because only diagonally mOSFeTs can be ON at any instant, all the MOSFETs can be never be ON.
Please check the logic sequence just under the diagram to understand how the N1–N4 gates are supposed to work, and how all the MOSFeTs can never turn ON together.
How many watts can take by this inverter? I have a transformer which removed from a 24v 1000va ups and hope to use that for this inverter.
for 24-0-24V transformer you will need a 36 V battery, and current of 45 amps
Thank you sir
I have paste the schematic to your facbook timeline you can check it please
The full bridge design is correct
Please sir, check this circuit if i made it correct and i got from this site and i made little modification https://drive.google.com/drive/mobile/folders/1Ld6NO3ZIq7EDEkf4RT2GUkVT6ELhN2ST?sort=13&direction=a
Bashir, It is not opening in my computer
As per the characteristics of the CD4093B found here https://www.ti.com/lit/ds/symlink/cd4093b.pdf it seems that the CD4093B if fed with 10V (instead of 12) needs typically (at ambient temperature ) 5.9V in order to accept it as a logical 1.
I deduced it from page 2 “positive trigger threshold voltage” at 25C “typical”.
How is it possible then that the arduino fed at 5V is able to trigger the logical 1 condition ?
Anything above 4 V is accepted as logic HIGH for any logic IC at 12 V. 5 V is logic 1 without any doubt. 4093 is a Schmitt trigger IC so rules could be different….Better check it practically by connecting the input directly to 5 V and checking the output. Alternatively you can try replacing the gates with 4049 NOT gates.
Hi,
I am just trying to understand how the above circuit works and I have implemented it but it does not work correctly for me and I will need too to modify it later on. I don’t understand some details:
1) The 4093 is fed with the battery voltage 12V. Will it output as logic true: 12V or 5V ? Can I change the battery voltage to 24V or 48V ?
2) In one case used 5V DC for driving the whole instead of 12V and after I took off the Vcc from the 4093 but it continues to drive normally the whole circuit probably using power from the arduino input. Should it be like that ? Isn’t a little bit strange ?
3) I used as a shortcut to drive the mosfets from 2 outuput gates only instead of 4. The system works but probably get’s hot because there is no delay between switching on and switching off … is it like that ?
4) I need a modified circuit that will work from direct current 110V without a transformer. How should I change the components ?
Hi, the circuit has to work since the NAND gate implementation looks logically perfect. The output from the NANDs will be 12 V if the IC is operated with 12 V…if it is operated with 5 V the MOSFETs will misbehave and not work correctly.
If you remove the 12 V supply from the NAND gate IC, again the system may behave weirdly and malfunction.
Using two NAND gates is absolutely incorrect and may easily burn the MOSFETs.
You must first try to implement the 12V design correctly, after that you can try the 110 V upgradation.
how to set transformer value in proteus? secondary and primary
The alternate clock input terminals must be integrated with the NAND gate outputs which will act like level shifters here.
hallo , can you explain to me about this word in above,
how to integrated NAND gate output with alternate clock
hi
If i`ll add pullup/pulldown resistors (G to S) would be any better ?
I`m wondering if there will
Thank you
yes you may try that for added safety to the MOSFETs
considering that there is 12V on the mosfet gate and the mosfet is rated 10V or -10V would be any good idea to add 1k resistor from N to G?
Thank you
Marius
you can connect a 1K from gate to source under all situations.
ok so i build one
the P-channel mosfets are overheating …
i`m trying to invert 24VDC to VAC for a project, seems that i have to chose a different way
thank you
Marius
The major drawback of using P channel is its heating up issue….we have to make sure that the RDSon of the pchannel is equal to the RDSon of the N channel…this can be done by adding more number of P channels in parallel.
So you can try using a couple of more p channel MOSFETs in parallel, that should solve the problem in my opinion.
another thing what i`m thinking about is that because that H bridge is paired as X
i mean mosfet 1 is paired across X with mosfet 4 and not with mosfet 3
I`ll try to pair the mosfet 1 with 2 and 3 with 4 to see the results
thank you
If you pair MOSFET 1 with 2, then how will the load operate? It has to be in diagonal form, otherwise the load cannot switch
I am creating the same scheme. Im using 6V DC input.How much AC can I take.
How can I calculate the output
Did anyone made this circuit as drawn in schematic and made it actually work properly? If yes, the circuit goes beyond my knowledge in electronics (MOSFET operation principle in particular). If not, than I’d ask Mr. Swag to build the circuit, test it and if it doesn’t work for him either to fix the schematic or remove it from the Internet.
Better explain your point instead of giving opinions.
Hi sir,
I can’t find CD4093 ic in local market. Can i use any NAND gate replacement of this?
Or is there any suitable replacement of CD4093 ?
Please reply asap.
Thank you.
Hi Sourav, 4093 is very popular, and should be available everywhere. Thee’s no other easy alternative for this, because others are 5V rated which will not work for MOSFeTs.
The prefix CD is not important you can use any 4093 version.
Finally if you don’t get 4093, you can go for any standar 12V NAND gate IC
Hi swag,
How can i convert 280 volts DC from set of solar pannels to 230 volts AC 50hz
sine wave without using regulator and battery
Thank you.
Hi Lahana,
you can try one of the designs from the following article:
https://www.homemade-circuits.com/5kva-transformerless-inverter-circuit/
thank you so much for your help, what if i use your design with
4 n-chanel mosfets and arduino ?can i get 230 volt AC from 280 volt dc
Yes that’s possible, but you will need a full bridge IC for that and switch it’s low side MOSFET with Arduino PWM. This might look like an overkill, because SPWM can be implemented in full bridge through synchronized op amp circuit also.
Good morning, Swag.
I have a mini system transformer I would like to use as an inverter of 12v x 110v x 100w, but I only know that there are 2 wires in the secondary and 5 in the primary. I do not know which wires connect to make the 110v, its voltage or amperage.
Could you help me identify the wires and fit the inverter design with only two wires in the primary of this inverter?
I have in primary between pins 1 and 2: 39.4 ohms.
Between pins 3 and 4: 26.3 ohms
Between 3 and 5: 40.8 ohms
Between 4 and 5: 37.3 ohms.
On the secondary: 28 ohms.
* approximate measures.
Tanks
Hi Marcelo, You will need grid supply 110V to test the transformer. Plug in two wires into mains 110V socket, one wire having a 60 watt or 40 watt bulb in series. Now cautiously touch the wire ends randomly across the transformer pins. The pair of pins that allows minimum glow or zero glow on the bub will be your 110V winding of the transformer.
Once confirmed connect the mains wires along with the bulb across those pins, and with a AC voltmeter start checking the outputs across the other pins of the transformer, and note down the corresponding data.
I did as you said, using a 40w bulb.
1 and 2: very weak
3 and 5: very weak
4 and 5: weak
3 and 4: strong.
The other combinations did not signal the filament of the lamp. I’m sorry, but I still do not know which wire to connect.
Thats transformer have 110v, 127v, 220v e 240v.
From the winding which did not give any glow check there resistances, the one with lowest resistance will be 110V…connect the 110V AC with series bulb across this winding and measure the voltages from the other wires to know their details.
Please sir I have some challenges in this high bridge inverter.
you can specify them, will try to solve it!
Hi Swag, appreciate your effort, I have a question related to that circuit. How can I control the output voltage of this full bridge inverter? Have you done any study about that ? As I have researched a comparison between output and a reference voltage (feedback) is needed but I am not sure how to make it. Thanks in advance
Thanks Blendi, You can control the output by upgrading the code such that one of the Arduino pins accepts an input from a feedback to adjust the PWMs fed to the NAND gates. I am not good with Arduino coding therefore for me it may be quite difficult to accomplish this.
Hi Sir, I have used this full-bridge circuit with 2 P-channel and 2 N-channel mosfets (this one in the top of the page) and I have supply the circuit with 6V DC so as a result I have received approximately 4V AC (peak to peak) in the output. Have I received the right result or not (why it is lower than our 6V DC)? In addition I wanted to know if using bootstrapping circuit with 4 N-channel mosfets full-bridge (The last one) is safer than this one with 2 P-channel and 2 N-channel mosfets or not ? Which one do you recommend and why ? Thanks in advance
Hi Blendi, 4V is correct because the output from Arduino is PWM in the form ON/OFF 6V supply…therefore due to the OFF periods the average will be lower than 6V.
The lower circuit has not been investigated thoroughly by me yet, but the first one looks fine in every respect, the only thing that needs to be considered is the selection of the p channel mosfet which must have an RDS(on) similar to the low side N mosfet. You can read more about it here
https://www.homemade-circuits.com/how-to-implement-p-channel-mosfet-in-h-bridge-applications/
…by the 4V is not peak to peak, it’s the average value, the peak will be 6V…also this is not AC, it is pwm DC
Do you have any e-mail address in order to send my result (The oscilloscope output) to you ? Because I couldn’t understand you last sentence.
Hi Swag,
So I don`t need to use delay ON timer and relay on positive wire, which is going to mosfets, if I`m using H-bridge configuration, or is better to use it?
How can I use voltage regulator with opamp741 with IC4093? Use opamp741 output transistors in series with resistor connected to output pins 8 and 9 of Arduino and then connected to ground? – so when the voltage is to high, transistors will short the signal through resistor(10Kohm) to ground and there won`t be any signal on pins of 4093?
Thanks for your help.
Hi Serd, delay ON will be required for this project also, because during initial switch ON, the Arduino outputs could be in an undefined status causing the mosfets to conduct abnormally and blow.
You can connect the output of 7812 to the Arduino, 741 circuit and the 4093 circuit, all together commonly.
The output from the following circuit (BC547s) can be connected to the IRF540 gates. Just make sure to use a 220 ohm between the IRF540 gate and respective NAND outputs
Hi Swag,
I think, that is good idea to add delay ON to positive wire with relay too.
“The output from the following circuit (BC547s) can be connected to the IRF540 gates.”
So, if I understand right, I can connect opamp741 voltage limitor output directly to both bottom IRF540 and that will cause that the gate of IRF540 will be connected to ground when output voltage is too high and IRFs won`t conduct. I think, you meant that for previous design, with center tapped transformer, not this one with H-bridge. Correct me if I`m wrong. How to implement this with that design, so H-bridge?
In my opinion, better idea is to connect Arduino output pins, with BC547 outputs (opamp 741 voltage limitor circuit) to ground. That will cause logical “0” on Arduino pins and so on IC4093 input pins and all MOSFETS will be closed.
“Just make sure to use a 220 ohm between the IRF540 gate and respective NAND outputs.”
It is generally a good idea to include a gate resistor to avoid ringing (parasitic oscillation). A low ohm resistor will solve the ringing. I think the typical value of 10-100 ohms from IC4093 outputs to each MOSFET gates in bridge, could be just ok. Why did you choose 220 ohm? It`s good idea to add a high value resistor (about 10Kohm) from the each gate of P-channel MOSFETS to positive voltage (pull-up resistors) and each gate of N-channel MOSFETS with 10Kohm resistor to ground (pull-down resistors). Anyway, the good thing is that there is IC4093 Schmidt trigger and it provides full switching of MOSFETS (fully open or closed) and there is no “floating” voltage on gates, thanks to Schmidt triggers.
Thanks for helping me out. I will try to make this design practically when I get all components.
Hi Serd, Sorry I forgot add the opamp circuit diagram, here it is:

I was referring to the full bridge only not the center tap. The BC547 collectors can be connected with the low side n-channel mosfet with the gate connected to N2/N4 through a 220 ohm resistor. The 220 ohm would also work since the frequency is only 50 Hz, enough time to discharge the mosfet capacitance through the 220 ohm also.
If you are doubtful then you can add a BC547/BC557 buffer between N2/N4 and the mosfets, and then integrate this buffer with the volatge limiter as done here:

Shunting any circuit output is inappropriate, therefore Arduino output cannot be connected with the voltage limiter, this may lead to high dissipation and may be harmful to the Arduino.
….yes Schmidt triggers are good, but only the p-channel and n-channel combination is not so good 🙂
Ok. So I must add gate resistor (10-220ohm) from N2/N4, to gates of lower N-channel mosfets and connect outputs with BC547 (opamp741 circuit), between gate resistors and mosfet gates. What about upper P-channel mosfets? Don`t they require gate resistor from N1/N3 too?
Thanks.
If you use anything less than 100 ohm that will cause 4093 to heat up and dissipate, that’s why I recommend 220 ohm, alternatively you can use 220 ohm in series with 4093 Vcc (+) pin, and then use 10 ohms with N2/N4, this will do the trick.
the upper and the lower mosfets are in series, so any one of them can be used for feeding the pwm.
….yes you can use 10 ohm for upper mosfets also…
Hi Swag!
Did you test this circuit, with Arduino code, IC4093 and MOSFETS in bridge? is it necessary to use both, so P-channel and N-channel? If I understand right, P-channel and N-channel is here because of transition, when the first 10ms period ends and second 10ms period starts, so that transition between periods is not dangerous for MOSFETS? If I use delay and use relay on +12V line, then I could use just N-channels? Will be 9V/230V transformer ok for 12V battery, we calculated the rms value of 12V to 8,5V rms with Arduino signal, so it could be ok?
Thanks for answer, Serđ.
Hi Serd, As per the standard transistor biasing rules the source or the emitter must get the “ground” reference for operating through a normal base/gate switching.
That’s why p-channel is used on top and n-channel on bottom so that p gets the required positive “ground” reference and the n gets the negative “ground” reference.
If all 4 n-channel fets are used then the situation gets complex and requires bootstrapping a explained here:
https://www.homemade-circuits.com/h-bridge-bootstrapping/
The p channel n channel will also work but the p channel might show some significant heating due to incompatibility with n channel switching and higher R(ds) than n-channel.
The transition is perhaps handled correctly here, with the help of a “LOW” between the Arduino code sets, and also by the use of Schmidt trigger NAND gates IC 4093.
I have not yet tested this design practically!!
Thanks for your answer. So I don`t have to change Arduino code, because there is “LOW” command for signal, at the end of first and second period. Now I understand better, why to use P-channel at top and N-channel at bottom.
That’s right Serd, Glad it helped!
I will use 9V/230V – 200W or 300W transformer with 12V car battery. If I use 200W or 300W, I can expect the primary current of: 200W or 300W / 9V= 22A or 33A. Let`s say that I use 300W, that mean current consumption of max. 33A on battery side.
N channel IRF540 datasheet is (100V and 33A) and P-channel IRF9540 (100V and 19A). Are max. current limits of MOSFETS added together, so 33A+19A= 52A? Or is better to use N-channel IRF3205 (55V and 110A) and P-channel IRF9540 (55V and 74A) with that power of transformer?
The 33A will be the maximum current delivering capacity of the transformer, but actually 33A will be consumed only when the load is 33 amp, so it will depend on the load.
Current will not add across the mosfets, it will be 33A only, so both the mosfets can be rated at around 40A, higher values than this will also do.
Yes the last two mosfets look good and can be used.
So, if I understand right, the current in that schematic is limited to 19A, because the P-channel IRF 9540 MOSFET has 19A max. current limit, this means about 200W with 9V transformer? It doesn`t matter, if IRF540 has higher current limit, max. current of IRF 9540 is 19A, so 19A is max. current through. The current limits for both MOSFETS should be closely together. Let me know, if I`m right.
The mosfet with lower current rating will start heating up fast and might ultimately burn. So for a 19 A device the load current cannot be increased above 19 amp, in fact not above 15 amp to avoid too much stress on the mosfet. The mosfet current rating must be sufficiently higher than the maximum load current you intend to use at the output.
Hello sir,
We tried to build the circuit as shown on the breadboard,but unable to get the output as spwm. Can you suggest what probable mistakes we might have made.
Hello Vignesh,
What kind of output are you getting? I have not yet tested this circuit practically but I believe if it’s built correctly it will surely work.
But on breadboard the mosfet may have a high possibility of blowing even with minor hidden issues
Please sir can u help me with cascaded H-Bridge 5 level inverter circuit using arduino
Hi Dhams,
I’ll investigate, and If it’s possible, I will surely try to update it.
Will it work i have input supply from 45v dc solar panel rating 300W to get a spwm unipolar based inverter (230v ac, 50Hz)where losses is minimum.How can i do please suggest me.Can i go for your full bridge inverter?How can i fixed ic and regulartor for 45dc input voltages.
Yes the mentioned emitter follower BC546 concept will work for 45V DC input. The base zener will fix the output voltage. The above Arduino is a bit complex so i wouldn’t recommend this to you since you are a newbie. Instead you can use your own unipolar design without issues.
Thanks swag……Will ic4093(maximum rating 18v) not burn?if we supply 24v dc.
It will definitely burn even at 20V, a 7812 IC can be used for preventing this issue.
Reply.
The mosfets were connected the wrong way and after fixing that we got the pwm pulses.
Thank you for your kind cooperation.
That’s great Vignesh, let me know if you have any further issues with the design