• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Need circuit help? Post them in the comments! I've answered over 50,000!

Blog | Categories | About | Contact | Calculators-online
You are here: Home / Arduino Projects / H-Bridge Sine Wave Inverter Circuit using Arduino

DIY Circuits | Learn Basics | Arduino Coding




H-Bridge Sine Wave Inverter Circuit using Arduino

Last Updated on May 24, 2025 by Swagatam 64 Comments

In this article I will explain how we can build an Arduino-controlled H-Bridge sine wave inverter circuit using some easy parts. So this thing will basically convert DC into AC but in a way that looks like a sine wave, right? We are using an Arduino to generate PWM signals and these signals will drive an H-Bridge circuit made using IR2110 MOSFET driver ICs and power MOSFETs. This setup will allow us to switch MOSFETs in a controlled manner and create an AC output from our DC supply.

Understanding the Circuit Design

If you don't want to read the whole explanation, you can watch this video instead:

Now let us see the circuit diagram below and learn how this thing is actually working. We see the following main parts in the circuit:

Arduino Board – This is our brain. It gives out SPWM pulses that decide how our circuit will run.

IR2110 MOSFET Driver ICs (IC1 and IC2) – These devices take the standard SPWM signals from Arduino and make them compatible to switch the 4 N-channel H-bridge MOSFETs properly, using bootstrapping method.

MOSFETs (Q1, Q2, Q3, Q4) – These are the power switches. They turn the DC power ON and OFF in a specific way to create AC at the output.

Diodes (1N4007) and capacitors – These are for enabling the correct working of the bootstrapping network of the ICs for perfect switching of the 4 MOSFETs.

Other Capacitors and Resistors – These are small but very important because they keep everything running smoothly.

Power Supply – We need +12V and +5V for Arduino and the IR2110 ICs, and a high DC voltage for the MOSFETs, as per the load specifications.

What is Happening in the Circuit?

Now let us see how this works step by step:

Arduino generates SPWM signals at two output pins (Pin 8 and Pin 9). These signals keep changing width to create a shape equivalent to a AC sine wave.

IR2110 ICs receive these PWM signals and use them to switch the MOSFETs ON and OFF in a very specific way.

The H-Bridge made using four MOSFETs converts the DC bus supply into AC-like output by switching the current direction through the load using the SPWM switching.

At the output we get a sine wave approximation which means it looks like a sine wave but is actually made of fast-switching pulses.

If we add a filter circuit at the output then we can smooth these pulses and get a more perfect sine wave.

UPDATE: Get this Improved Arduino SPWM Code

Our Arduino Code for Sine Wave PWM

So now let us see the code. This is what the Arduino will run to generate the SPWM signals.

// By Swagatam 
void setup() {
    pinMode(8, OUTPUT);
    pinMode(9, OUTPUT);
}

void loop() {
    // First half of the sine wave
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(2000);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);

    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);

    // Second half of the sine wave
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(2000);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);

    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
}

What is Going On in This Code?

First we set up two output pins (Pin 8 and Pin 9). These will send out our PWM signals.

Then in the loop we turn the pin ON and OFF in a special pattern.

We start with narrow pulses and gradually increase the pulse width and then we reduce it back down. This creates a stepped sine wave PWM pattern.

After the first half cycle is done then we repeat the same thing on the other pin (Pin 9) for the next cycle.

This way our H-Bridge switches the MOSFETs in a proper sinusoidal wave like fashion.

What is Good about this Design

The design is actually very simple. We are using just an Arduino and some common components.

We do not need a sine wave generator here, right. The Arduino itself is making the sine shape using SPWM.

The H-Bridge works efficiently using the IR2110 ICs to make sure the MOSFETs switch correctly without overheating.

We can fine tune the SPWM easily, in case we want a different sine wave frequency, then we just modify the code a little.

How We Should Handle the Arduino Booting Delay

Now one very important thing that we must understand is that Arduino takes some time to start after we switch ON the power.

This happens because when we power ON the Arduino then it first runs its internal bootloader which takes a few seconds.

So during this time the IR2110 gate driver ICs and MOSFETs may not receive any proper signals from Arduino.

If that happens then the MOSFETs may turn ON randomly which can damage the ICs instantly, or cause a short circuit or explosion.

