Battery Charging

Revision as of 19:51, 31 March 2007 by Rsmith (talk | contribs) (External Charging)
Jump to: navigation, search
  This page is monitored by the OLPC team.

Battery Charging

Types of Batteries

OLPC is using two battery chemistries: NiMH, and LiFePo4 batteries. The LiFePo4 batteries allow charging at higher temperatures. The NiMH batteries cannot be charged above about 45 degrees C.

The LiFePO4 batteries have labels "Battery sample" on them, and are lighter than NiMH. The LiFePO4 batteries have more capacity because they can be charged to max capacity. In order to achieve 2000 cycles with a NiMH we have to reserve capacity to prevent overcharging. Overcharging significantly reduces the life of a NiMH battery.

Battery Charging Issues

Power & battery indicators

Field reports from the BTest-1 and BTest-2 units have have provided us with information on several different types of battery charging issues. The 2 major symptoms are:

  1. Units that will not power up when a battery is inserted even when plugged into AC.
  2. Batteries that are not recognized/charged.
Symptom 1
This is a hardware problem with BTest-1 systems where a very low battery voltage will prevent the power system from starting up correctly. You can tell this is the case if:
You cannot power up your BTest-1 system with a battery inserted even if its plugged up on AC power.
You insert the battery on a running BTest-1 system and it instantly shuts off.

BTest-2 systems do not have this problem and will start up properly.

Symptom 2
This is the result of a firmware bug that would corrupt some info stored inside the battery. You can tell this is the case if:
You insert a battery and nothing happens with the battery indicator light.

In some cases both symptoms may be present at the same time.

Recovery of Dead Batteries

The first step in battery recovery is to upgrade the firmware to B83 or later. Please see Autoreinstallation image or Upgrading the firmware for details on how to update your firmware.

Additional tools that may be needed:

  1. USB keyboard.

Once you have upgraded then the exact methods depend on what system you have.

BTest-1 Systems

Symptom 1 
BTest-1 systems are not capable of trickle charging batteries. If your battery has discharged to a very low capacity then they must be externally charged. To recover these batteries please see External Charging.
Symptom 2 
Follow the EEPROM Init procedure.

BTest-2 Systems

Symptom 1 
BTest-2 systems can trickle charge. Please insert the battery into a BTest-2 system and leave it plugged up to AC power for 6 hours. Your battery indicator light may or may not light up depending on the status of the EEPROM inside the battery. After you have charged for 6 hours then please follow EEPROM Init.
Symptom 2 
Follow the EEPROM Init procedure.


The following is a procedure for recovering batteries with corrupted EEPROM info. This procedure requires that the embedded controller (EC) in the laptop be placed into reset. As a result the keyboard and buttons will quit working. Once you follow the procedure you will have to unplug the XO from AC power and remove the battery.

If you have a USB keyboard then the power cycle is not necessary. USB keyboards are not affected by the EC and you can reboot with by typing 'reboot' at the 'ok' prompt.

EEPROM init procedure:

  1. Download the 'batman.fth' recovery program from batman.fth and save it onto a USB disk in the very top directory.
  2. Put that USB disk into the XO and power up the XO.
  3. When OpenFirmware boots watch for the following text
    Type any key to interrupt automatic startup
    When you see this string do as instructed and press a key on the keyboard. This will place you at the 'ok' prompt.
  4. Load the batman.fth program by typing
    fload disk:\batman.fth
  5. Run the recover program
    This will print out a message indicating what battery type you have and if it has detected that the EEPROM has been corrupted. The following is a sample output from a NiMH battery with a corrupted EEPROM.
ok bat-check-and-recover
Checking NiMH battery
Battery EEPROM data corrupted... Fixing.

And one without EEPROM corruption

ok bat-check-and-recover
Checking NiMH battery

  • At this stage the laptop keyboard and panel buttons are inoperable so to shut down you must remove AC power and remove the battery. If you are using a USB keyboard then you can type 'kbc-on' which will restart the system.

External Charging

B1 systems have a hardware problem that prevents them from charging batteries that have discharged to very low levels. To bring the battery capacity back up to a level that a B1 can manage, external methods are necessary.


Special tools needed:

  • Adjustable Voltage power supply with a current limit
  • Small metal shims to insert into the battery connector

Long Term Storage


If you plan to store a system for many weeks or months, your best strategy is to fully charge the battery and remove the battery from the laptop. Batteries naturally lose charge with time (how fast depends on the battery and its chemistry), and the embedded controller in the laptop, while sipping tiny amounts of power in its low power state, will drain the battery faster. Even though BTest-2 systems should now always be able to recover batteries that are fully discharged (except those noted above), it is a trickle charge process and time consuming.

As you can see above, letting a battery drain all the way will cause problems when recharging, how severe depends on the circumstances.

This strategy to remove batteries is true for all battery powered equipment, from flashlights up. Batteries sometimes leak. And some chemistries of Lithium batteries (not LiFePo) can get into a metastable state where they cannot be recharged.