Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

randomshinichi

macrumors newbie
Original poster
Dec 8, 2020
21
21
Last weekend, I finally got around to soldering 8xPanasonic NCR18650As together replacing the leaking Panasonic CGR18650HG in the original battery pack. It was not as easy as 8-bit Guy on Youtube made it seem. I had to break many plastic tabs and really squeeze the battery together. But once I plugged it in, the LED was orange!

Well, only for 12 minutes. During these 12 minutes, OS9 will show that there is a battery and it's charging but won't show any percentage. After exactly 12 minutes, the LED will turn green and OS9 says there is no battery. Thinking it was because the cells were very depleted and had low voltage, I reinserted the battery every time the LED turned green. After several hours I went from 3.45V to 3.74V but the problem still persisted.

What could have gone wrong? Also, where can I find more used iBook G3 clamshell batteries to practice with? I live in Germany BTW.
 
I heard the battery not charging could be due to a bad PRAM capacitor, so I spent the whole night tearing it down and replacing the cap. Indeed it had leaked and I had the exact same problem as

The negative leg just wouldn't come out. I spent about 1.5 hours just wiggling it out but eventually did. And after replacing it, the problem is STILL THERE.

In hindsight, the PRAM capacitor is part of the DC input stage, and my problem seems to be at the battery stage. At least it should keep the time for a few seconds when I unplug the battery though.

I researched the chips. In the battery, the charging IC seems to be a Mitsumi 1414, which seems to be rather simple, so I have hopes of getting this working again. Other ICs on the little PCB in the iBook where the battery plugs into (with the mouse button) are MAX785, TL494C. They don't seem relevant for now, I shall focus on the M1414.

I plugged the battery and DC in, booted up to OS9, disconnected the DC, and a few seconds later OS9 says I have low percentage so it goes into sleep mode (not true, I had 14.6V without load, and for the few seconds that OS9 ran off the battery, the voltage was 14.1V). It's been sleeping for 2 hours now, hopefully the battery IC will realize that current is flowing out of the pack and updates itself. Also it's a safe but slow way to discharge the cells. But it doesn't seem like the 1414 has any "memory".

Anybody know the pinout of the battery? I just know the outermost pins carry the 14V.
 

Attachments

  • IMG_20201215_045757_1.jpg
    IMG_20201215_045757_1.jpg
    280.2 KB · Views: 201
Last edited:
  • Like
Reactions: dextructor
Question: the iBook's battery says 14.4V. However, divided by 4 cells, that gives 3.6V. According to the MM1414 datasheet, overdischarge is defined at 3.5V, and overcharge starts at 4.2V. So maybe I actually do have 0% battery after all and I'm supposed to take this all the way up to 16.8V? Or am I reading the datasheet wrong?

When the DC jack is orange: voltage is 15.2V.
When DC jack is unplugged, just before OS9 sleeps: 14.1V
Sleeping: ~14.530V
 

Attachments

  • MM1414.pdf
    243 KB · Views: 172
  • Panasonic NCR18650A.pdf
    491.8 KB · Views: 157
Last edited:
Last weekend, I finally got around to soldering 8xPanasonic NCR18650As together replacing the leaking Panasonic CGR18650HG in the original battery pack. It was not as easy as 8-bit Guy on Youtube made it seem. I had to break many plastic tabs and really squeeze the battery together. But once I plugged it in, the LED was orange!

Well, only for 12 minutes. During these 12 minutes, OS9 will show that there is a battery and it's charging but won't show any percentage. After exactly 12 minutes, the LED will turn green and OS9 says there is no battery. Thinking it was because the cells were very depleted and had low voltage, I reinserted the battery every time the LED turned green. After several hours I went from 3.45V to 3.74V but the problem still persisted.

What could have gone wrong? Also, where can I find more used iBook G3 clamshell batteries to practice with? I live in Germany BTW.

I'm seeing almost the exact same issue with my clamshell g3, did you ever figure it out?
 
I just wanted to update the thread at what I noticed. When I installed the batteries in the pack, I had already done a discharge/charge test on the cells. It seems that putting fully charged batteries in the pack and then letting the BMS try to figure out the charge was a really bad idea. After setting the project aside for a while, the batteries discharged a decent amount on their own and when I charged the batteries through the laptop, it seemed to start working better. So, my current hypothesis is that you need to put almost completely dead batteries in the pack when you are building it so the laptop can charge it and the BMS can figure out its compacity.