In order to make sure that the above booting delay does not burn the ICs and the MOSFETs during the initial power ON, we need to modify the above code as shown below:

// By Swagatam - Full Bridge Sine Wave Inverter Code with Delay

void setup() {
    pinMode(8, OUTPUT);
    pinMode(9, OUTPUT);
    
    delay(3000); // Booting delay (wait for 3 seconds before starting)
}

void loop() {
    // First pin (8) switching pattern
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(2000);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);

    // Second pin (9) switching pattern
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(2000);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
}

Parts list

PartSpecificationQuantity
Arduino BoardArduino Uno (or any compatible board)1
MOSFET Driver ICIR2110 High & Low Side Driver2
MOSFETsIRF3205 (or similar N-channel)4
Diodes1N4007 (for bootstrap & protection)4
Resistors1KΩ 1/4W (MOSFET gate pull-down)4
Resistors150Ω 1/4W (MOSFET gate series resistor)4
Capacitors100nF (bootstrap capacitor)2
Capacitors22uF 25V (power supply filter)2
LoadAny resistive or inductive load1
Power Supply+12V DC (for MOSFETs) & +5V DC (for Arduino)1
Wires & ConnectorsSuitable for circuit connectionsAs needed

Construction Tips

Now when we actually build this thing we have to be very careful about a few important things. Otherwise it may not work or worse, something may burn out right? So here are some super important construction tips that we must follow:

How We Should Arrange the Parts on the Board

If we use a breadboard then this circuit may not work well because high-power MOSFETs and drivers need strong, solid connections.

So we should use a PCB (Printed Circuit Board) or at least a perf board and solder the parts properly.

If we make a PCB then we must keep the MOSFETs and IR2110 ICs close together so that signals do not become weak or delayed.

The thick wires should go for high current paths like from the power supply to the MOSFETs and from the MOSFETs to the load.

The thin wires can be used only for signal connections like from Arduino to the IR2110 ICs.

How We Should Place the MOSFETs

The four MOSFETs should be placed in a proper H-Bridge shape so that the wiring does not become messy.

Each MOSFET should have short and thick connections to the IR2110 IC.

If we place the MOSFETs too far from the IR2110 then the signals may become weak and the MOSFETs may not switch properly.

If that happens then the MOSFETs can get hot and even burn out.

How We Should Fix the Heat Issue

If we use high current IRF3205 MOSFETs or similar ones, then they will heat up if we do not give them a heatsink.

So we must fix a big aluminum heatsink to the MOSFETs to keep them cool.

If we are making a high-power inverter (more than 1000 W) then we should also attach a cooling fan on the heatsink.

If the MOSFETs get too hot to touch then it means there is some issue and we need to check the circuit again.

How We Should Power the Circuit

The Arduino part runs on 5V and the MOSFETs need 12V or more to work.

So we must never connect 12V to Arduino, or it will burn instantly!

The IR2110 ICs need two power supplies:

12V for the high-side MOSFETs

5V for the logic section

If we mix up these power lines then the circuit will not work properly and the MOSFETs will not switch correctly.

How We Should Connect the Wires

The ground (GND) connection is super important. If the ground wiring is weak or long, then the circuit may behave weirdly.

We should use a common ground for all parts, meaning the Arduino ground, IR2110 ground and MOSFET source ground must be connected together.

If we see the circuit behaving strangely (like the output flickering or MOSFETs getting warm without a load), then we should check the ground connections first.

How We Should Check the Circuit Before Powering It Up

Before we switch ON the power we must double-check all connections to see if everything is correct.

If we have a multimeter then we should use it to check the voltages at different points before inserting the MOSFETs.

We will strictly need an oscilloscope so that we can check the SPWM signals coming from Arduino to see if they look correct.

How We Should Test the Circuit Carefully

The best way to test this circuit safely is by starting with a low voltage.

Instead of 12V we can first try with 6V or 9V to see if the MOSFETs are switching correctly.

If the circuit works well at low voltage then we can slowly increase to 12V and finally to the full voltage.

If we suddenly apply full voltage and something is wrong then something may burn out instantly!

So we must test step by step and keep checking for overheating or wrong behavior.

How We Can Add a Filter for a Smoother Output

This circuit makes an AC output using PWM but it is still made of fast pulses.

If we want a clean sine wave then we must add an LC filter at the output.

