As is regrettably typical in the cordless tool world, Milwaukee’s M18 batteries are highly proprietary. Consequently, this makes them a welcome target for reverse-engineering of their interfaces and protocols. Most recently the full diagnostic command set for M18 battery packs were reverse-engineered by [ToolScientist] and others, allowing anyone to check useful things like individual cell voltages and a range of statistics without having to crack open the battery case.
These results follow on our previous coverage back in 2023, when the basic interface and poorly checksummed protocol was being explored. At the time basic battery management system (BMS) information could be obtained this way, but now the range of known commands has been massively expanded. This mostly involved just brute-forcing responses from a gaggle of battery pack BMSes.
Interpreting the responses was the next challenge, with responses like cell voltage being deciphered so far, but serial number and the like being harder to determine. As explained in the video below, there are many gotchas that make analyzing these packs significantly harder, such as some reads only working properly if the battery is on a charger, or after an initial read.
While i was involved in this project, the video is from ToolScientist. I would give him the main credit in the article :)
Thanks! And fixed.
Batteries becoming little computers in their own right. Can’t wait to run Doom on one.
There are microcontrollers in basically everything, and have been for a long while now. Tool batteries are probably one of the least surprising places.
They mightn’t be very smart, but once they become sentient they’ll be much better armed to wreak havoc than fancy-pants AI smartphones.
I worked on a commercial moped BMS for a company. All I’ll say is, there is nearly not as many details that are captured in actual several kWHr moped BMSes, than there are in these power tool batteries. Surprising honestly
Cool. Now do Makita!
Martin Jansson has done much of this work: https://martinjansson.netlify.app/posts
Thanks!
Time for Europe to make usb-c mandatory for those tools.
USB-C and angle grinders.
Good on ya mate.
If your angle grinder runs on batteries then it’ll probably run on usb-c which is capable of 240W (48v @ 5A)
You did see the part where he was pushing 300A @18V, 5.4kW.
I upgraded a couple of old drills from NiCad to LiPo, and yup, USB-C. These were 12v, pretty easy with off-the-shelf charge & BMS modules.
It does seem a no-brainer ow that USB-C can do 240W (48v @ 5A).
You missed the really crazy thing that Louis Rossmann picked up on.
Apparently for all the stats they track to make it easier to void a warranty, they don’t have any logic for battery balancing. So your battery might just keel over because one cell is a little low.
I think there was discussion of that on here a while back
So now we can use this to build a charger that gives useful diagnostic info on a screen. I would love to plug in a battery and see which cell needs replacing.