How to Make an Inverter Using ARDUINO





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

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



    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest
    • Clocks Contest

      Clocks Contest

    43 Discussions

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

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

    2 replies

    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.

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

    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.

    2 replies

    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.

    great project
    how did you design snubber circuit

    1 reply

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

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

    1 reply


    I will definetly try to publish that.

    Please give circuit diagram feedback system

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

    please provide the simulation results

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