This LC filter is just a big inductor and a capacitor connected to the output.

The inductor removes the fast switching pulses and the capacitor smooths out the waveform.

If we do this properly then we can get a pure sine wave that is safe for appliances.

How We Should Protect the Circuit from Damage

We should always add a fuse in series with the power supply.

If something shorts or a MOSFET fails then the fuse will break first and save the circuit from burning.

If the MOSFETs fail then sometimes they fail shorted (meaning they always stay ON).

If that happens then huge current can flow and damage the transformer or other parts.

So it is always good to check the MOSFETs using a multimeter before applying high power.

Conclusion

So here we saw how we can make a sine wave inverter using just Arduino and an H-Bridge MOSFET circuit. We used IR2110 MOSFET drivers to properly switch the MOSFETs and PWM control from Arduino to generate our sine-modulated AC.

Now one thing to remember is that this output is still made of fast-switching pulses so if we need a pure sine wave then we must add a LC filter at the output to smooth it out.

But overall this is a very practical and easy way to make a sine wave inverter at home!

You'll also like:

  • 100ampsolarchargerinvertercircuitHow to Make a Simple Solar Inverter Circuit
  • How to Design a Solar Inverter Circuit
  • Simple H-Bridge Inverter Circuit using IR2184 ICs
  • How Load Conducts in Half-Bridge Driver Circuits like IR2184 or IR2110

Filed Under: Arduino Projects, Inverter Circuits Tagged With: Arduino, Bridge, Inverter, Sine, Wave

About Swagatam

I am an electronics engineer and doing practical hands-on work from more than 15 years now. Building real circuits, testing them and also making PCB layouts by myself. I really love doing all these things like inventing something new, designing electronics and also helping other people like hobby guys who want to make their own cool circuits at home.

And that is the main reason why I started this website homemade-circuits.com, to share different types of circuit ideas..

If you are having any kind of doubt or question related to circuits then just write down your question in the comment box below, I am like always checking, so I guarantee I will reply you for sure!

Previous Post: « Explained: MAX4466 Electret Microphone Amplifier Module with Adjustable Gain
Next Post: Make this 220V to 12V SMPS Using UC2842 IC »

Reader Interactions

Comments

Abdulhadi Bahder says:
November 12, 2025 at 5:38 pm

How to know the switching frequency of the PWM from the code you used and how to increase it.
I’m trying to design an LC filter
Output voltage (rms) = 8.46
Output power = 10W
Output frequency = 50Hz
And I put 300Hz cut off frequency
I’m getting 3.8mH and 72uF which is large
If I increased the switching frequency to 20kHz
Then I can select a cut off frequency of 5000 so the filter will be smaller

Reply
Swagatam says:
November 12, 2025 at 6:09 pm

If you add up the microseconds for each cycle, it gives 10ms, and for both cycles it is 20ms, so the frequency becomes 50Hz…

Reply
Abdulhadi Bahder says:
November 12, 2025 at 6:13 pm

Sorry I meant the switching frequency of the triangle wave that’s being compared with a sine wave to produce the pwm waves

Reply
Swagatam says:
November 13, 2025 at 7:51 am

There’s no triangle wave comparison in Arduino, the SPWM is generated directly by the Arduino. If you want to change the number of blocks inside each SPWM waveformm, then you can use the following code concept instead…
https://www.homemade-circuits.com/sine-table-calculator-for-spwm-arduino-code/

Reply
emanuele coppeta says:
September 22, 2025 at 1:49 pm

Hi, I saw your diagram. If I size the components, can it be used for 5kW? I look forward to hearing from you.
Best regards.

Reply
Swagatam says:
September 22, 2025 at 4:31 pm

Yes, definitely, the inverter can be upgraded to any higher power level, by modifying the MOSFET/IGBTs accordingly and by adding suitably selected the snubber values…
https://www.homemade-circuits.com/rc-snubber-calculator-for-mosfets-relay-contacts-and-triacs/

Reply
Angel Gutierrez says:
September 13, 2025 at 3:38 am

