iLiad iLiad Battery Hacks: Part 2 -- 35 hours of battery life! A how-to guide.
#1  jharker 10-19-2008, 04:39 PM
UPDATED Jan 31, 2009 : Upgraded software to version 0.90 (show attachment »). Please read the changed description in Step 6.


With my iLiad out of warranty, I decided to take inspiration from Calviny's experiment and replace the original batteries with higher-capacity ones. The following is a rough guide to how I did it, with pictures.


I have put other warnings in here, but I want to emphasize that doing this can potentially wreck your iLiad in many, many ways. Performing this mod will definitely void your warranty.

Most important is to be VERY careful to prevent short-circuits. I strongly recommend putting a liberal helping of electrical tape on all exposed electrical contacts and circuit boards before putting the case back together. Also, be aware that the exposed edges of the silver plastic battery wrapper can be slightly conductive, so I recommend taping them too.

Also, the batteries are thick and fit snugly in the case. If you force anything during reassembly you could easily break your screen. Make sure it fits, and don't press too hard!

If you are very careful and take plenty of precautions, this can be an easy mod that greatly enhances your iLiad experience. But please, please be careful! This guide comes with no guarantee, and I take no responsibility if you break your iLiad while following it.


To do this you will need to own and be able to use the following tools, at minimum:For the current implementation you will also need ssh access to your iLiad, or at the very least shell access plus the ability to write a few simple scripts. If there is enough interest I may provide an installer for the necessary software in the future.

Step 1: Open the case

The iLiad's case is very easy to open:
  1. Remove the stylus and any memory cards or card blanks.
  2. There are 12 screws on the back. Use the #6 Torx to unscrew and remove them all. Put them aside, somewhere safe.
  3. The case will open easily along the top and one side. To open the bottom and other side, carefully slide a credit card down the edge to release the hooks.
  4. The battery and speaker wires connect the front of the case to the back of the case. They can be unplugged carefully to allow the two halves of the case to be separated.
  5. Set aside the front half of the case.
  6. Remove the speaker and the battery assembly from the back half of the case. They are affixed in with double-stick tape and may be a little difficult to pull out. Be careful not to stress or damage the battery circuit board.
image »
Figure 1: The back of the iLiad. All 12 screws are indicated with arrows.

image »
Figure 2: The front half of the iLiad shell, containing the motherboard and the screen.

Step 2: New Batteries

The v1 iLiad's original batteries are two polymer lithium-ion batteries with a rated capacity of about 1100 mAh. (Contrary to what I said in my poem, the capacity is not printed on the outside as far as I can recall.) Calviny upgraded his iLiad with 1800 mAh cells, but I wanted to push the limit, so after some searching and measuring I picked out these:They're $15.95 each, or about $32 for two.

Each battery is 84mm x 50mm x 6mm thick, the same size as Calviny's except 1.8mm thicker. It turns out that this is not a problem, because the iLiad case has about 1.8mm of extra space inside. These batteries fit pretty well: it's snug, but for me at least there wasn't any major trouble getting them to fit.

Karel warned that fitting batteries too tightly might cause overheating or other problems, because lithium-ion batteries need to expand when charged. I haven't had any problems along those lines at all. There seems to be enough room at the battery edges to allow expansion. These particular batteries are also UL-listed, which means they should be resistant to explosion or catastrophic failure in the event that they are punctured or short-circuited.

Before you install the batteries:
The batteries I received from were almost identical in charge, so this was no problem for me.

Step 3: Case Modification

The back half of the iLiad shell has plastic fins and posts that hold the original batteries in position and add structural integrity to the frame. You will need to remove them to make space for the new batteries, which will fit so snugly that they'll provide their own structural reinforcement.

Each plastic fin can be removed pretty easily by scoring along the base of each side with a sharp knife, and then bending it over until it snaps off. The posts are harder to remove, but with care and patience you can cut them away. Notice that I only removed the edges of the screw posts at the lower left and right; you want to just make enough space for the battery and leave the screw hole alone.

