DIY Solar Boost Converter with MPPT Charge Controller

This is a simple solar boost converter and voltage limiter circuit that charges a 12V battery from a 6V solar panel. It also demonstrates MPPT (Maximum Power Point Tracking) capability. When we think of MPPT, we generally think of microcontrollers and complex power computing algorithms, but such computing power is not actually required. Note that this concept may be new to the world.

Two schematics are provided. The first simply illustrates how the boost switching converter topology functions, while the second is a workable DIY schematic. This is recommended for the more advanced experimenter who has an oscilloscope at his disposal. It is also a great experiment for students and those who wish to expand their minds a little.

Schematics of Boost Topology and DIY Solar Booster Circuit

Photos of the prototype

Boost converter theory

Per the boost converter topology sketch, inductor L1 charges when Q1 turns on. When Q1 turns off, L1 discharges into the battery via D1. Performing this simple operation thousands of times per second results in appreciable output current. It is also called inductive discharge. For this to function, the input voltage must be lower than the output voltage. Also, with a solar panel source, energy storage in the form of a capacitor (C1) is required so that the solar panel may continue to output current between cycles.

Boost converter circuit schematic

The circuit consists of essentially three sections including a 555 MOSFET gate driver, 555 PWM modulator and op amp voltage limiter. The 555 with its totem pole output can source as well as sink roughly 200mA and makes a great low power gate driver. The 555 PWM modulator is the classic 555 oscillator circuit. To regulate the C3 discharge time (inductor charge time), pin 5 is held at a regulated 5V.

Voltage limit

Op amp U1A integrates the battery voltage signal when the divided set point voltage is compared with the 5V reference. When the voltage exceeds the setting, the output integrates in the negative direction thus reducing the repetition rate of the PWM generator and limiting any subsequent charging. This effectively prevents overcharging.

Circuit power sourced by the solar panel

To prevent unnecessary battery discharge when the sun is not shining, all circuitry is powered via the solar panel. The one exception is the voltage feedback divider that draws approximately 280uA.

Logic level MOSFET

Since the circuit must operate at low voltages (this one works down to about 4V input) a logic level MOSFET is required. It turns on at fully at 4.5V. The device I actually used was the MTP3055.

D2 voltage clamp

In this circuit, the battery MAY NOT BE DISCONNECTED or the MOSFET will self-destruct when it turns off. Since this is too much to be expected, 24V zener D2 performs a safety clamp function. Without this, I, myself would have destroyed many MOSFETS.

MPPT function

As the solar panel voltage /current increases, the PWM generator increases its repetition rate thus resulting in increased output current. At the same time, additional voltage is applied to the inductor thus increasing its charge current. As a result, the boost regulator really digs in as the voltage increases, or lets up as the voltage diminishes. To achieve maximum transfer of power with full sunlight, potentiometer R8 is adjusted so that the battery charging current is maximized –this is the maximum power point. If the circuit is operating properly, there will be a very shallow peak as R5 is rotated. Diode D3 makes the automatic MPPT adjustment function more sensitive by subtracting a fixed voltage from the voltage difference between the battery and the average voltage across C3. Under lower light conditions, you will find that R3 is not exactly at optimum, but it will not be significantly off. Note that intelligent MPPT controllers can do a better job across the full range, but such improvement is very marginal.

Component values

This circuit is tuned for a 9V, 3W solar panel. Boost regulators tend to be finicky and will not operate over a wide range of conditions –if your system uses a different solar panel power rating, expect problems. The only items that need adjustment are the inductance of L1 and the value of C3. I was surprised that the repetition frequency turned out so low (approx 2kHZ). I started with a 100uH inductor, but it just seemed to work a whole lot better with the 390uH inductor –originally, I wanted about 20kHZ. For best operation, plan to charge the inductor to about 5 to 10 times the solar panel current, and then allow an extended period of time (3X) for the inductor to completely discharge. This allows for acceptable operation when the source gets close to the battery voltage. Note that low resistance inductors offer the best efficiency. The greatest loss actually occurs in the schottky diode, and lowest loss is what these diodes are noted for.

High frequency operation is generally preferable in order to minimize the inductor size. However, for experimentation, use what works best.