Hi Swagatam. Thanks for sharing your project and making it available to everyone. I know very well the effort that goes into any type of project like this. I also love to do projects like this, and I’ve been thinking about making a 12 DC to 220 VA converter for a while. It’s been a while. At work, I’ve worked with circuits using the IR2110 and IRPF460 MOSFETs that can withstand up to 500 V. They worked with voltages of 340 V DC and everything went very well. The circuits worked very well because the consumption was constant. They lasted for years. But if there was any instability in the consumption, everything would explode. Please don’t take this the wrong way, these are just suggestions for your project. The Arduino is powered with 12 V. I think it would be with the yellow +5 V line. It occurs to me that to perhaps improve the project, a small 220/12V transformer could be used to output a sample that, once rectified, would then be fed to pin A0 of the Arduino. This would attempt to block the MOSFET gate voltage as quickly as possible. This would also provide a reference for increasing or decreasing the MOSFET pulse width based on the power consumption variation. Perhaps an optocoupler connected to the load output would be faster, acting very quickly on the MOSFET gates, blocking them, or on the IR2110s, which would then block the MOSFETs quickly. My experience is that if this isn’t done quickly, the MOSFETs will eventually blow. These are just a few ideas; I hope you don’t find this intrusive to your project. Thanks for everything, Swagatam.

https://www.homemade-circuits.com/wp-content/uploads/2025/09/arduino-sine-wave-full-bridge-inverter-circuit-diagram-1000×357-1.jpg

Reply
Swagatam says:
September 13, 2025 at 1:14 pm

Thank you very much Angel,
I appreciate your kind efforts to provide the useful safety suggestions for ensuring a long lasting sine wave inverter design.
I am sure the other readers will find the information very helpful…
Additional, please also consider putting snubbers across each of the MOSFETs:
https://www.homemade-circuits.com/explained-snubber-circuit-for-mosfet-h-bridge/

Reply
Angel Gutierrez says:
September 15, 2025 at 9:08 pm

Thanks, Swagatam, installing snubbers could be a great solution. I’m currently quite busy with two projects I’m working on. I hope I can find a time to build your project; it’s sparked a lot of interest. Thank you so much for sharing your information. You have a very interesting blog. Best regards, and thank you.

Reply
Swagatam says:
September 16, 2025 at 8:03 am

You are most welcome Angel,
I am very glad that you liked the project and found it interesting.
Yes, snubbers can be really helpful in improving stability.
All the best with your projects, and let me know if you need any help later.

Reply
Samuel says:
September 16, 2025 at 7:35 pm

Hello Mr Swagatm Good day I am a great fan of your page and have been on many many of your projects in inverter design. Sir I build a 1kva 12v inverter with sg3525 and this Mos H drive but I got 9V spwm pure sign wave signal from sg3525 and ne555 and fed it to the ir2110 Mos H driver then the output from ir2110 driver is 7v which is connected as above circuit to the MOSFET 3205 but what am getting at the out put is 7vdc niit AC and it cannot drive the 12v- 220v AC transformer connected to the out out please what could be the issue

Reply
Swagatam says:
September 17, 2025 at 8:29 am

Thank you Samuel for your kind words, it is much appreciated!!
Yes, when an SPWM is used, it chops the 50 Hz frequency into narrow/wide sequencing blocks causing the average voltage of the pulses to drop, but the peak of these SPWM pulses remains always the same as the MOSFET drain voltage, which is 12V in your case.
To confirm this please check the output with an oscilloscope and check if the peak level is 12V.
Once you confirm this and also the SPWM waveform, then you must replace the 0-12V transformer with a 0-6V transformer and check the results further…

Reply
ART says:
July 14, 2025 at 2:32 am

in the US we use 120 output. but the dc voltage is in my case is 260 volts. how dose it keep the the 120 at the output. yea as the battery’s run down it still keeps the 120 until it goes below 170 dc and at 145 it shuts down. it must be in the code of the the microconntroler. can you help with this, hope you under stand this.

Reply
Swagatam says:
July 14, 2025 at 8:32 am

You can simply do it by configuring a feedback network from the output AC of the inverter to the SD pins of the IR2110, through an opto-coupler. I will try to update the design soon…

Reply
ART says:
July 14, 2025 at 2:06 am

wow great that you have this one all over the web, don’t tell no one but you are going to give the other people a run for your money. just looking at i know its great. i have three projects in the works because of your web site, thanks you are a god.

Reply
Swagatam says:
July 14, 2025 at 8:35 am

Thanks for your amazing words, glad you are finding the concepts helpful…please keep up the good work!

