Hello friends

Today I am back with another project called DIY AUTOMATIC SOLAR CHARGE CONTROLLER.

It’s an automatic switching circuit that used to control the charging of a battery from solar panels or any other source. It’s a 555 based simple circuits the charge the battery when the battery charge goes below the lower limits, and stop charging when the battery reaches it's upper limit voltage

Step 1: My Goal

Picture of My Goal

“To make a cheap and efficient solar charge controller”

Step 2: Circuit

Picture of Circuit

This is the driving circuit of the DIY AUTOMATIC SOLAR CHARGE CONTROLLER.

To make this circuit you need

1. NE555 IC with IC holder

2. One 2N2222 or PN222a Transistor

3. Three 1K Ohm resistors

4. One 330 Ohm & 100 Ohm resistors

5. Two 330 Ohm 1/5 w resistors(optional)

6. Two 10K variable resistor

7. Two LEDs (green & red)

8. 1N4007 Diode

9. 5V SPDT relay

10. two, 3-Pin PCB connector

11. Wires

12. PCB

13. LM7805 (TO-220 type)

14. Two capacitors(i am using .1uF,you can use any)


This is the finished circuit (Fig)

The 5v relay is the main component of this circuit; it’s an SPDT (Single Pole Double Throw) relay. It have one common (pole) terminal and 2 contacts in 2 different configurations. One is N.O (Normally Open) and other one is N.C (Normally closed)

In our case we connect the +ve of the solar panel to the pole of the relay and +ve of the battery to N.O when the battery is connected to the SCC (solar charge controller) the circuit check the battery voltage the voltage is less than or equal to lower limit the current is flows to the battery and battery start charging. When the battery voltage reaches the upper limit, the rely is activated and the current is redirect to N.C for dumping

Step 3: Calibration

After finishing the circuit you need to set the upper and lower limits. Batter calibration is required to avoid the overcharging and over discharging of the battery. I am using 12v as lower lower limit and 14.9v as upper limits. that means when the battery charge reaches the 12v battery start charging.wen the battery voltage reaches the upper limit or 14.9 volt .the relay is activated and circuit start dumping

To set the limits you will need a multimeter and a variable power supply or two power supplies. one with 12v and other one with 15v.first you will need to set the lower limit. for that set the voltage to 12v and connect it to the circuit. connect the ground weir to the conmen of the multimeter and touch the testing probe to the pin 2 of the 555 IC. Adjust the voltage by adjusting the VR to get 1.66 volte. Then set the voltage to 14.9v and touch the probe to the pin 6 of the 555 IC. adjust the voltage to 3.33v.check once aging .now over SCC is ready for use

Step 4: Wiring

Picture of Wiring

The Fig show the wiring diagram of the SSC

First connect the +ve from the solar panel to the centre pole of the relay then connect a red wire from battery to N.O of the relay. connect the –ve wire from the solar panel to the -ve of the circuit then connect the battery’s–ve to the circuit.

Step 5: Working

when the battery voltage is less than 14.9 v the it start charging by passing current through N.O of the relay. when the batteries voltage reached 14 volt its automatically switch the relay to N.C.if you are using solar panel you don't need an dummy load to dump the excess power. you can add an extra battery to the N.C to harvest the excess power

Step 6: Moment of Truth

this is a quick video of the DIY AUTOMATIC SOLAR CHARGE CONTROLLER

Step 7: Thank You

I will give thanks to you Mr. Mike Davis. this DIY AUTOMATIC SOLAR CHARGE CONTROLLER is based on the his design. I just modified it a bit to make it more compact. I will give all credit to Mr. Mike Davis

A New Solar / Wind Charge Controller Based on the 555 Chip


KunalC21 (author)2017-12-24

sir I have to connect inverter to this charge controller so should I connect it directly to battery or to the dump terminal ?

vina1991 (author)KunalC212017-12-25

connect the inverter to battery

