ESP32 based MQTT Bridge for WalkingPads

I built a small Bluetooth to MQTT bridge that allows to connect Superun WalkingPads to Home Assistant.

The use case I’m realizing is that I want to move my desk up and start the walkingpad via a voice command. The WalkingPad is finished and the prototype to control the desk is also ready.

I have tested it with a “Superun BA06-B1” which shows up as PitPat-T01 Treadmill via Bluetooth. It might work with others too.

Github Project: https://github.com/peteh/pacekeeper

Have you thought about making this an ESPhome library? That way you can use the Bluetooth process you already have around the house versus making one only for this?

I really don’t like esphome. Programming for it is cumbersome and it’s too closely coupled with homeassistant.

As this one needs an active connection the bluetooth proxy probably will not work and you would need a separate esphome config anyway.

While my project uses ha auto discovery it will still work with any other homeautomation solution that speaks MQTT.

I see the benefit, that you could integrate into a device that already does something else but so far I prefer to have a homeassistant-independent solution. However, the code is open, so if anybody wants to build on it, feel free to.

Sorry if i’m being thick.

I followed the tutorial as i understood it, it compiled and uploaded to my spare Waveshare ESP32C6.
However I can’t see the device on my wifi or see it in MQTT.

The treadmill normally beeps when I connect to bluetooth too, I don’t hear that either.

I used esp32_c6_devkitc_1 as the device profile which is what esphome accepts for my board.

do i leave the # in the the lines for MQTT etc as that normally comments lines out?

They are not commented out - # is not a comment in c++ but a definition/macro. You just have to modify your settings for ssid/pass and broker.

It will not try to connect to the device until your wifi connection and mqtt connection is made. So you are already failing either at wifi connection or mqtt connection.

As you don’t see it on wifi you are already failing there.

Root causes could be:

  • Wifi ssid or password are wrong
  • You are trying to connect to a 5ghz wifi, esp32 devices currently only support 2.4Ghz
  • mqtt settings are wrong

In platformio you could try to use the monitor function to see the log messages of the esp32 that could tell you what might go wrong.

With a few issues on the way I finally got it to work :sweat_smile: thank you for your work! This is great!