Reply
Abhinav says:
July 10, 2025 at 11:48 am

-heyy
25uf 25v cap is elctrolite and 100nf is ceramic right??

Reply
Swagatam says:
July 10, 2025 at 1:24 pm

Yes, that’s correct…

Reply
Abhinav says:
June 28, 2025 at 7:44 pm

Hey as i posted earlier how should i power the circuit i meant to say how do i power the dc input to convert in ac should i use 12v ??? directly or i have to use any other circuit before injecting the voltage in the drain of mosfet plz reply ?

Reply
Swagatam says:
June 29, 2025 at 7:39 am

Hi, If you want to use 12V-220V transformer at the “load” side then you can supply 12V DC from the battery to the drains of the MOSFETs. If you want to get 220V at the “load” side without a transformer, then you must use a 220V DC across the drains of the MOSFETs.

Reply
Abhinav says:
June 28, 2025 at 7:32 pm

hey how should we power the circuit ?? can i power directly with 12v dc battery??

Reply
Swagatam says:
June 29, 2025 at 7:37 am

Yes, you can use 12V battery directly to power the 12V supply of the ICs. For the 5V supply make sure to use 7805 IC with the 12V input from the battery.

Reply
samuel says:
June 15, 2025 at 3:01 am

pls mr. Swagatam
base on this LC filter, is the series of capacitor and inductor will be connected to output of transformer or output of MOSFET stage .??????
(How We Can Add a Filter for a Smoother Output
This circuit makes an AC output using PWM but it is still made of fast pulses.
If we want a clean sine wave then we must add an LC filter at the output.
This LC filter is just a big inductor and a capacitor connected to the output.
The inductor removes the fast switching pulses and the capacitor smooths out the waveform.
If we do this properly then we can get a pure sine wave that is safe for appliances.)

Reply
Swagatam says:
June 15, 2025 at 8:36 am

Hi Samuel,
Yes, using an LC filter at the output of the inverter will certainly make the SPWM cleaner and almost identical to the mains 220V AC sine waveform. You can use the following calculator, to design your LC filter:
https://www.homemade-circuits.com/inverter-lc-filter-calculator/

Reply
samuel says:
June 15, 2025 at 1:58 am

Goodday mr. Swagatam
i work on this inverter circuit today according to instruction, it work but i have some challenge with the frequency and output voltage

ON VOLTAGE AND FREQUENCY
-on 12v system output voltage was 255vac /49.9hz, no load,
when connected load, voltage drop to 156vac and frequency over-shoot to 5.4khz
– on 24v system output voltage was 330vac /4.5khz, no load,
when connected load, voltage drop to303vac and frequency over-shoot to 2.4khz

pls is there any way to control the output voltage with potentiometer and
stabilized the frequency

Reply
Swagatam says:
June 15, 2025 at 8:33 am

Hi Samuel, the frequency can never change because it is controlled by an Arduino, what you are seeing could be a false interpretation by your meter. You must use an oscilloscope if you want to verify the actual results.
The voltage drop is happening because your transformer is not correctly rated.
To get the exact transformer, check the average voltage between the two outputs of the Arduino, without connecting anything across these two outputs, except a voltmeter. This average voltage will give you the exact value of your transformer primary voltage rating. Next, make sure the power rating of your transformer is always higher than the load wattage, or vice versa. Transformer wattage = primary V * primary I. Here, primary refers to the low voltage DC side of the transformer.
For the feedback, you can try implementing the procedures explained in the following article:
https://www.homemade-circuits.com/making-an-egs002-equivalent-board-using-arduino/

Reply
samuel says:
June 16, 2025 at 12:00 am

ok engr, Swagatam
from output of my ardunio am getting

GND TO ardunio out A = 1.721VDC
GND TO ardunio out B =1.721VDC

out A & B = 4.02 VAC
FREQUENCY = 49.5HZ

according to what u said
“To get the exact transformer, check the average voltage between the two outputs of the Arduino, without connecting anything across these two outputs, except a voltmeter. ”
deos that mean this code meant for 12v system alone,
pls sir if there is loop to adjust in the code to work with 24v system kindly put me through

thanks

Reply
Swagatam says:
June 16, 2025 at 2:32 pm