FatinA9 (author)2017-12-07

Can i know how u got 1.66 volts for pin 2 and 3.33 volts for pin 6.

mahio4u (author)2017-11-21

Why the MOSFET? I thought it was PWM or something, is it? If its just to switch a relay, any regular General Purpose transistor could achieve that, or is the MOSFET doing anything else of high relevance? Good Tutorial...I love..

vina1991 (author)mahio4u2017-11-22

i use mosfet because i have lots of them at that time. a 2n222a can do the work :)

Zoals (author)2017-11-13

Why its done so complicated? 7805 can be eliminated if 12 volts relay used here. 7805 regulator drain lots of battery power.

vina1991 (author)Zoals2017-11-15

Yes ,but that LM7805 is not for the relay it's use to power the 555 IC with a constant 5V, a 555 need Vcc 4.5 to 15. a 12 v solar panel is not have a study 12v out put every time, sumtimes it's go high upto 18v (Open circuit voltage up to 20V)this type of changes may course problems to IC.thats whey i use a voltage regulator in this circuit ig you want to use 12v relay use this circuit (not safe)

Zoals (author)vina19912017-11-16

Yes I agree with your logic, but IC is always powered from Battery right not from Solar source.

Btw I've question, how we got 1.66 volts for pin 2 and 3.33 volts for pin 6. Please let me know how to calculate it so that I can apply same logic after removing 7805.

vina1991 (author)Zoals2017-11-16

not directly,but at the time of charging the battery is connected to solar panels this is the reason for the 5v regulator.a battery is not a constant voltage source. if are using 12v battery, the voltage change from 11.9 to 13.9 changing voltage may interfere with precision of the circuit

but i will conceder your request and find a solution soon

vishnumaiea (author)2017-07-04

Wow! I really liked the way you place and solder all the components. It's so neat, just as the way I do ;)

vina1991 (author)vishnumaiea2017-07-04

i have only one rule at soldering, its an art not a job;)

vishnumaiea (author)vina19912017-10-26

From one of my projects! :)

No automatic alt text available.

vkorie (author)vina19912017-10-25

yea i like that....same rule as mine

wallablack (author)2017-10-22

How many AMPS can this take?

vina1991 (author)wallablack2017-10-22

currently around 10 amps you need big relay to increase the current

drpremji (author)2017-08-31

Please tell me regarding the use of MOSFETs instead of relays in higher currents. Thanks in advance

GrahamD24 (author)2017-07-21

This is almost exactly what I'm looking for, thank you. The only change I need is to handle 30V (and 15A but I'll use a bigger relay for 15A). What components in the circuit would need to change for 30V capability?

pissken22 made it! (author)2017-07-19

this the image: i think i don t know how to put relay and transistor npn 2N2222 (emerter,coleter,base)

Techno craft (author)2017-06-20

How much wattage power of solar panel can we run with this controller??

Techno craft (author)2017-06-20

Nice one, got help

AliO57 (author)2017-04-17

Any information , how can I callobrate this to charge a 7.2v battery ?

JoB94 (author)2017-03-25

this looks great maybe evn I will be able to copy it. (no electronics tuition whatsoever) Can I ask is it possible to add something that switches the excess to a dump load? or would that need a whole new designed circuit?

aquibchetan456 (author)2017-03-25

why push button required in this project

andy.engel (author)2016-10-10

The voltage limits you describe are not ideal for a lead acid
battery... The term '12 volt battery' is misleading to the layman as a
fully charged lead acid battery will actually read 12.7 - 12.8 volts
(resting with no surface charge) depending on specific type and
temperature. A lead acid battery reading 12.0 volts is actually about
50 percent discharged. More ideal settings for a flooded cell S & L
battery would be cut out at 14.4 and cut in at 13.0 - 13.2 or so...

HarryB80 (author)andy.engel2017-02-18

Spot on

RahulKA96 (author)2017-01-12