Suggested components are indicated on the schematic. Of course, the charger may be scaled for actual requirements.



For the future

  • MPPT solar boost regulator (12V panel to 24V battery)
  • MPPT solar buck regulator (12V panel to 12V battery)

Undocumented words and phrases –for our ESL friends

dig in –idiomatic phrase –literally to dig a hole –in electronics, it indicates extreme effort


Join the conversation!

Error! Please fill all fields.
  • kainat

    Please, can you tell me which MPPT Algorithm type is being used here? For example, P & O, Incremental Inductance Algorithm etc.

  • axizep

    dear Jim!
    I was thinking about a principle of your mppt controller for 2 days )
    i have figure out interesting thoughts: if solar panel voltage is higher,c4 capacitor,which controls frequency of pwm rate.(you have mentioned this fact in you article also). if frequency is higher,less current can be stored.if frequncy is higher,there is less time for current to rise in inductor (in case that pwm duty cycle is constant value) finally inductor will giveaway less current.
    is there any factors that i have didnt noticed?

  • ridvantigizgmail-com

    hi Jim Keith ;
    I will design buck mppt for 20W(18 v)solar panel to load 12v 7ah battery.
    I am gonna loose my mind
    Can u help me how can do it.I look the your design if ı change some materials can I handle it?

    • Jim Keith

      There are substantial differences between the boost and buck topologies. Controlling the buck regulator for MPPT is much more involved and very busy. While I have toyed with the idea for some time, I do not have immediate plans for developing such.

      Approaches include an intelligent means using only glue logic, an analog approximation (similar to the above boost circuit) or an intelligent means using an Atmel AT80S52 microcontroller programmed in assembly language.

  • Clark

    Hi Jim Keith,
    I am trying to build this circuit but I am using 6V, 1.5A which is 9W as input will the circuit still works and if not which components should I change? Thank you very much!!

    looking forward for your response

    Best Regards

  • sivaprasad

    Hi Jim Keith,
    I was trying to make the DIY Solar Boost Converter with MPPT Charge Controller with the following components.
    Solar panel-6V,5W
    will it work

    At what value I should set R8?
    What is the maximum capacity of battery that I can charge using this circuit.
    Please reply..

    Thanks& Regards,

  • Carlos Pote

    Hi, Dear Mr. Jim. I don’t know if I am in the right place to ask you about an issue. I’m new in this electronic world and I have a project to make in my mind and I would like to know if you, sir, could give me an advice to make it. What I want to do is create a circuit with a LED bulb(5050 SMD 18 LED Bulb 12 V 5W max.) and I need this Bulb connected, steady light, at least 16 Hours per day, daily. I need a solar panel, and a battery to feed this Bulb, too. So, Dear Mr. Jim, what would be necessary to do my project is: The required solar panel; The required Battery; and a controller as well. If you could help me out with this issue I will be grateful. Thanks. Best Regards Carlos

  • odysseas Chasapis

    Dear sir/Madame
    i am interested to buy one charger like that to test it and if works perfect we will need several ( 45-50 ) pieces for second order..
    do you know where i can buy a sample ?
    i use paypal for payment . my location is in Greece

    Odysseas Chasapis

  • Steve

    This is a really nice design, very nice parts selection. I need to take 12V from a PC power supply, and keep a lead acid battery charged at around 13.5V, so minimal boost is needed. I’ve looked at the UC2843 and similar controllers, but this is much simpler and for my application looks perfect. Thanks!

  • Renton

    Thank you for this fine tutorial. I have an idea to feed hot water boiler heater element (230v) straight from four solar panels which are 36V 260Wp.

    I understand this schematic itself won’t do, but this could be perhaps altered (easily?) by changing power mosfets, diodes, L1, C1. Because there would be max power of 1000w from panels I guess several power mosfets in parallel could/should be used? Also overvoltage limitation is not a nessecity.

    Sorry for these stupid questions but there is over 30 years than I have red any circuit diagram, at the time N555 was brand new chip.

  • Jim Keith

    It should be noted that U3 also performs as a signal inverter –unlike the usual gate drivers that do not invert.