Samuel, I am not sure why you are seeing the voltage across ground as 1.72, and across the two outputs as 4.02V, because while one output is generating the PWM, the other Arduino output is supposed to be at ground potential, so in that case here also you should have got 1.721, or alternatively, you should have seen 4.02 across the common ground line also…
Anyhow, 1.72V is not making sense and seems incorrect. 4.02 V looks somewhat OK, but actually, since the Arduino is using 5V, the output average voltage should be equal to the RMS value of 5V…which is 5 / 1.41 = 3.54…this can be used with any transformer, whether 12V or 24V, that does not matter. Actually, to get the transformer primary value, you can simply use the same trick, divide battery voltage with 1.41…that’s all. So for 12V battery, the transformer primary can be 8.5V, for 24V it should be around 17V. Please use the code given in the following calculator and check the results:
https://www.homemade-circuits.com/sine-table-calculator-for-spwm-arduino-code/

Reply
Swagatam says:
June 16, 2025 at 2:36 pm

….I think 1.72 is correct, because that’s the value of a single half cycle, so for a full cycle 1.72 + 1.72 = 3.44V, which looks close to 3.54V RMS value of 5V..
Jut divide you battery voltage with 1.41, and that would give you the approximate value of the transformer primary…

Reply
Enwongho says:
May 10, 2025 at 1:36 am

greetings to you sir, please can you help me with a push pull configuration of this circuit using two ir2110 MOSFETs driver. since I want to use a center tap transformer.

Reply
Swagatam says:
May 10, 2025 at 7:58 am

Enwongho, for a center tap transformer IR2110 is not required, you can use the following configuration instead:
https://www.homemade-circuits.com/arduino-h-bridge-sine-wave-inverter-circuit/

Reply
Maksym says:
May 10, 2025 at 12:21 am

Hi. I get a square voltage waveform. What should I do to make a sine wave from this? I used a 3.3uf capacitor but it doesn’t change much. I know that an LC filter is needed but I don’t know what values ​​to choose.

Reply
Swagatam says:
May 10, 2025 at 8:38 am

Hi, the above circuit should give a good sine wave output waveform. Please show me the waveform image, I will try to sort it out…

Reply
Maksym says:
May 10, 2025 at 1:13 pm

It’s not possible to send here photo of my oscilloscope. Please send me your e-mail. I’m using IRF3205 and the rest of components is exactly the same as yours.

Reply
Swagatam says:
May 10, 2025 at 5:05 pm

You sent me the following two images. The first one is the correct SPWM waveform which you are supposed to get across the MOSFETs also.
And why is the SPPWM waveform showing in mV? If it is from Arduino it should be 5V peak.

https://www.homemade-circuits.com/wp-content/uploads/2025/05/spwm-compressed.jpg
https://www.homemade-circuits.com/wp-content/uploads/2025/05/square-wave-compressed.jpg

Reply
Swagatam says:
May 10, 2025 at 1:33 pm

Sure, you can send it to my email ID.
homemadecircuits
@gmail.com
Please send the waveform of the Arduino output also…

Reply
Maksym says:
May 10, 2025 at 5:10 pm

Sorry, Its of course 5V peak, my probe was not set correctly. But the shape is the same.

Reply
Swagatam says:
May 10, 2025 at 5:13 pm

You should get the same waveform across the MOSFET output also, otherwise something may be wrong with the IR2110 circuit.

Reply
Abdullah says:
May 5, 2025 at 4:36 pm

Hello brother
The battery size is 12 volts. What is the appropriate current? 9?

Reply
Swagatam says:
May 5, 2025 at 4:55 pm

Yes brother, You can use 12V battery for the above sine wave inverter circuit, the Ah or the current capacity of the battery will depend on the maximum power of the load…

Reply
Swagatam says:
July 14, 2025 at 8:39 am

You can use 15V as the gate supply for most of the IGBTs.
Just make sure to add snubbers for MOSFETs and also for IGBTs, to make them 100% fail proof:
https://www.homemade-circuits.com/explained-snubber-circuit-for-mosfet-h-bridge/

Reply
Swagatam says:
July 14, 2025 at 8:36 am

No need for any external driver boards, the IR2110 itself is able to provide up to 2 amps for driving the output devices, that means you can create all types of extremely high power inverters with the above configuration.

Reply
ART says:
July 14, 2025 at 3:13 am

