Solar Charger

Hi all,
I was looking for some feedback on my idea. I’m new to electronics so go easy on me.

My thought was to have a battery power a pump for a vertical garden ( I was going to use a solar panel to charge the batteries and have the pump drawing from batteries. At night, my hopes are that the solar/arduino part of the circuit would be “off” and the battery and load section would remain on.

I would code the arduino charge the battery until a certain voltage is read on A0, and after that it would trickle charge until the voltage fell below a certain value on A0 after which a normal charge would start.


If you try to manually charge a Li-Ion battery, you're going to need to set up a solenoid to release Halon when it bursts into flame. :-)

Use a dedicated, controller-based charger IC, or consider using NiMH or NiCd instead.

There are a couple problems with the lower half of that schematic: 1) You seem to be supplying the load with the Arduino as a PSU. Don't do that. Hook it up to your battery, switched via transistor or relay by an output pin on the Arduino.

2) If your plan is to trickle-charge the battery with an output pin, you'll need to limit the current from the Arduino to ~20mA or less, otherwise you'll fry the output.

3) You'll know when the battery is full by the drop in current. I don't think (?) you can read the battery status by watching voltage. As long as the charger is on, you'll see the charging voltage, not the battery voltage. (Someone correct me if I'm wrong.)

Thanks for your input!

Here is a revision in my schematic. I will use NiMH batteries and will use a ATTiny instead of an arduino (using this tutuorial ( I also added a AC Source as a backup in case the batteries are low and require a charge.

Pin0 Indicator that solar panel is being used to trickle charge the battery
Pin1 will read the voltage from the solar panel to tell if the AC Adapter needs to be turned off if on.
Pin2 will read the voltage from the battery and to check if AC should be turned on.
Pin4 Indicator that AC is being used to trickle charge the battery (Should only ever be on if batteries are low on batteries)

I have put a relay on the solar panel to ensure only one power source is on.

I know that this may not be enough to power a pump, but I could potentially use it for the raspberry pi.

Hmm... OK... first, your grounds should all be tied together. Switch the + side instead.

Your diode is backwards on the solar panel. This ensures that you will be charging the solar panel from the battery or AC adapter. Add one to your AC adapter output as well.

If the reason for using solar is to cut down on energy, having an AC adapter powered up at all times is counter-productive. You may want to move your relay to the primary side, and use a pair of transistors to switch the secondary side of the AC and the solar panel feed. (These would be opposite toggles -- AC on when solar is off, and vice versa. A flip-flop might be a good choice here.)

I don't understand what you're trying to do with the transistors. If you want charging indicators, you could connect the LED via a resistor after the transistor switch and before the diode on the output of each source. Unless the LED draw (5-15mA or so) is way below the output of the panel, this is an unnecessary drain and could use a substantial amount of power relative to what you get.

I updated the schematic.

Pin0 will read the voltage from the solar panel to determine if the power source should be switched if the AC is turned on.
Pin1 will be set to HIGH to charge via solar, LOW to charge via AC.
Pin2 will read the voltage from the battery (to determine if battery is low and requires a charge from AC)

EDIT: The AC will only charge if the battery is low and the solar panel is not available (at night) or voltage is too low.


Your battery is in series with your charger and Arduino... I don't think that's what you want.

I can't help but feel like you're guessing here. I think you might be in a bit over your head. Not a big deal -- you just need to start with something a little simpler and work your way up. Try just a basic solar charger first.

Tie your battery + to the Arduino input, battery - to the Arduino ground. Get that running first. Now you're powered with batteries. Then, add the solar panel...

Tie the panel - to your battery - terminal. Then, run the + output through a diode and hook that up to your battery +. Assuming your panel has (0.7v) more voltage than the battery, it will charge. Be careful that your panel does not output too much voltage! Check the specs first to make sure it won't, because there's no overvoltage protection here.

See if you can run the thing for days or weeks this way, then we can come back to adding a third power source. The panel will have to have adequate output current to charge the battery to make it through the night. You may find out your panel doesn't help much. Or it could extend the operating time indefinitely, provided nice weather. Who knows?

BTW, when you're ready to add the AC adapter, rather than have your Arduino control charging source, consider using a comparator. Using a micro for something like this is over-complicating a situation easily solved with simple analog electronics. Not that it can't be useful (or just fun), but you may have better reliability from a solution with fewer virtual "moving parts", so to speak.