image »
Figure 3a: Inside the iLiad's back case panel. Plastic bits that need to be removed are highlighted in red.

image »
Figure 3b: My modded case with all plastic bits removed and shaved flush to the surface.

Step 4: Switch Batteries

Here is where you put your soldering skills to the test.
  1. Remove the old batteries from the battery control circuit board.
    • I tried solder wick at first, but it was easier to just heat each tab with the soldering iron, then push or pull it off.
  2. Solder on the new batteries.
    • There is not a lot of room, so put the batteries and circuit board in the case first. Get their relative positions correct before you solder.
    • Be careful not to accidentally short-circuit the battery terminals while soldering.
    • Be careful not to overheat the battery with the soldering iron. It might help to clip a heat sink to the base of the tab.
    • The new batteries are wider than the old ones, so the outer terminal tabs have to be folded at 90 degrees to reach the circuit board contacts.
  3. Apply electrical tape wherever necessary to guard against accidental short-circuits.
  4. Fold the circuit board back down into position. Make sure it's far enough down that the plug can still plug in to the motherboard jack when you re-assemble the case.
  5. Apply a strip of electrical tape along the top of the circuit board, covering the electrical contact points and exposed battery tabs. (Not shown in figures.) This will help prevent accidental short-circuits when the case is reassembled.
image »
Figure 4: New batteries soldered to the circuit board in the case. The circuit board is bent up to show the soldering points.

image »
Figure 5: Circuit board bent down into normal position, more electrical tape applied underneath. I also put another layer of electrical tape (not shown) across the top edge of the board and batteries.

Step 5: Re-assemble the case

Now you can put the case back together. I actually threw away the speaker at this point: it doesn't fit beside the new battery, and I never use it anyway. If you want to keep it I suppose you can shave down the other plastic bits and just move the speaker up a bit.

You will have to re-plug the battery board into the main circuit board before putting the case halves together. If the battery board is not down far enough the plug will pop out when you put the case together, so be sure to fold it down and push down the batteries as well.

Be careful and don't force anything. You don't want to break the screen. If it doesn't want to go, try to find what's in the way. Everything fits for me, so it should fit for you, but the first time it took me some fiddling to make everything sit just right.

Once everything snaps into place, try turning it on to be sure the battery connection is good. If it turns on, go ahead and screw the case back together!

Step 6: Replacement Software

show attachment »

For various reasons the iLiad does not always seem to recognize or adjust for a larger battery size, although it is (in principle) able to. The battery icon still goes to zero in 10-12 hours, and the powerMgr program will then automatically shut off the iLiad.

To solve this problem I modified the original battery.o kernel module and powerMgr program to use battery voltage to monitor the battery status. There are some small differences, but this approach keeps most of the original iLiad functionality.

This software should also support virtually any battery size. You can use it on the original iLiad as well, although you may not see any benefit from it.

Warning 1 : It is HIGHLY RECOMMENDED that you backup the original and powerMgr before installing this software. It is also recommended that you backup personal files and be prepared to reflash your iLiad if necessary. I take no responsibility if you brick your iLiad with this modification. I have tested it and it works for me, but it may not work for you.

Warning 2 : This software will ONLY work with lithium-ion / lithium-polymer batteries. Do NOT attempt to replace your iLiad's batteries with any other kind.

The above link contains the source code and binaries for the modified battery.o and powerMgr, as well as a modified startup script. More detailed information about the programs can be found in the README file. The binaries were compiled and tested for v2.11 iLiad software, but they should work for 2.12 as far as I know...?

You will have to manually install the files as follows:
  1. Manually create the directory "/lib/modules/2.4.19-rmk7-pxa2-irex1/kernel/drivers/irex".
  2. Copy battery.o to /lib/modules/2.4.19-rmk7-pxa2-irex1/kernel/drivers/irex/battery.o
  3. Copy powerMgr to /usr/bin/powerMgr
  4. Copy to /home/root/
  5. Reboot, and you're done!
With this newest software you do NOT have to fully charge the iLiad after installation, and you do NOT have to keep the iLiad on while charging. (These were limitations of previous versions. This newest version should "just work".) For full information on how this software is different, consult the README file.