yep why make fake chips, to make things difficult.

Reply
Swagatam says:
April 29, 2025 at 12:24 pm

OK, no problem…

Reply
ART says:
July 14, 2025 at 3:10 am

you boys are on to something, have to find the right recipe. opti idolators have to be it for high wattage. have not tried it. there is a igbt driver board, tiring to fined the right one.

Reply
Happie says:
April 28, 2025 at 9:04 pm

NPN Transistor:
Collector → Gate of IGBT
Emitter → GND.
Base → Connected to the PNP transistor base

PNP Transistor:
Collector → Gate of IGBT.
Emitter → Vcc
Base → Connected to the NPN transistor base
after making this totem pole I’ll use bootstrap circuit..
from vcc I’ll add diode which is connected on the + side of capacitor and capacitor – on high side igbt’s source ..
the + side of capacitor will be connected on totem pole’s pnp transistor emitter to provide charged voltage to totem pole..
i hope you’ll understand I just trying it i don’t know it’ll work or not that’s why I’m here to get your help is this setup correct? kindly help me 😊

Reply
ART says:
July 14, 2025 at 2:56 am

hello i used g50t65d these are beasts, but have not figure out the gate voltage to put them fully on. one things is for sure i have not blown one up like the mosfets, i don’t mine when they explode but when they catch fire, that’s when i freak out !!!!

Reply
Happie says:
April 29, 2025 at 12:03 pm

i don’t wanna use driver ic’s bcz i found most of the ic’s are fake or not work properly…
😊

Reply
Swagatam says:
April 29, 2025 at 8:40 am

I am finding it difficult to interpret it in my mind, it is better to show it in schematic format.
However, please try it only if you are 100% sure that it will work, otherwise don’t try it…
But don’t worry I am working on it and will write an article soon on this topic…

Reply
Swagatam says:
April 28, 2025 at 6:30 pm

Happie, totem pole can be used only at the low side of an H-bridge, i am not sure how it can be used at the high side because of the bootstrapping network which can be hooked up only with the high impedance gates of an IGBT or MOSFET.
If you know how to configure totem pole with High side of the driver then please let me know…
By the way, the half bridge drivers already have totem pole inside the chip built in…

Reply
View Older Comments

Need Help? Please Leave a Comment! We value your input—Kindly keep it relevant to the above topic! Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

circuit simulator image



Subscribe to get New Circuits in your Email



Categories

  • Arduino Projects (95)
  • Audio and Amplifier Projects (133)
  • Automation Projects (18)
  • Automobile Electronics (103)
  • Battery Charger Circuits (87)
  • Datasheets and Components (109)
  • Electronics Theory (149)
  • Energy from Magnets (27)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (20)
  • Health related Projects (27)
  • Home Electrical Circuits (13)
  • Indicator Circuits (16)
  • Inverter Circuits (95)
  • Lamps and Lights (159)
  • Meters and Testers (71)
  • Mini Projects (28)
  • Motor Controller (68)
  • Oscillator Circuits (28)
  • Pets and Pests (15)
  • Power Supply Circuits (91)
  • Remote Control Circuits (50)
  • Renewable Energy (12)
  • Security and Alarm (64)
  • Sensors and Detectors (106)
  • SMPS and Converters (34)
  • Solar Controller Circuits (60)
  • Temperature Controllers (43)
  • Timer and Delay Relay (49)
  • Voltage Control and Protection (42)
  • Water Controller (37)
  • Wireless Circuits (31)





Other Links

  • Privacy Policy
  • Cookie Policy
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap



People also Search

555 Circuits | 741 Circuits | LM324 Circuits | LM338 Circuits | 4017 Circuits | Ultrasonic Projects | SMPS Projects | Christmas Projects | MOSFETs | Radio Circuits | Laser Circuits | PIR Projects |

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Stack Exchange
  • Linkedin



Recent Comments

  • Swagatam on Arduino 2-Step Programmable Timer Circuit
  • Swagatam on How to Manufacture Automobile Electronic Parts and Earn a Handsome Income
  • Ghulam Mohio Din on Arduino 2-Step Programmable Timer Circuit
  • Swagatam on Door Security Alarm Circuit for Alerting if Door was Opened
  • Swagatam on High Wattage Brushless Motor Controller Circuit

© 2026 · Swagatam Innovations