Hacking BLE To Liberate Your Exercise Equipment

Diagram from the blog post, showing how GATT communication capture works

It’s a story we’ve heard many times before: if you want to get your data from the Domyos EL500 elliptical trainer, you need to use a proprietary smartphone application that talks to the device over Bluetooth Low-Energy (BLE). To add insult to injury, the only way to the software will export your workout information is by producing a JPG image of a graph. This just won’t do, so [Juan Carlos Jiménez] gives us yet another extensive write-up, which provides an excellent introduction to practical BLE hacking.

He walks us through BLE GATT (Generic Attribute Profile), the most common way such devices work, different stages of the connection process, and the tools you can use for sniffing an active connection. Then [Juan] shows us a few captured messages, how to figure out packet types, and moves into the tastiest part — using an ESP32 to man-in-the-middle (MITM) the connection.

The MITM consists of two parts: a laptop with a Python script talking with the Domyos EL500, and an ESP32 that’s spoofing the EL500 to a smartphone app, tied together with a serial link. You can capture all the messages that the app and the trainer are exchanging, modify them in real-time and see the reaction, and figure out how to extract all the data you could dream of. This is more than enough to conquer the next frontier — writing a third-party app to capture workout data, and we can’t wait to see this experiment conclude.

BLE is ubiquitous and used in what feels to be every IoT device under the sun, which makes it all the more wonderful that we’ve got yet another tutorial on how to bend it to our will. The tools are easy to find, too. You can use an ESP32, a Raspberry Pi, or an nRF dongle. You can even get pretty far using nothing more exotic than an Android device. Whatever approach you take, the journey is sure to pay off.

17 thoughts on “Hacking BLE To Liberate Your Exercise Equipment

  1. There are wearable heart rate monitors out there that ONLY work with a smart phone and ONLY with the manufacturer’s proprietary app. You can imagine what happens to your data.

    1. Yeah I have a heart rate + SpO2 monitor that I’ve been wanting to hack in this way for similar reasons. I once asked the manufacturer if they had an API or any other means of getting the data out and they started trying to sell me an OEM mass-manufacturing license and said that they’d only be interested if I could guarantee shipping some ridiculously high number of units, and didn’t seem to understand I was just trying to get my data out for a twitch overlay.

  2. Is the manjaro face worth it rooted wireless still trying to understand some of processes and mods it carries!!! Seems pretty legit got into the list of extras on the wifi aka the labs about to open the certificates to download?

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.