This is an overview of commonly asked questions I have seen about the XR battery, as well as more technical look. Most of the answers are based on original research over the course of a month of probing and observing XR batteries. If there is anything missing that you would like me to cover, send me a Tweet or open a Github Issue.
A RLOD is usually caused by cell imbalance (one of the Lithium Ion batteries is too low compared to the rest of the pack). The BMS throws an error to ensure the safety of the battery and the user.
A RLOD can also be caused by extreme over temperature, or a battery where all the cells are below a safe level.
If you have older firmware (< 2.5.1), charge your battery for a total of 2+ weeks2. Yes, this is an insane amount of time. Plugged in to power, even with the green battery LED on, counts as charging.
After that, let your battery sit connected to the charger for an hour or three after it is done charging, every time.
While this will not fix a battery that has a RLOD, it can help prevent a RLOD in the future.
If you have the latest firmware (2.5.1), you are lucky. The latest firmware will let you know when the battery is imbalanced by getting “stuck” at a percentage while charging3. Let it sit, and eventually it should resume charging.
No. The battery only balances when the battery is plugged in to a powered charger. Disconnecting the battery from the charger before it is fully charged (or using an app to turn off the charger at 80%, for example) means that the battery does not have time to balance. This can increase the risk of a RLOD.
No. The XR BMS only uses ~60% of the battery’s capacity, and what is presented as 100% to you is not really 100% of the battery’s real charge. Likewise, 0% presented to you is not 0% of the battery’s real capacity.
In practice, what is 100% to you is roughly 85% of the cell’s true charge level, and 0% to you is roughly 20% of the cell’s true charge level. These numbers aren’t exact, but should serve as a reasonable estimate.
Yes. Lithium Ion batteries have a non-linear discharge curve, where the voltage drops off faster as they get towards the end of their charge. A battery with a non-RLOD-causing imbalance may have a RLOD-causing imbalance when one of the cells is significantly less charged than the other cells.
Yes, but incredibly slowly.
The TI BQ76940 balances cells by discharge balancing, so it slowly drains cells to match the lowest cell. However, the BQ IC can only discharge every other cell (roughly half the cells at once). Because the BMS uses the BQ’s internal balancing, it can take (literally) weeks to discharge healthy cells to the unbalanced cell. Additionally, the internal balancing is limited to 5mA of discharge per cell.
In my testing, it took ~2 weeks for the battery to recover a ~300mV delta. After the balance, the cell seemed healthy enough to not drift much from the other charged cells, and only balanced for ~30 minutes after a full discharge and recharge.
The BMS seems to stop balancing once the min and max cell delta is 20mV.
Yes – see the XR Health Check article to see how to read the min/max/total cell voltages via the XR Battery’s CAN Bus, without having to open your battery.
No, the XR battery seems to use roughly ~60% of the cell’s true capacity. The cells are considered charged at ~3.9V, and discharged at ~3.6v by the BMS. This is a rough estimate based on the discharge graph from the Technical Information Sheet for the LG INR18650HG2s. This limited charge and discharge prevents the cells from being fully charged and fully discharged, which can accelerate aging. Instead, Boosted seems to be (attempting) to preserve battery life by not fully stressing the cells.
Yes, BUT: resetting the RLOD won’t fix every pack. The graph of my battery balancing was from a RLOD’d pack, and it seems to have made a solid recovery. However, I have seen some packs where the cell is too far damaged to have any possibility of a software only recovery, and would need cells swapped. I have not attempted to replace individual cells, and it seems unpleasant to do so.
jonataubert found out that the RLOD status is stored on a SPI flash chip on the battery, and by editing the data stored in it, the RLOD can be cleared. Additionally, the RLOD can also be reset via CAN if you have access to the debug shell, and I have done so to reset a RLOD. At some point I expect to release a debug shell app, but I do not have an ETA.
Some people have reported that their RLOD resets after a period of sitting idle. I’m not sure why this happens, but it doesn’t seem common enough to be a reliable fix. ↩︎
Standard battery safety applies: don’t leave batteries charging unattended. You can stop charging and resume it whenever, but keep track of the total time on the charger. ↩︎
13 cell “groups” in series, with each group made up of 2 cells in parallel. This gives the equivalent to 2x of a single cell’s capacity, at 13x the volts of a single cell. ↩︎