EDIT: Nope! The batteries charged all the way and still show the capacity of 160mAh. I'm now trying to discharge the battery out of circuit using an electronic load. For anyone else trying to follow along, the ground pin on the battery is right next to the "-" symbol. The positive pin is the one on the other side and the "switch" pin is next to the positive pin, which requires a resistor (like 10-100 ohm) tied to ground.

EDIT2: Wow, this has been a process. So, discharging and charging the battery didn't work either. What finally got it was taking the S-24C01A EEPROM off of the battery controller board (after disconnecting the batteries from it) and put it in my EEPROM programmer (TL866II Plus) and manually changed hex address 60 to 10 and hex address 61 to 0E (which means 3600mAh). I attached the document that is similar enough to the BMS that was on the board to know what to modify in the EEPROM. When I reattached the batteries, it came up with the 3600mAh capacity again!

In terminal, type in "ioreg -l -w0 | grep Capacity" to see the battery info.
 

Attachments

  • TXIIS21947-1.pdf
    298.1 KB · Views: 101
Last edited:
tl;dr: there's no need for an EEPROM programmer, you just have to fully charge the battery, then run the computer in the Mac OS X installer until the machine shuts off. Plug it in, boot the machine, and after 20 seconds or so, the battery will happily report the new capacity.



Howdy, I thought I'd chime in here as I recently rebuilt an Apple-branded iBook clamshell battery. The original battery had 300 cycles on it, and the cells read 0.1 - 0.3v each. It wasn't swollen or leaking, luckily, and I was able to crack it open very carefully with a flathead (avoiding the side of the battery that has the black connector, as I learned from a previous disassembly that it contains a ribbon cable running the length of the battery that's very easily damaged!).

I used LG MJ1 3500mAh batteries with tabs from eBay, and I had to remove the clear plastic that was wrapped around them to get them to fit nicely. It was a chore to bend and cut the metal tabs just right to fit the ribbon, but after some finagling, some soldering (and a spark or two), I got it lined up and assembled. I was able to snap the case back together and everything fit perfectly, albeit snug, with the adhesive holding the battery pack together by the cells.

IMG_3711.jpegIMG_3712.jpeg

The batteries were nearly fully charged when I got them, and when I put the assembled battery pack in the iBook, it charged from "0%" to 100% in 15 minutes. Running the following command gave some bad news:

Code:
system_profiler SPPowerDataType

The output showed Full Charge Capacity as 186mAh! No matter what I did, I could only get 10 minutes of runtime out of the battery. I tried PMU resets, PRAM resets, I tried installing the Battery Reset 2.0 extension in an original clamshell and rebooting, I tried putting it into a clamshell with a dead PRAM supercapacitor and performing a PMU reset, then I tried a PMU reset in one with a known-good PRAM supercapacitor. I tried draining it until the computer slept, then charging. I tried draining it for multiple hours down to 15V, then charging. Nothing seemed to help.

Then I found this thread and the linked datasheet, and in the Gas Gauge Operation section, I read the following:

1. FullChargeCapacity or learned-battery capacity
FCC is the last measured discharge capacity of the battery. On initialization (application of VCC or reset), FCC is set to the value stored in the EEPROM. During subsequent discharges, FCC is updated with the latest measured capacity in the Discharge Count Register, representing a discharge from full to below EDV1. A qualified discharge is necessary for a capacity transfer from the DCR to the FCC register. Once updated, the bq2945 writes the new FCC to the EEPROM. The FCC also serves as the 100% reference threshold used by the relative state-of-charge calculation and display.
This means that, if I can discharge the battery from a fully charged pack voltage of around 17V down to whatever EDV1 is, then start a new charge cycle, the battery would update the FCC register with the count.

But how do you do this, and what is the value of EDV1?

Since the machine would sleep after 10 minutes if I booted it into Mac OS, my answer was to use the Tiger installer to drain the battery, which, despite the initial warnings that the battery is low and the system will sleep soon, does not go to sleep -- the menubar icon just goes from showing an empty battery to showing a full battery, and it simply stays powered on. You could probably leave the machine at the boot picker too, but I wanted to monitor progress.

So, I used `dd` to copy the Tiger install ISO to a USB thumb drive, then powered on the machine and booted into Open Firmware by holding Command + Option + OF. I issued the following command to boot the Tiger installer from the USB drive:

Code:
probe-usb boot usb0/disk:3,\\:tbxi

Once in the installer, I first went to Disk Utility and umounted my internal drive (since I didn't want to deal with corruption issues when the machine inevitably powers off from a dead battery), then I opened Terminal and issued the following command to monitor the battery:

Wiki:
while [ True ]
do
  system_profiler SPPowerDataType
  sleep 10
done

I then let it go for over 6.5 hours, monitoring the reported voltage. Shortly after I saw the pack voltage hit something like 12013mV, the computer shut off.

Then, I unplugged the USB and booted into Mac OS X from the HD, opened up Terminal and issued the same `system_profiler` command -- but it still read 186mAh for Full Charge Capacity and said only 12 minutes to charge to 100%!

I was discouraged, but seconds later I realized the menu bar now said 3:47 to a full charge, and when I ran the command again, I was happy to see 5258mAh reported as FCC (and the same info in coconutBattery)!

IMG_3726.jpeg

This means EDV1 is programmed as 12.0V, and all you have to do is drain the battery down from a full charge to below 12.0V to trigger the routine to update the FCC register and get your re-celled battery pack performing like new.
 
Last edited:
@lazd

Awesome! I had seen that same section about the recalibration of the battery which is why I tried draining and charging with the electronic load and power supply and I was surprised when that didn't work. The OSX installer not putting the computer to sleep was the key missing piece. I had tried using a linux bootable CD and had the same 10ish minutes from full to sleep as my main OSX install so I wrote off the idea entirely. Thanks for the detailed write-up!
 
  • Like
Reactions: lazd
I tried this with a 1.67Ghz G4 15" PowerBook battery i re-celled 6 years ago because it nagged me that it was showing always 65497mAH as Full charge capacity. I booted to a Tiger install disk and left it there. I left it running and when the machine shut down the battery wouldn't take any charge anymore. As the battery was held only together by adhesive strips i measured the 3 packs of li-ion batteries and one pack was at nearly 0V. I took this pack out and separated the batteries but they were gone and wouldn't revive again trying to charge them individually with a Lab bench power supply.
I put two other spare ones into the battery and it works again but i still wanted to try to get the Capacity indicator right and booted again to the Tiger installer and left it there. It shut off rather quick so i think there is quite a capacity mismatch between the 3 packs (i did charge the packs manually though before this procedure).
But it still didn't reset the capacity indicator after i booted again into the OS.
Now i'm charging again but from the booted OS and will try it again.
We'll see but i think the controller of this battery pack is different in behaviour and this method does not work for the later PowerBook batteries.
 
I just wanted to update the thread at what I noticed. When I installed the batteries in the pack, I had already done a discharge/charge test on the cells. It seems that putting fully charged batteries in the pack and then letting the BMS try to figure out the charge was a really bad idea. After setting the project aside for a while, the batteries discharged a decent amount on their own and when I charged the batteries through the laptop, it seemed to start working better. So, my current hypothesis is that you need to put almost completely dead batteries in the pack when you are building it so the laptop can charge it and the BMS can figure out its compacity.

EDIT: Nope! The batteries charged all the way and still show the capacity of 160mAh. I'm now trying to discharge the battery out of circuit using an electronic load. For anyone else trying to follow along, the ground pin on the battery is right next to the "-" symbol. The positive pin is the one on the other side and the "switch" pin is next to the positive pin, which requires a resistor (like 10-100 ohm) tied to ground.

EDIT2: Wow, this has been a process. So, discharging and charging the battery didn't work either. What finally got it was taking the S-24C01A EEPROM off of the battery controller board (after disconnecting the batteries from it) and put it in my EEPROM programmer (TL866II Plus) and manually changed hex address 60 to 10 and hex address 61 to 0E (which means 3600mAh). I attached the document that is similar enough to the BMS that was on the board to know what to modify in the EEPROM. When I reattached the batteries, it came up with the 3600mAh capacity again!

In terminal, type in "ioreg -l -w0 | grep Capacity" to see the battery info.
I have the same issue with my iBook. It will say that it charges the battery for 12 minutes, but it is doing nothing. If I unplugged it, it would run for about ten seconds before shutting down. I even tried to let it run with the OSX CD; it would do the same thing. I already replaced the supercapacitor.

Now, I am at the point where I have got the BMS out and onto the programmer. I am a newbie when it comes to programming chips. I am not able to find the bq2040 chip anywhere in Xgpro. Is there another program I should use to program the BMS? I have searched for over an hour and have come up with nothing other than the documentation for the bq2020.

Any help would be greatly appeciated.

IMG_0213.jpegIMG_0215.jpeg
 
After further research on this, the chip I needed to program was the S-24C01A EEPROM. It says in the documentation for the bq2040 that "An external EEPROM is used to program initial values into the bq2040 and is necessary for proper operation." In this case, the external external EEPROM is the S-24C01A.

I plugged it in and got the hex values that I have attached. The bq2040 documentation shows what each register does. For example, at 0x60 and 0x61 the chip has the values of 08 and 0C (this is the Full charge capacity). This has to be converted to decimal. This part took me a while to figure out. So 08 in decimal is 8 and 0C is 12. Since 0C is a high byte, it gets multiplied by 256. So, the full charge capacity would be 8 + (256x12), which is 3080. So, this battery has a full charge capacity set at 3080mA, which would have changed as the battery aged.

Another random piece of knowledge I gained from this as well. For the manufacture date, it is located at 0x16 and 0x17. This gives a decimal value of 10029. This gives a date of September 13, 1999. I converted this using the following info from the documentation; "The date is packed in the following fashion: (year–1980)×512+month×32+day."

Unfortunately, even after changing the values on the chip, it made no difference. The red light on the iBook still stays on for about 12 minutes, and after that, it will turn green, which puts an x through the battery icon. It does nothing to charge the battery. I even charged up the 18650 cells with an external charger with no luck. I even tried a discharge as well with an external charger. Even when the 18650 cells are full, when I unplug the iBook, it shuts off immediately (even with the OSX installation CD).

I am at the point of defeat here; something else must be wrong with the controller board. I will look for another old iBook battery (which is very hard to find) and try to rebuild that one. At the very least, I learned some interesting information regarding EPROMs.

Screenshot 2023-11-30 at 9.43.11 PM.pngIMG_0218.jpegPicture 2.png
 

Attachments

  • BQ2040.PDF
    372.1 KB · Views: 76
Last edited:
  • Like
Reactions: skinniezinho
I am at the point of defeat here; something else must be wrong with the controller board. I will look for another old iBook battery (which is very hard to find) and try to rebuild that one. At the very least, I learned some interesting information regarding EPROMs.
It sounds like you did your research and tried all the right things, and I agree with your assessment that something else is wrong with the controller board.

I just finished my 2nd and 3rd battery rebuilds, this time with EVE cells spot welded together for a much cleaner and faster build.

IMG_5187.jpegIMG_5197.jpeg

The EVE cells are exactly the same length as the Sony cells, so they fit really nicely and the pack fit together nicely.

IMG_5200.jpegIMG_5201.jpeg

I can confirm that I was able to follow the same technique as the first time -- let the machine charge the battery 16.8V+ (monitor voltage using System Profiler, 100% doesn't mean a full charge, you need to watch the voltage plateau, I've seen 16800mV and even 17000mV), then boot the installer from a USB drive and let it drain to 12.0V, then reboot into the installed OS X and observe new capacity. Both of the new batteries correctly updated their FCC values after the charge/discharge cycle, reading 5026mAh for one and 5096mAh for the other.

IMG_5208.jpegIMG_5225.jpeg

I'm starting to get quite the graveyard of old Sony cells! Interestingly, one of them had a component inline, not sure what it is or what its purpose is, but I didn't use it on my rebuild of that pack.

IMG_5206.jpeg
 
  • Like
Reactions: macos9rules
After further research on this, the chip I needed to program was the S-24C01A EEPROM. It says in the documentation for the bq2040 that "An external EEPROM is used to program initial values into the bq2040 and is necessary for proper operation." In this case, the external external EEPROM is the S-24C01A.

I plugged it in and got the hex values that I have attached. The bq2040 documentation shows what each register does. For example, at 0x60 and 0x61 the chip has the values of 08 and 0C (this is the Full charge capacity). This has to be converted to decimal. This part took me a while to figure out. So 08 in decimal is 8 and 0C is 12. Since 0C is a high byte, it gets multiplied by 256. So, the full charge capacity would be 8 + (256x12), which is 3080. So, this battery has a full charge capacity set at 3080mA, which would have changed as the battery aged.

Another random piece of knowledge I gained from this as well. For the manufacture date, it is located at 0x16 and 0x17. This gives a decimal value of 10029. This gives a date of September 13, 1999. I converted this using the following info from the documentation; "The date is packed in the following fashion: (year–1980)×512+month×32+day."

Unfortunately, even after changing the values on the chip, it made no difference. The red light on the iBook still stays on for about 12 minutes, and after that, it will turn green, which puts an x through the battery icon. It does nothing to charge the battery. I even charged up the 18650 cells with an external charger with no luck. I even tried a discharge as well with an external charger. Even when the 18650 cells are full, when I unplug the iBook, it shuts off immediately (even with the OSX installation CD).

I am at the point of defeat here; something else must be wrong with the controller board. I will look for another old iBook battery (which is very hard to find) and try to rebuild that one. At the very least, I learned some interesting information regarding EPROMs.

View attachment 2319463View attachment 2319464View attachment 2319486
Sorry to dig this topic.
Maybe someone have the answer for my question
In the process of rebuild a battery, if that battery that doesn't accept charge, after replacing the cells will it work?
I read something about the controller...can it be "reflashed" to accept battery?
I am interested in the pb g4 but I believe would be similar for g3.
 
After further research on this, the chip I needed to program was the S-24C01A EEPROM. It says in the documentation for the bq2040 that "An external EEPROM is used to program initial values into the bq2040 and is necessary for proper operation." In this case, the external external EEPROM is the S-24C01A.

I plugged it in and got the hex values that I have attached. The bq2040 documentation shows what each register does. For example, at 0x60 and 0x61 the chip has the values of 08 and 0C (this is the Full charge capacity). This has to be converted to decimal. This part took me a while to figure out. So 08 in decimal is 8 and 0C is 12. Since 0C is a high byte, it gets multiplied by 256. So, the full charge capacity would be 8 + (256x12), which is 3080. So, this battery has a full charge capacity set at 3080mA, which would have changed as the battery aged.

Another random piece of knowledge I gained from this as well. For the manufacture date, it is located at 0x16 and 0x17. This gives a decimal value of 10029. This gives a date of September 13, 1999. I converted this using the following info from the documentation; "The date is packed in the following fashion: (year–1980)×512+month×32+day."

Unfortunately, even after changing the values on the chip, it made no difference. The red light on the iBook still stays on for about 12 minutes, and after that, it will turn green, which puts an x through the battery icon. It does nothing to charge the battery. I even charged up the 18650 cells with an external charger with no luck. I even tried a discharge as well with an external charger. Even when the 18650 cells are full, when I unplug the iBook, it shuts off immediately (even with the OSX installation CD).

I am at the point of defeat here; something else must be wrong with the controller board. I will look for another old iBook battery (which is very hard to find) and try to rebuild that one. At the very least, I learned some interesting information regarding EPROMs.

View attachment 2319463View attachment 2319464View attachment 2319486
I just ran into the same issue with a pack rebuild -- 10000mAh maximum capacity, 42124 load cycles, original capacity 33293mAh... I can't comment on what was causing this, but I do know that swapping out all of the electronics fixed it -- I just used PCBs from a different battery and it worked great with my new cells. I suggest sourcing a new dead battery!
 
Sorry to dig this topic.
Maybe someone have the answer for my question
In the process of rebuild a battery, if that battery that doesn't accept charge, after replacing the cells will it work?
I read something about the controller...can it be "reflashed" to accept battery?
I am interested in the pb g4 but I believe would be similar for g3.
It will probably work, from this video the PowerBook G4 battery uses 18650 cells, and I think I see the same bq2040 chip on the top of that board in this video:
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.