Battery Questions and Answers

From Openmoko

Jump to: navigation, search

NB: Some of the described behaviour depends on the kernel, the relevant code was pushed on 2009-08-02 to andy-tracking. Some older kernel versions may have quite nasty hacks ('reenabling MBC though battery reports full') that seriously wreck your battery within months.


Battery care and safety guidelines

How can I break my battery?

To successfully kill your LiIon battery without applying brute force, you simply may disobey any of the following advices:


Never expose or let warm up battery to high temperatures. 70°C might be a limit for safe operation, and >100°C most likely is a killer for the cell. This is especially true during charge/discharge.


Never let the battery drop on a hard surface or by any other means expose to hard impact.

Wrong storage

LiIon cells don't like to be kept at any extreme for a prolonged time. So *never* store away your device with battery inserted, for a period longer than a few days. Charge battery to a reasonable level prior to extended periods of no usage. Do not store battery in charger, as this may cause a permanent charging level of 100% which is as deteriorating to the LiIon cell chemistry as is storage at 0%. Keeping battery in Neo which is powered by external source is safe though, even for months, as the Neo's PMU charger circuit takes care to treat the battery nicely.

Also see Storage

Hardware capabilities

What batteries can be used with gta01 and gta02?

Original OM gta01, gta02, Nokia BL-5C, BL-6C and compatibles.

Do other BL-5/6C compatible batteries fit?

If the battery is thicker than BL-6C, you won't be able to close the back cover. Nokia's BL-4C is a bit thinner than the BL-5C so it also fits, but has noticeably shorter battery life.

What is the difference between all those types?


gta01, gta02 1200 mAh
BL-4C old (new) 720 (860) mAh
BL-5C old (newer/new) 850 (970/1020) mAh
BL-6C 1150 mAh

Temperature control

gta01, BL-5C, BL-6C thermistor
gta02 bq27000

Special features

gta02 - accurate and sophisticated reporting of capacity, time_to_full, time_to_empty, temperature and battery current during both charge and discharge thanks to bq27000 (aka Coulomb Counter). More details at Neo FreeRunner Battery.

What are hardware capabilities of gta01 and gta02 with regard to battery management?

gta01: charging all battery types, measuring temperature with battery-integrated thermistor (currently charging and measuring temperature for non-gta01 batteries doesn't work due to the kernel driver issues but it's software limitation), measuring battery output voltage, very inaccurate and noisy measuring of battery current

gta02: charging all battery types, measuring battery output voltage, communicating with bq27000

Can nokia phones use/charge gta01/gta02 batteries?

gta01 and gta02 batteries will fit wherever BL-6C fits but they can't be charged in nokia phones unless you isolate the phone's battery connector middle pin from the battery contact pad and connect a resistor of ~70k to 85k Ohm (actual measured value on a cold (25C) battery is 75k, on a slightly warm battery - 82k) from phone middle pin to the ground (to fake a thermistor presence).

Can third-party chargers charge gta01/gta02 batteries?

The "good" ones will most probably require the same trick needed for nokia phones. More cheaper ones are more likely to ignore thermistor absence.

Particularly those with only two pins will charge GTA02 battery without specific problems

I have several compatible batteries. What are the storage requirements for them?

Keep in a dry cool place charged to no more than 75% and NEVER under 25%. Check every 3 months and recharge when due, cells will self-discharge over time and once they reach 0% level they are dead within weeks!

That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers?

DocScrutinizer to the rescue! Here's his magic script to do that: [1]. Also see [2] and [3]

Safety considerations in detail

Do OM devices control temperature to stop charging if the battery gets too hot?

GTA02 Neo FreeRunner:No; GTA01 Neo 1973:Yes (if PMU PCF50606 Main battery charger is configured correctly)

Isn't it dangerous?

No, since all batteries (not raw cells!) have an integrated protection circuits.

Can i use that fancy 2800 mAh BL-5C-compatible battery i saw on ebay?

Unless you want an explosion in your pocket i wouldn't recommend using any battery that is not produced by a reputable vendor and widely tested. And even reputable vendors make mistakes, nokia once had to recall 46 million batteries manufactured by Matsushita ([4]).

You say that BL-5C is compatible with my gta02. Does that mean i can use that BL-5C-compatible bat i bought for a buck from a bum?

You bet, go ahead.


My battery charges to 100% but then charging stops and the battery keeps discharging, wtf?

LiIon batteries don't like to be kept fully charged, so the charger stops as soon as charging current becomes less than threshold. If you have GSM on it will discharge the battery.

But why doesn't it ever stop charging on my device?

The GSM modem is connected directly to the battery terminals so if it's active, charger will think it's still charging the battery and won't turn off unless GSM becomes inactive. The default threshold setting of PMU charger is about 16mA, the latest Qi increases the threshold to ~32mA.

Depending on various factors (GPRS activated, number of cells to observe, band...) the modem may consume an average standby current of 4mA up to >30mA while registered to a network. For normal (AT%SLEEP=2) situation the standby current is ~15mA. So *usually* the charge end detection should work.

Anyway even if the above mentioned charge end threshold never is reached, the PMU stops charging of bat after expire of some emergency cutoff timer (some hours)

Does it mean if i leave my phone plugged it will eventually fully discharge the battery?

On gta02 the charger will restart the charge automatically once the battery voltage reaches ~4V which corresponds to ~76% (If PMU MBC is configured by kernel to enable auto-resume). Not sure about gta01, requires more investigation. :-/

Ok, how to make sure my battery is fully charged before a long trip?

Replug the charger at least 90 minutes before you need full battery, it will trigger charging no matter what the current capacity is.

My power/aux LED indicates charging/discharging/whatever, what does that mean (aka why it's still blue even after i unplugged the charger)?

Ask FSO guys about it, some of them think that the user shouldn't really know what's happening and therefore they do some special mangling of "status" sysfs node before presenting it to the user. If you want to make a decent bugreport please add clear steps to reproduce and

cat /sys/class/power_supply/battery/uevent
cat /sys/class/i2c-adapter/i2c-0/0-0073/gta01_battery/uevent

contents for all relevant states.

Using compatible batteries with gta02

So, how do i use "dumb" batteries with my freerunner?

First you need to unbind bq27000 driver:

echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/unbind

Then you load the dumb battery driver:

modprobe gta01_battery

Since kernel 2.6.34 the module is called platform-battery

If you need to use bq27000 driver again, do:

rmmod gta01_battery
echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/bind

If you use Enlightment you might need to restart it after that.

Is capacity reported for dumb batteries accurate?

During discharge it should be pretty (+-10%) accurate, during charge the capacity reported is ~20% more than real.

Why does /sys/class/power_supply/battery/charge_full says i have a 850 mAh battery no matter what i use?

It's a workaround to make popular battery gadgets work with this driver.

This Q&A were prepared by

Paul Fertser

Joerg Reisenweber

Personal tools