Just watching the fabulous journey that Badar has gone on with the Ryobi batteries and got me thinking: what are the Power Tool Battery Failures?
Badar has created a video and a blog post [1] that looks at the failure modes and solutions.
Badar has 3 new battery pack failures and this spurs him on to purchase another 40 packs so he can understand the failures.
He produces a schematic diagram of the BMS hardware and downloads the memory.
Eventually finding a permanent lockout software feature when cell imbalance is greater than 0.15V and they are then charged.

Of the 40 packs tested the failure modes are interesting.
Cell imbalance and deep discharge go hand in hand.
More data is needed to fully understand this battery pack, but this analysis suggests poor cell selection and pack design.
A DIY power tool battery requirement has to be that it can survive a long time in storage between use.
Pre 2018 Makita batteries had the BMS powered from one cell, this meant that if the pack was left in a deep discharge state for a long time (typical DIY user) it would discharge the one cell to a point that the pack could not be recovered.
This post has been built based on the support of and sponsorship from: Resonate Testing Ltd, Quarto Technical Services, Eatron Technologies and About:Energy

Milwaukee appear to also have the permanent firmware lockout mode, normally triggered by a deep discharge and cell imbalance.
Electrical disconnects are also common.
Doctor Lefthandthread [2] looks at a failed pack.
A quick look at the failures of these packs that have a tough life mechanically and the DIY abuse mode is to use (discharge) and then store them in a discharged state until required again in 6 months time. Hence cell imbalance and over-discharged pack failure modes are common.
One issue that comes up over and over is that these packs need to be interchangeable between brands. This would significantly reduce waste.
References
- Ryobi Battery Repair Guide, Badar’s Workshop
- Milwaukee Battery Full Voltage No Bars repair, Doctor Lefthandthread