Cheap Multimeter Gets Webified

[Mellow Labs] wanted to grab a multimeter that could do Bluetooth. Those are cheap and plentiful, but the Bluetooth software was, unsurprisingly, somewhat lacking. A teardown shows a stock Bluetooth module. A quick search found a GitHub with software. But then he had a fiendish idea: could you replace the Bluetooth module with an ESP32 and use WiFi instead of Bluetooth?

This was as good an excuse as any to buy a cheap logic analyzer. Armed with some logic captures, it was easy to figure out how to fake the meter into thinking a Bluetooth client was connected.

Oddly enough, the data is “encrypted” with XOR, and an AI website was able to identify the raw data versus the encrypted data and deduce the key. The rest, as they say, was software. Well, except for one hardware problem: The ESP32 needed more power, but that was a fairly simple fix.

The entire thing fit the case beautifully. Now the meter streams a web page instead of requiring Bluetooth. Great job!

If your meter isn’t handheld, you can still play a similar trick. Just don’t forget that when it comes to meters, you often get what you pay for. Not that you can’t do a similar hack on an expensive meter, either.

14 thoughts on “Cheap Multimeter Gets Webified

  1. Well worth the watch. Crazy that the manufacturer encrypts the internal data in transit on the PCB to the Bluetooth module. It’s your own measurement data FCOL.

    1. Just finished the video … well done hack and exploratory work with new tools (to him) to accomplish what he was looking to do 👍

  2. This is a cool hack, but it’s also a good time to remember that just because you CAN put something on the internet doesn’t mean you SHOULD.

  3. “Oddly enough, the data is “encrypted” with XOR, and an AI website was able to identify the raw data versus the encrypted data and deduce the key.”

    I wonder whether the AI just picked up the XOR key from the website that the video also used as a reference.. they keys in https://github.com/FireMarshmellow/DMM_Web_interface/blob/main/python/ble_dmm_min.py and https://github.com/ludwich66/Bluetooth-DMM/wiki/Bluetooth-DMM-10-Byte-Data-Protocol appear identical.

    No mention about the battery life after the mod :)

  4. It’s a useful idea, I’ve got an old 4.5 digit LED bench meter which pushes the display segment data out via a serial port, might be an interesting experiment to update it

      1. That was the moment I closed the video…

        The battery compartment is a huge hole with a nice set of covers. Why not replace it with a LiPo battery, usb charger and a Low-Standby-Supply Current regulator? Should all fit in and has a nice cover.

  5. The link “on an expensive meter” in the article doesn’t seem to point to the intended resource but to the HAD admin frontend instead.

  6. Cool project.
    I still think using esp32 to bridge the wifi and BT is more practical (smaller battery drain on device, no hardware mods needed). Integrating this to Home Assistant would be really cool for creating ad hoc automations. Something like:
    If voltage in this battery falls below that level turn off this wifi socket, turn this wifi bulb to red color and send me notification.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.