Introduction: Most Efficient Off-Grid Solar Inverter in the World

Solar power is the future. Panels can last for many decades. Let's say you have an off-grid solar system. You have a refrigerator/freezer, and a bunch of other stuff to run at your beautiful remote cabin. You can't afford to throw away energy! So, it's a shame when your 6000 watts of solar panels end up as, say, 5200 watts at the AC outlet for the next 40 years. What if you could eliminate all transformers, so a 6000 Watt pure sine wave solar inverter would weigh only a few pounds? What if you could eliminate all pulse width modulation, and have absolutely bare minimum switching of the transistors, and still have an extremely small total harmonic distortion?

The hardware is not very complicated for this. You just need a circuit that can independently control 3 separate H-bridges. I have a bill of materials for my circuit, as well as the software and schematic/pcb for my first prototype. Those are freely available if you email me at I am not able to attach them here since they are not in the required data format. In order to read the .sch and .pcb files, you will need to download Designspark PCB, which is free.

This instructable is mainly going to explain the theory of operation, so you can make this too as long as you can switch those H-bridges in the necessary sequences.

Note: I don't know for sure if this is the most efficient in the world, but it might very well be (99.5% peak is pretty dang good), and it does work.


13, or 13*2, or 13*3, or 13*4, ... 12v deep cycle batteries

A very basic electronic circuit that can independently control 3 H-bridges. I made a prototype, and am happy to share the PCB and Schematic, but you can certainly do it differently than how I did it. I also am making a new version of the PCB that will be for sale if anyone wants it.

Step 1: Theory of Operation

Have you ever noticed that you can generate the integers -13, -12, -11, ..., 11, 12, 13 from

A*1 + B*3 + C*9

where A, B, and C can be -1, 0, or +1? For example, if A = +1, B = -1, C = 1, you get

+1*1 + -1*3 + 1*9 = 1 - 3 + 9 = +7

So, what we need to do is make 3 isolated islands of batteries. In the first island, you have 9 12v batteries. In the next island you have 3 12v batteries. In the final island you have 1 12v battery. In a solar setup, that means also having 3 separate MPPTs. (I will have an instructable on a cheap MPPT for any voltage very soon). That is a tradeoff of this method.

To make +1 on a full bridge, you turn off 1L, turn on 1H, turn off 2H, and turn on 2L.

To make 0 on a full bridge, you turn off 1L, turn on 1H, turn off 2L, and turn on 2H.

To make -1 on a full bridge, you turn off 1H, turn on 1L, turn off 2L, and turn on 2H.

By 1H, I mean the first high side mosfet, 1L is the first low side mosfet, etc...

Now, to make a sine wave, you just switch your H-bridges from -13 up to +13, and back down to -13, up to +13, over and over and over. All you have to do is make sure that the timing of the switching is done so that you go from -13, -12, ..., +12, +13, +12, +11, ..., -11, -12, -13 in 1/60 second (1/50 second in europe!), and you just have to make the changes of states so that it actually conforms to the shape of a sine wave. You are basically building a sine wave out of legos of size 1.

This process can actually be extended so that you can generate the integers -40, -39, ..., +39, +40 from

A*1 + B*3 + C*9 + D*27

where A, B, C, and D can be -1, 0, or +1. In that case, you could use a total of, say, 40 Nissan Leaf lithium batteries and make 240vAC rather than 120vAC. And in that case, the lego sizes are much smaller. You get a total of 81 steps in your sine wave in this case rather than just 27 (-40, ..., +40 vs -13, ..., +13).

This setup is sensitive to power factor. How the power divides up amongst the 3 islands is related to the power factor. That can affect how many watts you should set aside for each of the 3 island solar panels. Also, if your power factor is really bad, it is possible for an island to be, on average, charging more than discharging. So, it's important to make sure your power factor isn't horrible. The ideal situation for this would be 3 islands of infinite capacity.

Step 2: So, Why Is This So Stinking Efficient?!

The switching frequency is ridiculously slow. For the H-bridge that is switching the 9 batteries in series, you only have 4 state changes in 1/60 second. For the H-brirdge that is switching the 3 batteries in series, you only have 16 state changes in 1/60 second. For the last H-bridge, you have 52 state changes in 1/60 second. Usually, in an inverter, the mosfets are switching at maybe 100KHz or even more.

Next, you only need mosfets that are rated for their respective batteries. So, for the single battery H-bridge, a 40v mosfet would be more than safe. There are 40v MOSFETs out there that have an ON resistance of less than 0.001 Ohms. For the 3 battery H-bridge, you can safely use 60v mosfets. For the 9 battery H-bridge, you can use 150v mosfets. It turns out that the higher voltage bridge switches the least often, which is very serendipitous in terms of losses.

What's more, there are no big filter inductors, no transformers, and the associated core losses, etc...

Step 3: The Prototype

On my prototype, I used the dsPIC30F4011 microcontroller. It basically just toggles the ports that control the H-bridges at the appropriate time. There is no lag for generating a given voltage. Whatever voltage you want is available in about 100 nanoseconds. You can use 12 1-watt isolated DC/DC's for switching the MOSFETs supplies. The total power rating is around 10kW peak, and maybe 6 or 7kw continuous. The total cost is a few hundred dollars for everything.

It is actually possible to regulate voltage as well. Let's say that running the 3 H-bridges in series from -13 to +13 makes the AC waveform too big. You can just choose to run from -12 to +12 instead, or -11 to +11, or whatever.

One software thing I would change is, as you can see from the oscilloscope picture, the state change timing I picked didn't make the sine wave totally symmetric. I would just adjust the timing near the top of the waveform a little bit. The beauty of this approach is, you can make an AC waveform of any shape you want.

It also may not be a bad idea to have a small inductor on the output of each of the 2 AC lines, and perhaps a small capacitance from one of the AC lines to the other, after the 2 inductors. The inductors would allow the current output to change a little more slowly, giving the hardware overcurrent protection a chance to trigger in the event of a short circuit.

Notice that there are 6 heavy wires in one of the pictures. Those go to the 3 separate battery islands. Then there are 2 heavy wires that are for the 120vAC power.

Battery Powered Contest

Participated in the
Battery Powered Contest