Battery Charging

Revision as of 06:49, 28 February 2008 by (talk) (Linked to the battery LED)
Jump to: navigation, search
  This page is monitored by the OLPC team.
  english | español | 한국어 HowTo [ID# 112964]  +/-  

Battery Status

The current battery status is indicated by the Battery LED.

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 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.

Symptom 3
Unknown cause (perhaps deeply discharged battery).
B1 laptop won't run without AC power. Inserting battery doesn't crash the system, though. When AC and battery are both plugged in, the system works, the yellow charge light lights, but the battery does not charge.

This has been successfully recovered by Manual Charging with Firmware.

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

Step 1 
BTest-1 systems are not capable of trickle charging batteries. If your battery has discharged to a very low capacity then either it can be manually charged with firmware, or it must be externally charged. First see Manual Charging with Firmware. If that doesn't work, to recover these batteries please see External Charging.
Step 2 
Follow the EEPROM Init procedure.

BTest-2 Systems

Step 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.
Step 2 
Follow the EEPROM Init procedure.


These instructions are for older batteries and older firmware as noted at See some new instructions related to an updated version of batman.fth at

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 by typing 'reboot' at the 'ok' prompt.

EEPROM init procedure:

  1. Download the 'batman.fth' recovery program from 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.
  • If you see a message like
bat-check-and-recover ?

try using a different USB stick, or experiment with different USB formats.

  • If you see a message like
No response from battery

Go back and check all your previous steps to make sure you did not miss anything. Check to see that the battery is actually in the laptop. Try re-inserting the battery a couple of times. If you repeatedly get this message then you have a battery that is not recoverable. Please contact someone at OLPC to get a replacement.

Manual Charging with Firmware

This section reports an experiment that has only been done with one laptop (the B1 with Symptom 3 above). It may not work for you. It may make things worse. Caveat emptor. I was running Q2D09 firmware.

FLoad the "batman.fth" script as described above, but don't run "bat-check-and-recover".

Run "bat-charge". On my B1 machine, this made the machine crash instantly. Power cycle it (you may have to remove both AC and the battery for a bit), and try again. My battery LED went red at this point. On the second try, "bat-charge" didn't crash. Running ".bat-info" (with the leading dot) showed the charge in the ACR gradually creeping up. You can rerun it by pressing the up-arrow and then Enter. I left it charging this way for about ten minutes.

After that, I pulled the AC power. The machine kept operating (for the first time in months). ".bat-info" showed the charge going down. I did a full power cycle (power button for 4 seconds, remove AC and battery, hold power button down to discharge any remaining power; then reinsert AC and battery). The battery light came on yellow (charging). When I pressed power-on, the system came up. I stopped it in Forth with Escape, and did "watch-battery", which shows it charged to 12% and continuing to charge. I left it running that way, charging up.

It is suggested that "1w-init" be run before "bat-charge". However, I didn't do that the first time. And when I did it the second time, 1w-init crashed the machine and I had to power cycle it. So this is still an experiment. You can try it with, without, whatever; and report your results here.

As I write this, the system is able to boot from battery without AC power, watch-battery shows 36%, and I've left it powered off but charging, to get the full charge more quickly than when the laptop is running. The battery appears to be recovering.

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.

WARNING: If you are not comfortable working with electronics then please seek assistance from someone who is. Even at low capacity these batteries can deliver a significant amount of energy. Shorting the positive and negative terminals with a wire or metal will cause VERY large currents to flow which will burn up smaller wires or metal shims. These can burn you or catch fire. Furthermore, overcharging these batteries will cause them to overheat possibly catching fire. Overcharging or shorting the terminals stresses the battery and significantly reduces the lifetime.

Special tools needed:

  • Adjustable voltage power supply with a current limit
  • Small metal shims to insert into the battery connector. ( Red spade lug connectors are said to work well. )

Battery Terminal Pinout

Once removed from the XO, the battery exposes three terminals. The one wire bus is used to program the battery's internal EEPROM, which stores information such as battery state and identification.

XO Battery
one wire bus
negative terminal
positive terminal

NiMH Batteries

The XO NiMH battery has a capacity of 3800 mAH. Slow charging at rates of C/10 (capacity/10) are recommended for external charging without an advanced charging circuit. The manufacturer of the batteries has told us that rates up to C/5 (760 mA) are acceptable for external charging.

Using a 3 ~ 15W DC power supply, limit the DC output current to 760mA. Starting at 0V slowly increase the voltage on the battery until you get to some where between 6.5V and 7.3V. The power supply should be in current limit. Charging at currents less than 760mA are fine but it will take longer. Please do not increase the voltage above 7.3V even if you are under the 760mA limit.

Charge the battery pack till the CCV (closed circuit voltage) at battery terminals reaches 6.5V and above before plugging it back to XO. You can tell this by setting the supply voltage to 6.5V and looking at the current. If the current is zero or very near zero then you have reached 6.5V.

As there is no overcharge control with an external dc power supply, do not charge the battery above the 7.3V voltage limit.


  • Charging specs for LiFePO4

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.