Reverse engineering the popular BM2 BLE car battery monitor

Someone has taken the time to properly reverse engineer the apps used with these popular BM2 lead acid battery monitoring solutions. As suspected, it phones home and reports data back to Chinese infrastructure, generating major privacy concerns.
A great 3-part article which is worth checking out.

However, there is a work around here for Home Assistant users. Since I have this same hardware, but always refused to install the app, I figured out how to grab this data using an ESP32 running ESPHome. Now I can read the BLE (Bluetooth Low Energy) broadcasts raw data into ESPHome, which can massage the data and output the actual voltage of the battery, no Chinese application required.

I personally use this setup to alert me when my vehicle's (only gets driven once a week at best) lead acid battery drops too low for comfort. This data is more helpful in the winter, where not being able to predict battery performance can be an issue and having it trickle charge is not an option. I may create a write up for this someday, if there's interest.

Taken from my Home Assistant dashboard:


  • 1688269001750.png
    27.9 KB · Views: 91
Last edited: