LiPo battery charging from a 1W 5V solar panel

In my previous post, I reviewed some “5V 1W” solar panels, with a view to using them to power some IoT devices, and in this post I’ll show my experiments and conclusions about using the panel to charge the battery.

LiPo cells have specific charging and usage requirements so that they don’t get damaged.  For charging the basic principal is that they require both constant current and then constant voltage charging. They also should not be overly discharged or float charged.


The test setup…


I’m using an analogue meter in series with the 2200mAH LiPo battery, set to its 250mA current range.

I used an analogue meter because it responds quickly to changes and is accurate enough for this sort of testing.

The variable resistor attached to via the orange and yellow wires, is to control the charge current on the TP4056 LiPo charger module. (see Charging Option 4 )

The variable resistor connected by the 2 yellow wires, controls the output voltage from the LM2596 DC to DC converter module.

The switch allows me to connect the battery to either the input or output of the TP4056 LiPo charger.


Note. There is a capacitor which appears to be soldered onto the input of the DC to DC converter.

Its actually only soldered on the positive terminal, and the negative terminal can be connected my pressing its wire onto the PCB.

I tried most configurations with and without this 2200uF capacitor and I didn’t see any noticeable difference in the charge current  etc.

Capacitor on output of solar panel


Charging option 1.

If you disregard the “not float” charged requirement, one option is simply to connect the LiPo battery to the solar panel, via some diodes, or a zener diode, which would limit the maximum voltage to around 4V (most batteries seem to require charging to 4.2V)


Offload the solar panel reaches around 6.5V, so a circuit which “drops” around 2.5V would be required.

I found some 1A diodes can drop around 0.8V, so 3 diodes in series would “drop” 2.4V, which should be sufficient to prevent the battery being overcharged.

However in practice this solution is the worse of all those I tried, mainly because the efficiency of the panel drops a lot as its voltage increases above 5V and also the diodes dissipate around 2.4 * 0.15 = 0.36W of power

(Power = Voltage * Current)



Charging option 2

Clamp the output of the solar panel so that if the voltage exceeds 4.2V.

The simplest clamp is to use a zener diode which is capable of handling the maximum current that the panel can produce. So a 250mA zener would have plenty of current capacity to spare.


This option charges the battery much better, because the solar panel is much more efficient at voltages below 5V than it is above 5V, and even at 3V, the battery was charged at around 150mA, and as the battery voltage increases the amount of power (voltage x current) being put into the battery increases.

e.g. 3V @ 150mA = 0.45W

4V @ 150mA = 0.6W


This method worked well, but did not seem to be the optimum solution, because the solar panel was not operating at its most efficient voltage (of 5V), hence in the worst case, the battery is being charged at 0.45/0.75 of maximum efficiency (assuming the panel can produce at least 0.75W under ideal conditions, with 33 ohm load)


Which led me to evaluate the next option.


Charging option 3


Connect the output of the solar panel to a DC to DC “buck” voltage regulator converter (which use the LM2596) , which can be found on eBay for $1 or less



The reason to potentially use this module, is that it can convert the DC input voltage to a different (lower) DC voltage without as much loss as a linear regulator or resistor or diodes.


However in practice when I connected the module between the solar panel and the battery, I found that the charge current which has been around 150mA for a direct connection, dropped to around 125mA or less.

To add a bit more detail, what I did was connect a voltmeter to the input of the module (from the solar panel), and adjust the output voltage until the load on the solar panel reduced its voltage to around 5V

To make this a bit easier I removed the small trim-pot variable resistor and attached a normal pot on some flying leads.




This wasn’t what I expected to happen, so I looked in the data sheet for the LM2596 at the expected efficiency, there is a graph of the efficiency with a 3A load




The load of the battery is about 20 times less than illustrated on the graph, but the graph implies that potentially the efficiency when the input and output voltages were low e.g. 5V in 3V out, was not very good, and potentially could be less than 70%


To confirm the efficiency, I did some tests using a bench power supply set at 5V, a 150ma load using a resistor; and measured the input and output currents for a series of output voltages, from 3V to 4V. The results were fairly consistent with an efficiency of 75%


The results seem to agree with what I observed when I connected the DC-DC converter to the solar panel, except the efficiency may be even lower than in the controlled environment, and may be as low as 60 to 65%


With these low efficiencies, using this particular DC to DC converter is pointless, as its less efficient than simply loading the solar panel to a voltage where its efficiency is not optimum.

It could be that a different type of DC to DC converter may be more suitable to low voltage operation (5V input) and where the input and output voltages are just 1 or 2 volts different.

For example the MP1484 has a claimed efficiency of 80%, with input of 5V and output of 3.3V


But even 80% isn’t that good, and is probably only 10% more efficient than the panel its self.


Hence, using a switching DC to DC converter for this small panel does not seem practical.


Charging option 4

Use a LiPo management module which uses a TP4056 for charging


The TP4056 is a “A Standalone Linear Li-lon Battery Charger with Thermal Regulation”



The charging current of these modules is set to 1000mA by default, because resistor R3 is 1.2k ohms, however the charge current can be adjusted to a much lower value if the resistor is replaced by one of a higher value, and could potentially be controlled by replacing R3 with a transistor.

I found several posts on the web, where people had been trying to use these in conjunction with a solar panel, and wanted to adjust the current so that the panel maintained its maximum efficiency voltage (of around 5V).

However, because the TP4056 is a “linear” device, maintaining maximum efficiency at 5V does not necessarily yield the best charging methodology.


For Example.

At 5V the panel can produce 150mA, but as the TP4056 the most current it can deliver to the LiPo cell is the same as its input current, i.e 150mA

The difference in input power (5 x 150ma = 0.75W) and the output power (3V x 150mA = 0.45W) is just dissipated in heat.


Also, this module would need considerable modification, probably involving one or 2 external transistors and 2 or 3 resistors, in order that the charge current was modulated to maintain the input voltage from the solar panel at 5V

So following a hint on another forum, I decided to simply replace the current control resistor (R3) by a 10k variable resistor, and monitor the charge actual charge current to the battery, as the resistance was varied.

Modified LM2596 DC to DC converter moduleTo my partial surprise, I found that there seems to be an optimum resistance value which gives the most charging current under most light conditions.

The resistance required is the value needed for a charge current of 150mA, which seems to be around 8k.

In full sunlight, if the resistance value was adjusted to be higher than 8k, the charge current was limited by the TP4056 to a lower value e.g. 10k gives around 130mA.

If a significantly lower value of resistance was used, the charge current also diminished below the optimum, but this effect was not as marked as higher resistances than 8k, and I am not entirely sure why this happened, but I could start to hear a high pitched whistle from the module, so I think that the increased current was causing the voltage from the solar panel to drop too low for the TP4056 to be able to charge the battery, at which time it stopped charging, and the voltage from the panel rose to where the TP4056 would operate again.

This oscillating operation is not as efficient as just using around 8k resistance.

Strangely at lower light levels the oscillation does not seem to occur even though the charge current is much lower.



In conclusion


For the configuration I investigated, the best option in my opinion, is to use a TP4056 based battery management module, preferably one which has separate battery and output terminals, so that its impossible to completely discharge the LiPo cell.

Then simply replace resistor R4 3 with one that gives the correct maximum charge current.


Trying to increase the efficiency of the overall system by using a DC to DC converter only gives a very marginal improvement, and the cost of the DC to DC converter e.g. $1 is over half the price of the solar panel, so it is more economic to spend $1.50 to buy another panel and put it in parallel hence doubling the charging capability.




Update 15th Nov 2017


I’ve been sent some interesting new information, including a link to this great video by Andreas Andreas Spiess



And a great comment about using the CN3791. So I’ve ordered 2 of those modules for testing.


2 Responses

  1. Roger Clark

    Very interesting.

    I’ve not seen that module before

    But when I looked in detail at the listing in eBay, it needs 9V input and my panels are 5V

    However I found the datasheet

    and its input voltage can be “4.5V to 28V ”

    In the datasheet it says

    V MPPT = 1.205 × (1+R3/R4)

    I presume that the values of R3 and R4 on this module are preset for 9V, but could be changed.

    I tried looking on various eBay listings, but its hard to read the values on the SMD resistors
    The datasheet shows them are R3 and R4 but the eBay module they are R1 and R2

    It would be interesting to test this, so I’ll order a 12V and a 9V version.

    However as they cost over twice the price of the panel, its actually more cost effective just to buy a bigger panel.
    One other thing to note, is that this module does not provide over discharge protection.