Li-On Battery Charging (and Discharging)

In my PIP-Watch project I will use a Li-On battery to provide power. Li-On batteries are easy to use in hobby projects: they are light, small, with high capacity, and they come in variety of sizes. Most (not all) Li-On batteries have nominal voltage 3.7V, hence you can directly power your standard 3.3V digital logic directly, using only a simple low-drop linear regulator (e.g. LD59015).

For my first experiments I chose Nokia BL-4C Li-On battery. It’s nominal voltage is 3.7V, charging (maximal) voltage is 4.2V, the capacity is 860mAh.

Charging Li-On batteries is technically more complicated, but if you use one of many chips designed for Li-On charging it is a piece of cake. Basically, Li-On cell is charged in two phases: constant-current (CC) phase, and constant-voltage (CV) phase. In the constant-current phase the cell is charged with 10% of its nominal capacity current, e.g. a 860mAh cell should be charged by 86mA constant current, while the battery voltage is monitored. Once the battery reaches 4.2V (the maximal cell voltage which must not be exceeded) the charger switches to the constant-voltage (CV) phase. In the CV phase the charger keeps voltage constant and monitors the current. Once the current falls bellow 10% of the charging current, i.e. 8.6mA in BL-4C, the cell is deemed charged.

To charge the BL-4C battery I chose MCP73831-2 chip from Microchip. This IC has only 5 pins. One is used for LED indicating on-going charging (STAT). The PROG pin is used to set the charging current which must be proportional to the battery capacity. The picture below shows the basic schematic taken from the datasheet:

MCP73831 Basic Circuit

A resistor between the PROG and Vss pins sets the charging current. The formula is very simple:

MCP73831 Current Regulation FormulaIn my case I used 10kOhm resistor, giving the charging current 100mA. This is close enough to the “proper” charging current 86mA corresponding to the specified capacity 860mAh of the BL-4C Nokia battery.

I have not measured the full charging time because it takes hours, and so far I just left it charge over the night. At 100mA current an empty BL-4C would charge about 9 hours!

But what about discharging?

Luckily just few days ago we got a new instrument at work: BK PRECISION Model 8500, a 300W programmable electronic load. Its PC control software has a battery discharge function that allows to draw a constant current from a battery until its voltage reaches some predefined low value.

For the experiment I chose the discharge current 0.3A and the cut-off voltage 3.2V. Assuming I will later use a low-drop 3.3V regulator, once battery reaches 3.2V the regulator output will be around 3.0V, which is probably just about the point when standard 3.3V digital logic is about to stop working. Hence at 3.2V the battery will be deemed empty. So how much energy this BL-4C actually stores?

The picture below shows the result (click to see larger image). Horizontal axis is the capacity in Ah drawn from the battery, vertical axis is voltage:

BL-4C Discharge Characteristic

BL-4C Discharge Characteristic

The battery started at full charge at 4.06V. It discharged with 0.3A for 2:54 hours, reaching the cut-off voltage 3.2V after releasing 0.8832Ah of energy. Given this is 0.86Ah cell by spec the actual performance exceeds the expectation.

This is an implementation on a breadboard:

MCP73831 and BL-4C on Breadboard

MCP73831 and BL-4C on Breadboard

An excellent tutorial on Li-On batteries by Dave Jones:




  1. Why do you assume “proper” charging current is 86mA ? 0.1C ?
    If a phone using BL-4C can charge it in approx 2-3 hours (standard nokia charger max current ~400mA) it could be somewhere 0.4-0.5C.


  2. BL-4c came with a AC-11E (450 ma) charger. Can the battery charge with a AC-3E (350ma)?

  3. Dear sir
    In case you need another value of current or another rate of dischargeing what will you do?
    Best Regards

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.