Making an Arduino Solar Charger

Hey guys

I am thinking baout making an arduino regulated solar charger which charges some lipo batteries. Now the solar pannels only produce a couple of watts, so im tryin to not loose a lot of energy on the circuit. i was wondering what the most efficient way is to cut off power to the batteries once they are full. A relay uses way too much energy (seems most use like 30ma) so i was thinking of using a transistor. But there i loose a lot of energy because of the voltage drop. So my question is, which other, hopefully more energy effcient, methods do I have aviable?

Max load is going to be 1a, Thanks a lot!

What’s the voltage of the solar panel?

I’m working on a controller for an 18V panel charging a marine 12V battery, and I’m planning to use a P-channel MOSFET (with an RDSON of about .3 Ohms, so it won’t waste much energy) to control power so I can PWM it as the battery nears full charge. But power MOSFETs don’t work very well at low voltages.

You could also use a latching relay, so you only need power during the actual turning on/off.

(I just noticed that my example is a single-coil relay. Avoid those, because you have to drive them in opposite polarities for “on” and “off”, like reversing a motor. You’d want a dual-coil relay, with separate “on” and “off” coils)


For this project voltage will be low, roughly 5 volts, as im going to charge single cell lipo batteries. To maximize charging efficiency im going to use a similar circuit to, gona look into latching relays then. To maximize charging efficiency im going to use a similar circuit as the Thanks

I am charging a 110 mAh lipo using a 5V solar panel and a Maxim Max1555. The chip takes care of disconnecting the charging source from the battery when it is fully charged.

Additionally, there is an input on the 1555 to take the 5V in from a USB port so you can charge from that when it's not practical to use the sun.

I haven't done it yet, but it is probably advisable to protect the input from the solar panel from exceeding the data sheet maximum of 7V.

The Max1555 costs about $1.00 in single quantity plus another couple of bucks for a breakout board since it's in a SOT-23 package.

This is interesting. I've just got hold of a small 3.6V panel which I intend to charge a lipo with too.

I quite like the idea of the Max1555 but its just to weak. 300ma wont be enough. My favourite chip so far would be the MAX8903A, efficiency wise its amazing, it can charge with up to 2a and you can input a voltage up to 20v to charge a 3.7v lipo. However it is way to small to solder... any other ideas? seems like in the end i might have to go for the latching relay option. Cheers

... and what about this?

The Libelium product uses the Max1555 for its charge controller.

If the solar panel is rated at a "couple of watts" its max output at say 6 volts is only ~333 ma, so the Max1555 would be all you needed for a charger.

the other thing you have to look at is how much power can your lithium battery take as far as charge current?

Most lithium chargers use <300ma as with small batteries you really can’t charge that quickly… also, the higher current you pump in, the lower the efficiency (it can’t convert all of that energy to charge fast enough so it generates more wasted heat).

more heat = less life… especially with lithium.

If you are looking for something that will both charge quickly and have a decent amount of charge, you might consider economy of scale… a bunch of smaller batteries (each with own charging circuit) might fit the bill better than a comparable single cell. The arduino can monitor the solar output voltage and charge current and selectively cycle each charge circuit on/off to achieve the greatest amount of charge based on available energy. If one cell gets topped off, you can stop charging it to get the other cells up to charge.