How are we setting the lower and upper limit in the solar charge controller circuit,I didnt got enough knowledge.Please help me to know.

AkhbarB (author)2016-12-05

I have noticed that pb tp1 and pbtp2 are not on the parts list.Can you tell me what they are and where obtainable.

My emailaddress



vina1991 (author)AkhbarB2016-12-06

PB = push button switch


Dosselini made it! (author)2016-10-19

Made to Mike Davis' original design. Works a treat!

vina1991 (author)Dosselini2016-10-19

Grate bro :)

JimI8 (author)2016-10-06

The current capability of the relay is not specified but the size tells me it isnt a lot. However the relay could be used to activate a larger relay (Contactor) to control even a 5KW solar array as long as the coil demands of the contactor are within the capability of that small relay.

vina1991 (author)JimI82016-10-06

my relay can handle 10A@24 VDC

you can use a 12 Automotive 5-Pin SPDT 40Amp relay for higher watts

Brucela (author)vina19912016-10-18

You cant use the 12 volt relay in a 5 volt circuit. (author)JimI82016-10-11


mharmon12 (author)JimI82016-10-06

I've seen these relays in residential HVAC control boards to run the circulation motors. This one has 120 vac and 12 amps written on it.

JimI8 (author)mharmon122016-10-06

My home array has 10 panels, each one capable of 8 Amps for a total of 80 amps.

Indyboo (author)JimI82016-10-06

Although your panel array is capable of supplying 80 amps. It is the battery charge rate that the relay needs to handle. Your panel array will not be putting out the entire 80 amps into the batteries. Typically, float charging a good battery array only requires a few amps. The only time high amperage would be needed is if the battery array is almost discharged completely.

JimI8 (author)Indyboo2016-10-06

Not true. The difference between 12Volts and 14.9 volts through the internal resistance of the specific battery will define the charge rate instantaneously when first connected. The better quality battery will have the lowest internal resistance and the highest charge current. It can get very high. Much more than the published charge rate. And it only has to last a few milliseconds to destroy the relay contacts.

Further charging at only the float rate means you are not using your battery bank efficiently. It should be constantly moving over a range to get the best usage from it. Mine is often under 100 amp discharge.....which is often coming directly from the solar panels.

josephlebold (author)Indyboo2016-10-06

A waste if solar panel capacity.

MikkoA2 (author)Indyboo2016-10-06

If high amperage is a possibility, it must be taken into account. At least a fuse would be in order somewhere in the charge circuit. I wouldn't connect this to any potentially high amperage providing device without a fuse. A lot easier to replace a fuse than a whole circuit.

MikkoA2 (author)mharmon122016-10-06

For small AC fan motors this relay just might be enough, if the voltage is high enough. But this application is designed for 12VDC, where the amps are much higher. That said, it's not this piece of electronics per se that you have to worry about, it's the charge circuit plus its auxiliary circuit that you're driving through it that you have to take into account.

BarryB41 (author)2016-10-15

can i apply this to charge mobile phones?

vina1991 (author)BarryB412016-10-16

no buddy

vina1991 (author)BarryB412016-10-16

yes if you are Donald Trump ;)

SnorkY2K (author)2016-10-15

Oh, and this build was very organized and clean. No sausage here.

vina1991 (author)SnorkY2K2016-10-16

Thank you for your positive feedback :) that's my trademark ;)

willtoolman (author)2016-10-16

Link to where to purchase kit including a PCB

vina1991 (author)willtoolman2016-10-16

$28 for this circuit?!!!!!! I Can't Believe It

i just need 5$ for make this item

WannaDuino (author)2016-10-07

copycats dont exist here,

only brave people.

its a super clean and nice GOOD IBLE

oke Vina?

vina1991 (author)WannaDuino2016-10-07

a man made a working and good looking circuit without any type of formal education in electronics is a bravery ????



About This Instructable




Bio: a MAD man who fancies himself a genius
Add instructable to: