Here is a very simple pure sinewave inverter based on the microntoller "PIC 16F628A", "don't freak out !", NO it is not difficult to use microntollers, actually it could not be any easier than this.

For those wondering, Yes I myself designed the circuit concept, schematic and components but had to hire a programmer to write the code since I have no idea how to write software programming, I even paid him money to do this job since no one works for free these days, probably if he see this instructable he would be laughing at me on how I gave everything for free here :-/

The principal used for creating the sinewave:
Most hard work in this circuit is done by the 16F628A chip itself, where it divides the half wave into small segments generating PWM train of pulses to create each half wave as shown in the pic, generated oscillation then go to get amplified by the 4 transistors Q1,Q2,Q3 and Q4 where they feed the power stage to drive the power transistors. Can't be much simpler than that !

There are 2 options to program the 16F628A:
1- Most of the electronic parts selling shops do this service for you for an additional 3$ cost, where you take the program which is a "Inverter.HEX" file in our case, written on a disk to the shop and they will hand you an already programed 16F628A.

2- If you're an electronic hobbiest I suggest you buy your own programing device (I bought mine for 22$) and experiment with it because the microcontroller applications that can be built are endless. I bought the cheapest / smallest USB one which is a DIY K128 it came along with a CD containing the MicroBurn software "older versions known as MicroPro" and a driver for your computer, after setting up the driver and operating the thing, it programed the 16F628A IC in 10 seconds !
Here is a link to see how the programmer looks like.

Note: Both 16F628 and 16F628A will work, the difference is that the 'A' has more memory capacity, but both work the same.

The filter:
The 2.2 uF capacitor which is the filter is a very very important part of this design, without it you'll never get a pure sine wave.
I have included 2 screen shots of the oscilloscope (with-filter and without-filter) so you can see the difference and importance of this capacitor.

Other notes:
- Included is the movie file "IMG_0690.MOV" in case you encounter any problem and need to see the wave form on pins 11 and 12 of the 16F628A how it looks like.

- The PIC16F628A is so sesitive to static, if you're sitting on a plastic chair never touch the IC's pins with your hand.

- You can build bigger versions of this inverter up to 5000w, to see what needs to be done on the power stage please see details on my other instructable here

- Heat sinks are required to cool the power transistors they should be big enough to cool the transistors, they are separate and should NOT touch each other.

- Wiring connections marked in dark black on the power stage section should be thick enough to handle the big amps drain from the batteries.

- A cooling fan will be needed to reduce heat off the heat sinks and transformer.

- Be cautious when building this circuit it involves high voltage which is lethal, any part you touch when the circuit is ON could give you a nasty painful jolt, specially the heat-sinks, never touch them when the circuit is on to see if the transistors are hot.

Do not forget to rate this instructbale with 5 stars "of course if you like it and appreciate the effort done" and also click the "follow me" button to keep updated of future instructables and updates that I do.

We need to get this inverter to perfection by adding some more options to it like:
- Low DC Battery voltage detection to trigger a buzzer and a to auto-stop oscillation at some point.
- Heat detection to trigger a fan ON
- Battery level indicator 3 LEDs (High-Medium-Low) and to trigger charger ON
We'll need some help to code the above..
so any suggestions, help in coding or design on this project to make it better are very welcomed so send your thoughts.
1-40 of 428Next »
twyeth14 days ago
The transformer I'm using is a 40v center tapped, how do I go about changing the circuit if need be
phucgl1 month ago

Please sent me the code (for 50hz).

My email: quangphucgl@gmail.com.

hoi.pham.5019 months ago
Here is my e-mail
Or phamhoi9693@gmail.com

Are you a Vietnamese?

tmtmnym1 month ago

please sent me suorce code
thank so much...!

evangel2 months ago

please i need the source code.

GoldenL2 months ago

please i need the source code.thank's goldenlie1@gmail.com

GoldenL2 months ago

please i need the source code.thank's philipuslie@yahoo.co.id

pityukecske3 months ago


This is a pretty old instructable, and you probably hadn't developed it any further, but how could this output a TRUE sinewave with nothing but a capacitor on the secondary winding for filtering? I have a strong hunch that there's going to be some serious PWM noise there if you test it with a scope.

Please explain.


ThiênP13 months ago

please i need the source code

See my post ...

MarceloH23 months ago

Here is the inverter.hex file from an old link:

:1003A000D029FF3FFF3FFF3FFF3FFF3FFF3FFF3FA2 :02400E006A3F07

rinksrides3 months ago

if use PWM, output transistors much cold, more efficient on power. Output capacitor still need.

Aaron19844 months ago

Hi Nick,

I really want to build your inverter. I do not have the PIC16F628A chip. I do however have a PIC16LF872-I, can I use this? I do not know much about microprocessors? Thanks

lord legolas4 months ago

hi nick
thank you for your effort
please i need the code

lord legolas4 months ago

please i need the source code

volkvanmyn254 months ago

Hi. Thanks for your effort. If you can send me the source code, I'll do some modification modification to it to add battery low alarm etc.. You can mail me at fmulder25@gmail.com

And another hint, for everybody who wants to do the pcb's yourself, use photoshop to open the jpg files and then rescale to 34.266% to print.

(arif.dpi11@gmail.com ) thats my mail acconut ........ plz give me hex file this project

AmjadA25 months ago

without feedback?? Pure sine wave? with Push-pull? Doesn't sound good........

obagi5 months ago

hi can you sell me the PIC16F628A allready programed , because i dont know how to program it , thank you

my email moematar@yahoo.com

UrielAntolini5 months ago


The links are given from the post whenever you see it from a mobile device.
There is a example:

UrielAntolini5 months ago

Hello Nick

Would you give us the PIC's C code please? Like me and a lot of people here, we finished the project and now we need the code to make it work. At least, we can accept Hexa, you know...

My email is urielantolini@gmail.com. I appreciate the effort you've done working on this project !

kumarayck5 months ago

Hi Friends,

Can someone tell me Number of winding and thickness of coil for T1 Transformer onbothsides

amer.ozeir5 months ago

hello everyone i have used this circuit as my MT bur there is too many questions why did he choose this pic16f628a those components( transistors)?

why BJT while IGBT is better?

if anyone can answer thxxx in advance

amer.ozeir5 months ago

hello everyone i have used this circuit as my MT bur there is too many questions why did he choose this pic16f628a those components( transistors)?

why BJT while IGBT is better?

if anyone can answer thxxx in advance

Hey guys check-out for more circuit and code @ acecct.blogspot.com/?m=1
kathkathmina6 months ago

hi.. i built a circuit same as yours, I already put it on a pcb, uploaded the hex file you gave. But the problem is, it cant produce AC when I connect a 12V battery, what do you think is the problem? Please help.

Do you find out the Problem?. it could be the battery has to low Ampere? I wanted to buy a conveter 12V/220V 2000w and told me Minimum Charge battery is 70Ah

Kenwood26 months ago

Hi everyone,

can someone tell me, how many Input Ampere needs to make the Inverter board to work.

Thanks in advance.

farsjin6 months ago

hello Nick

i need a efficient inverter. how much is your inverter efficiency?

thanks a lot

maclee4real6 months ago

Hello all,

I don't think Nickk is here to assist us. I'm sure if we decide to help one another everything will be fine


ward.haidara7 months ago

Hi Nick,Let me thank you for this wonderful work....i have made this circuit But I faced some problems,I hope to have a solution.....When I use the filter 2uf Ceramic capacitor Even if another type of capacitor. The load on the battery is more than 20 amperes without any load on the output circuit....And the voltage drops to the 180volt

hello, how did you do it, I made mine and got nothing. i really don't know if the problem is from my programming. I used the Genius G540 programmer since Nickk has stopped responding to us i think we can help ourselves here by sharing. my question goes to how you did your programming and what programmer did you use?


Is the inverter.hex 50hz? How can I use a 24v 12-0-12 transformer on this circuit? What do I have to modify?

amer.ozeir7 months ago

hello can anyone tell me plz why he is using two differents types of transistors in the full H- bridge thxx

kathkathmina7 months ago

I was wondering if it is okay to use arduino uno? And I dont know how to program it in arduino uno. Can you give me a sample making 12vDC/220vAC pure sine wave inverter using arduino uno?

MehyeW8 months ago


is this circuit sine wave or square wave

hoi.pham.5019 months ago
Hi.can you give me a code hex sine 50hz.thanks all

Yes I was wondering the same thing. Im about to make this circuit. can you either give me the C code of this circuit or HEX file of 50Hz ?

npyasith1 year ago

Hey nick,

I built this circuit but I keep getting high voltages instead of 230V. I used the transistor 3055 instead of 3773. Is this the problem???

1-40 of 428Next »