This is the setup I use on my iLiad, and it works fine. If you have any problems, let me know.

Summary and Conclusion
  1. Install two of these 2800 mAh batteries.
  2. Upgrade the power management software (show attachment »).
  3. FULLY charge the iLiad while it is turned on.
Results :The larger batteries add to the iLiad's weight, making it a little harder to hold it up in one hand for long periods. On the positive side, it also makes the iLiad feel more solid and stable in the hand.

The only drawback to this mod is the improvised software I had to add. My software is not as user-friendly and not as reliable as the iLiad's built-in battery hardware. However, if and when iRex releases the source codes for powerMgr and the battery kernel module, it should be easy to alter them so that the iLiad will work with and auto-detect almost any battery size.

In my opinion, this is a very powerful mod that greatly extends the iLiad's capabilities, and I'm definitely glad I did it!

Questions, comments, suggestions are welcome!

#2  harpum 10-19-2008, 07:42 PM
I will try after you finish the software work.
I just want to know how long it takes to charge the new batteries.

#3  ericshliao 10-20-2008, 08:02 AM
I've always wanted to implement calvany's battery mod. But I lack the guts to open the back cover of iLiad. You really did something awesome.
Thanx for your detailed instructions, I might be more willing to implement it on my iLiad now.

#4  jharker 10-20-2008, 02:33 PM
Thanks, all! Software is posted. Let me know what you think!

Quote harpum
I just want to know how long it takes to charge the new batteries.
The new batteries take about 7-8 hours to charge, with the iLiad turned on. Bear in mind that the charging rate is always constant (except that it slows down when the battery is almost full), and has the same ratio to runtime.

The iLiad charges its batteries at about 500mA, and discharges at around 80-90 mA. So:

#5  nekokami 10-20-2008, 02:43 PM
How long do you expect the charge to take if the iLiad is not turned on? And is there any added risk to leaving it charging overnight (possibly overcharging) with this mod?

#6  jharker 10-20-2008, 03:02 PM
Quote nekokami
How long do you expect the charge to take if the iLiad is not turned on? And is there any added risk to leaving it charging overnight (possibly overcharging) with this mod?
Hi! Well, I haven't done a charging test with the iLiad off yet, but I'll give it a shot. Unfortunately, I just charged up my iLiad, so it'll be a day or so before it's drained enough for me to do the test.

I have no idea whether the battery can or does charge faster with the iLiad off... I can't measure current draw with the iLiad off, so there's no way to know.

As for overcharging, I'm as sure as I can be that it's not a problem. The charging process is hardware-controlled and seems to be voltage-limited. I have measured the battery voltage several times during charging/discharging, and it always charges to between 4.10-4.15V. (Max for Li-ion is 4.20.) It also slows down when the battery is almost full, and stops when the battery is totally full.

Charge estimation is also hardware-controlled, but it is NOT voltage-based. This is why the iLiad's software can't deal with larger batteries. There's a way around it, but it's more clumsy and involves changing the battery kernel module.

#7  Adam B. 10-21-2008, 11:30 AM
Excellent post. Added to the wiki and OpenIliad.

#8  jharker 10-21-2008, 11:41 AM
Wow, Adam, that's excellent! Thanks for doing the work to move it over!

#9  jharker 10-21-2008, 09:54 PM
I just did the experiment: it takes about 6 hours to charge while the iLiad is off. I didn't get an exact value, but from plugging it in to fully charged was no more than 6h18m.

Remember that with the current software you have to reset the battery count by turning on the iLiad while it's still plugged in for at least a minute.

I added this info to guide above, and to the wiki page as well.

#10  ProDigit 10-22-2008, 12:54 AM
I wished I could program things like that.. hehe

Are you planning on perhaps applying an update like this on another (preferably little cheaper) reader?
(eg: Sony reader/hanlin/..?)

Thanks for sharing!

  Next »  Last »  (1/11)
Today's Posts | Search this Thread | Login | Register