Introduction: How to Make an Inverter Using ARDUINO

Hi there, this project is all about designing an inverter from scratch, I am always fantasized by the projects which involves a software controlling an hardware. With this inverter, you can power up various electronic Appliances like TV, Fan etc.

Working : The aim of the inverter circuit is to convert 12VDC to 220VAC, Now to achieve this, we have to first convert 12VDC to 12VAC first followed by 12VAC to 220VAC

In short we can classify the designing of inverter circuit into three stages

1) Driver stage

2) Power stage

3) Transformer



The tasks that are performed in driver stage are generation of modified sine wave, monitoring the battery voltage, handling the other housekeeping tasks such as short circuit protection etc. Here i have used an Arduino NANO to accomplish all these tasks.

Arduino is generating a modified sine waveform of 5V which is amplified to a level of 12V using L293D ic. Battery voltage is monitored every 20ms using timer interrupt.



As the inverter output power is 600VA and it is 75% efficient so the input current at full load comes out to be 75Amp approx. (using ohm's law)

Now this current amplification task is performed by the power stage . In this stage two N-Mosfets are configured in push-pull topology to amplify the current.

Mosfet Chosen are IRF3205



Now this is very simple, the output waveform from the pushpull topology is fed into the transformer to generate the 220V.

Step 4: Designing Transformer

Designing transformer

Step 5: Schematics

Picture of Schematics

This is the complete schematics drawn in Eagle software.

Step 6: Code

Here is the complete code of the Arduino.

Step 7: Complete Image of the Inverter

Picture of Complete Image of the Inverter


SetiawanP (author)2018-01-10

Hello. How does the code modify if I'm not using battery?

DIY Hacks and How Tos (author)2016-06-12

Cool. This will let you automatically turn the inverter on when you need it and turn it off when you don't

Any Idea how to intergrate crystal lcd to this project

There are a lot of ways that you can do it. But the easiest thing that you could do is just get an Arduino shield with an LCD display on it.

manish singhC (author)2017-09-27

Sir could u tell the transformer rating to be used in this circuit & can i use 6-0-6 transformer

JagadeeshM6 (author)2017-08-01

After including timer1header in the code it is again showing like this error code

Arduino: 1.8.3 (Windows 7), Board: "Arduino/Genuino Uno"

C:\Users\Hackers\Documents\Arduino\inverter\inverter.ino:1:54: fatal error: Timer1.h: No such file or directory

#include "Timer1.h" // include Timer1.h


compilation terminated.

exit status 1

Error compiling for board Arduino/Genuino Uno.

SwapnilH3 (author)JagadeeshM62017-09-04

go on this address and download it and then add manually in ur adruino ide.

After download go to sketch>include library>Add .zip file

sage zee (author)JagadeeshM62017-08-03

i'm experiencing the same thing

SwapnilH3 (author)2017-08-31

Nice project.But suppose i want to implement this project for synchronisation of grid using zero crossing detector would it be possible?

if yes then what should be the changes in this circuit.

ParthibA (author)2017-04-11

great project
how did you design snubber circuit

ShailzaP (author)ParthibA2017-07-06

As it is not a high frequency so i did not use snubber.

ParthibA (author)2017-05-05

nice post.......... :D
can you please make video on the feedback circuit

ShailzaP (author)ParthibA2017-07-06


I will definetly try to publish that.

Gauravbhaskar (author)2017-04-26

Please give circuit diagram feedback system

Mukulmehta (author)2017-04-20

Hey can u tell me where to connect the probes to view the result of driver stage?

nirakarbehera (author)2016-12-29

In program error is showing that timer1is not declared in the scope

ShailzaP (author)nirakarbehera2017-01-02

Include Timer1 header in the code

SaifH7 (author)ShailzaP2017-03-24

please provide the simulation results

nirakarbehera (author)ShailzaP2017-01-03

After including timer1header in the code it is again showing timer1not declared in the scope

ShailzaP (author)nirakarbehera2017-03-21

Please add the library manually.

AnkitN21 (author)nirakarbehera2017-03-21

include in the library. I faced the same problem as you.

ShailzaP (author)AnkitN212017-03-21

Add the library manually

ShailzaP (author)nirakarbehera2017-03-21

Add the library manually.

SaifH7 (author)2017-03-23

can you please provide the simulation results you acquired after building the circuit on the eagle software ?.please

DhiaE (author)2017-02-02

the converter 12v to 5 v you buy it ro you made it ? and how ?

ShailzaP (author)DhiaE2017-03-21

I used a a converter from market. You can also make it your own using 7805 ic.

DhiaE (author)ShailzaP2017-03-22


AnkitN21 (author)2017-03-17

what if i use 9 volt dc instead of 12 v ?

ShailzaP (author)AnkitN212017-03-21

You can use 9v DC but then you have to alter your transformer ratio.

AnkitN21 (author)ShailzaP2017-03-21

Thanks for the reply. I just want 12 volt ac output not further. please clear me about Analog pin a0, where is it connected?

ShailzaP (author)2017-03-21

Siya. Thanks for your opinion. But i can imagine your mental level btw :P

YkylasA (author)2017-01-02

Is it possible to change frequency?

ShailzaP (author)YkylasA2017-03-21

Yes it's possible. Please watch my video . I have shown each and every line of the code and explained it.

Mjtrinihobby (author)2017-01-05

Mega skills.

R9758 (author)2016-12-18

how to get a sin wave from the output not square a inf voltage will produce because of strait voltage drop

ShailzaP (author)R97582016-12-26

To get Sine wave, you have to use SPWM followed by a low pass LC filter

Cheerfultrout (author)2016-09-26

Any tips on what changes I should make if I want to have it output 120v instead of 220v?

ShailzaP (author)Cheerfultrout2016-10-31

You have to change the transformer in that case.

ayushs12 (author)2016-06-13


ShailzaP (author)ayushs122016-06-15

Thanks man ....

15Minoda (author)2016-06-13

Do you have some schematics oder the code?

ShailzaP (author)15Minoda2016-06-13

Hi 15Minoda, I have already designed the schematics and written the code in my Video(step 1). But now i have also added the schematics in Step 5 and code in Step 6

15Minoda (author)ShailzaP2016-06-13

alright thanks

About This Instructable




More by ShailzaP:Control LED Strip Intensity Using Mouse Scroll Button || Install LED Strip at the Back of Your MONITORControl Your Room Lights Using Your ComputerCharge your cellphone from 9V battery
Add instructable to: