For sale on Tindie!

A project log for LiFePO4wered/Solar1

A complete LiFePO4 based solar power supply for IoT devices

patrick-van-oosterwijckPatrick Van Oosterwijck 06/29/2017 at 17:040 Comments

Finally got around to taking some product pictures and writing enough documentation to be able to start selling the prototypes I built on Tindie!

Hopefully with the connection diagram and design information it will be possible for most people with some electronics background to use these successfully.

I'll duplicate some of this information here for those interested in how to make use of this board:

Calculating MPP resistor

To extract the maximum amount of power from your solar panel, you need to customize the maximum power point setting to match that of your panel. Use the following formula to calculate the value of the MPPT resistor:

MPPT = 120500 / (Vmpp - 4.295)

Some examples values from my own testing with different panels:

Customizing maximum charge current

There are many ways that charge current is limited by different parts of the system, so often it's not necessary to worry about limiting the maximum charge current. For instance, even in the brightest sun, the output power of the solar panel may be limited to the extend that the charge current never reaches the limit of the battery. You can check this by taking the wattage of the panel, and using it to calculate the theoretically maximum charge current (Icharge = Ppanel / 3V).

If you find you do need to limit the current, you can calculate the maximum current as follows:

Ichargemax = 0.12 / Rsense

Rsense for different default charge current versions I have for sale:

The maximum charge current can be increased by adding a resistor IMAX in parallel with the sense resistor already present on the PCB. The new sense resistance can be calculated by:

Rsense = Rdefaultsense * IMAX / (Rdefaultsense + IMAX)

You can then use this new Rsense value to calculate the resulting charge current limit.


A 10K NTC thermistor needs to be connected for the system to operate correctly. The system has been designed for thermistors with a B value of 3950, but reasonable performance can be had for B values down to 3435. There is a footprint for surface mount (R2) as well as through hole (THRM) thermistors. Only one of them should be used at a time.

Many battery packs come with a 10K thermistor built-in, and connecting this thermistor to the charger is the ideal situation. If no thermistor is present in the battery pack, we sell a thermistor with 8 cm leads that can be taped to the battery pack. A surface mount thermistor on R2 may work if there is little temperature difference between the PCB and the battery. If you don't want thermal protection of any kind, a 10K resistor can be installed instead of a thermistor.

Below are calculated threshold levels for different B values of the thermistor:

Battery heater

In under temperature conditions, the solar panel's voltage is applied to an optional heater connected to the HEATER pads. This can be used to bring the battery up to temperature before charging is started, ensuring that no low temperature lithium plating occurs and thus maximizing battery life.

In its simplest form, the heater can be a power resistor thermally connected to the battery pack. Since no MPP is maintained, the user needs to take care to choose the resistor value so it will not collapse the solar panel voltage under reasonable light conditions where enough energy is present for heating, while at the same time ensuring it doesn't pull more than 1.1A under ideal light conditions.