Home » 12V DC to 220 AC Power Converters » Arduino Full-Bridge (H-Bridge) Inverter Circuit
Arduino Full-Bridge (H-Bridge) Inverter Circuit

Arduino Full-Bridge (H-Bridge) Inverter Circuit

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, let's learn the details below:

In one of our earlier articles we comprehensively learned 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, the danger of a shoot through across the mosfets becomes eminent during the transition periods.

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.


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:

Sinewave SPWM Code

4093 IC pinouts



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


About the Author

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials. If you have any circuit related query, you may interact through comments, I'll be most happy to help!

39 thoughts on “Arduino Full-Bridge (H-Bridge) Inverter Circuit”

  1. Howdy, Friend! Interested to Learn Circuit Designing? Let's Start Discussing below!
  2. 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.

  3. Thanks alot swag……can you mention? What ic and voltage regulator should i prefer when constructing same design for 45v dc supply…….

  4. sir how are u? i have a question. In your 4093 ic logic, when pin 9 give pulse (=1). N1 = 0 and N2 = 0, so P channel (N1) = OFF and N channel (N2) = ON. Is it right? thanks

  5. Sir how r u? I have a duestion

    we know sine wave inverter hard to design,
    so what kind inverters are best for our normal house hold appliances? ( light, fan only)
    Modified sine wave or PWM what is best?

    • Hi Mehedi, both will work, PWM inverter is also a kind of modified inverter but they are better than ordinary modified ones. If you apply proper filter stage at the transformer outputs both versions will work quite efficiently.

  6. Sir we realy appreciate with ur effort. please sir can u help me with pure sine wave inverter circuit using ATMEGA32 IC that include LCD DISPLAY

  7. Thanks Swag, I have a question, why you use or for what is use the IC 4047 in this circuit, I am a noob on electronics and I would like to know more about the IC 4047

    • Hi Ethan, IC 4047 is an oscillator IC, which has two outputs for generating a frequency with alternate ON/OFF switching, meaning when one of the two outputs is ON the other will be OFF and vice versa, the oscillation rate depends on the adjustment of an external resistor/capacitor values connected with another set of pinouts of the IC

      • Ok thanks, and I have a big question, what pin are conectted to which mosfet, can you explaine me, for example “pin 12 its conected to IRF9540”, like I said im a noob on this

        • The mosfet gates are connected to the NAND gates from the IC 4093, you can see the IC pinout diagram at the bottom section of the article, you can see which pins are internally connected with its internal NAND gates. Just compare the IC layout with the gates shown in between the Arduino board and the mosfets, you will get an idea how the IC 4093 needs to be configured

  8. Thanks for the prompt reply , Due to the simplicity of the circuit , I am constructing after testing I will design the PCB layout and order few boards ,

    One question Though
    For the SPWM output , what will be more efficient comparing Aduino Atmega328P / IC4047 /SG3525 , I have been considering IC4047 for its straight forward use ,

    Any Idea how to get Puse Sine Wave out of IC4047 to feed in the above circuit.
    Trying to get this circuit cheaper and efficient as possible

    • Hi vhafuwi, you can try IC4584B, and use 4 out of 6 available gates, and terminate the inputs of the unused 3 gate appropriately

  9. Hi Swagatham , you blew my mind, I have a couple of none center tapped trafo`s from damaged driver inverters ranging from 24V, 36V , always love full bridge , I will try 24V , then 36V for 48V input output 240VAC
    Thanks again

        • That’s great Dylan, I wish you all the best, just make sure the mosfets are correctly connected before you apply power….

          • Hi Swag, I built the system and it seems to be working. I used a 12V power supply boosted up to 24V in place of the batteries and I was able to get an AC reading on both sides of the transformer. The problem is I am only getting 4V there. Is this because of the power supply?

            Thanks again for taking the time to help me out 🙂

            • Hi Dylan, yes it could be due to power supply, however the secondary should have shown higher voltage if both side mosfets are conducting correctly.

              you can confirm the design with a 12V transformer and 12V power supply and check the response. Once confirmed you could then go ahead with 24V

    • Thank you very much Nito, I hope you succeed with your project, but remember TL494 is specified to work with minimum 1000 Hz so it might not work correctly below this frequency

      • Thanks once more for the info. Will SG3525 be okay if i use, from the data sheet it’s frequency is 100 Hz to 400 kHz and i already have one circuit built as well as the TL494.

        am yet to get 4093 ic to test the whole project

Leave a Comment

Do NOT follow this link or you will be banned from the site!