Skip to content

Getting steps to count on Sperax RM-01 #9

@dacohenii

Description

@dacohenii

Hey there - thank you for putting all the work into such a cool project! I just got my controller set up and flashed. It seemed to connect to my Sperax RM-01 treadmill, but I can't figure out how to get it to register the step count.

I'd love to contribute any changes to the repo if I can get it working. I am not super familiar with esp32 but could probably figure it out if you could point me in the right direction! Is there some tool I could use to debug; maybe to see all traffic coming from the treadmill?

Here are some pared logs, with with a few notes, in case anything jumps out at you

[14:13:06]
[14:13:06][TBD, NTP sync] Loaded SSID: [my ssid]
[14:13:06][TBD, NTP sync] Loaded Password: hunter2 (just kidding)
[14:13:06][TBD, NTP sync] ssidBuf[0]: 68, len1 12 len2 17
[14:13:06][TBD, NTP sync] areWifiCredentialsSet: 1
[14:13:06][TBD, NTP sync] Connecting to WiFi... [my ssid]
[14:13:08][TBD, NTP sync] Sending NTP request...
[14:13:09]Bluetooth MAC Address: a0:dd:6c:74:bf:ce
[14:13:09]BLE Advertising started...
[14:13:09][TBD, NTP sync] NTP response received! size=48
[14:13:09]=== RAW NTP DATA ===
[14:13:09]24 02 06 E6 00 00 00 51 00 00 00 20 A4 43 3E D4 EC B3 7C BA 12 4E F3 46 00 00 00 00 00 00 00 00 EC B3 7D 45 6E CC FF 87 EC B3 7D 45 6E CD AF 08 
[14:13:09]====================
[14:13:09][19:13:09.029] System time updated: 2025-11-03 19:13:09 1762197189
[14:13:10]Scanning for FTMS treadmill (Service 0x1826)...
[14:13:10][11:13:09.018] Advertised Device: Name: SPERAX_RM-01_E2DAE0, Address: 2b:80:03:e2:da:e0, serviceUUID: 0x1826
[14:13:10]Service Data:
[14:13:10]UUID: 0x1826, Data: ��
[14:13:10][11:13:09.028] Found FTMS device: 2b:80:03:e2:da:e0
[14:13:10][11:13:10.129] Attempting to connect to FTMS device at 2b:80:03:e2:da:e0
[14:13:10]FTMS treadmill connected (callback).
[14:13:10]Discovering services...
[14:13:11]Service: 0x1800
[14:13:11]  Discovering characteristics...
[14:13:11]    Characteristic: 0x2a00  Handle: 0x0003
[14:13:11]    Characteristic: 0x2a01  Handle: 0x0005
[14:13:11]    Characteristic: 0x2a04  Handle: 0x0007
[14:13:11]Service: 0x1801
[14:13:11]  Discovering characteristics...
[14:13:11]    Characteristic: 0x2a05  Handle: 0x000A
[14:13:11]Service: 0x180a
[14:13:11]  Discovering characteristics...
[14:13:11]    Characteristic: 0x2a23  Handle: 0x000E
[14:13:11]    Characteristic: 0x2a24  Handle: 0x0010
[14:13:11]    Characteristic: 0x2a25  Handle: 0x0012
[14:13:11]    Characteristic: 0x2a26  Handle: 0x0014
[14:13:11]    Characteristic: 0x2a27  Handle: 0x0016
[14:13:11]    Characteristic: 0x2a28  Handle: 0x0018
[14:13:11]    Characteristic: 0x2a29  Handle: 0x001A
[14:13:11]Service: 0x1826
[14:13:11]  Discovering characteristics...
[14:13:12]    Characteristic: 0x2acc  Handle: 0x001D
[14:13:12]    Characteristic: 0x2acd  Handle: 0x001F  [NOTIFY]
[14:13:12]    Characteristic: 0x2ad3  Handle: 0x0022  [NOTIFY]
[14:13:12]    Characteristic: 0x2ad4  Handle: 0x0025
[14:13:12]    Characteristic: 0x2ad5  Handle: 0x0027
[14:13:12]    Characteristic: 0x2ad7  Handle: 0x0029
[14:13:12]    Characteristic: 0x2ad9  Handle: 0x002B
[14:13:12]    Characteristic: 0x2ada  Handle: 0x002E  [NOTIFY]
[14:13:12]    Characteristic: d18d2c10-c44c-11e8-a355-529269fb1459  Handle: 0x0031
[14:13:12]Service: 0xfff0
[14:13:12]  Discovering characteristics...
[14:13:12]    Characteristic: 0xfff1  Handle: 0x0034
[14:13:12]    Characteristic: 0xfff2  Handle: 0x0036
[14:13:12]    Characteristic: 0xfff3  Handle: 0x0038  [NOTIFY]
[14:13:12]    Characteristic: 0xfff4  Handle: 0x003B  [NOTIFY]
[14:13:12]    Characteristic: 0xfff5  Handle: 0x003E
[14:13:12]Service: 0xfab0
[14:13:12]  Discovering characteristics...
[14:13:12]    Characteristic: 0xfab3  Handle: 0x0041  [NOTIFY]
[14:13:12]    Characteristic: 0xfab1  Handle: 0x0044
[14:13:12]    Characteristic: 0xfab2  Handle: 0x0046
[14:13:12]Done listing notifiable characteristics.
[14:13:12]Connected to FTMS. Discovering service...
[14:13:12]Subbed to UREVO!
[14:13:12]FTMS Common Features:
[14:13:12][11:13:12.341]   Average Speed: No
[14:13:12][11:13:12.341]   Cadence: No
[14:13:12][11:13:12.341]   Total Distance: Yes
[14:13:12][11:13:12.342]   Inclination: No
[14:13:12][11:13:12.352]   Elevation Gain: No
[14:13:12][11:13:12.352]   Pace: No
[14:13:12][11:13:12.352]   Step Count: Yes
[14:13:12][11:13:12.352]   Resistance Level: No
[14:13:12][11:13:12.362]   Stride Count: No
[14:13:12][11:13:12.363]   Expended Energy: Yes
[14:13:12][11:13:12.363]   Heart Rate: No
[14:13:12][11:13:12.373]   Metabolic Equivalent: No
[14:13:12][11:13:12.373]   Elapsed Time: Yes
[14:13:12][11:13:12.373]   Remaining Time: No
[14:13:12][11:13:12.384]   Power Measurement: No
[14:13:13][11:13:12.384]   Force on Belt: No
[14:13:13][11:13:12.384]   User Data Retention: No
[14:13:13]FTMS Target Setting Features:
[14:13:13][11:13:12.394]   Speed Target Setting: Yes
[14:13:13][11:13:12.394]   Incline Target Setting: No
[14:13:13][11:13:12.394]   Resistance Target Setting: No
[14:13:13][11:13:12.405]   Heart Rate Target Setting: No
[14:13:13][11:13:12.405]   Targeted Expended Energy Config: No
[14:13:13][11:13:12.415]   Targeted Step Number Config: No
[14:13:13][11:13:12.415]   Targeted Distance Config: No
[14:13:13][11:13:12.415]   Targeted Training Time Config: No
[14:13:13][11:13:12.594] Subscribed to Treadmill Data (0x2ACD). Supports Indicate?: 0
[14:13:13]Subscribed to Fitness Machine Status (0x2ADA).
[14:13:13]Found FTMS Control Point (0x2AD9).
[14:13:23][11:13:22.841] [2ADA] Treadmill Status Change: : 04 
[14:13:23]Treadmill: STARTED/RESUMED (FTMS status 0x04).
[14:13:23][11:13:22.842] 11:13:22 >> NEW SESSION Started!

/********* NOTE: THESE STATUS CHANGE LOGS COME FROM INCREASING  THE SPEED */

[14:13:27][11:13:27.342] [2ADA] Treadmill Status Change: : 05 1E 00 
[14:13:27][11:13:27.342] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:28][11:13:28.341] [2ADA] Treadmill Status Change: : 05 3C 00 
[14:13:28][11:13:28.342] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:29][11:13:28.842] [2ADA] Treadmill Status Change: : 05 5A 00 
[14:13:29][11:13:28.842] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:29][11:13:29.342] [2ADA] Treadmill Status Change: : 05 82 00 
[14:13:29][11:13:29.342] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:30][11:13:29.842] [2ADA] Treadmill Status Change: : 05 A0 00 
[14:13:30][11:13:29.842] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:30][11:13:30.342] [2ADA] Treadmill Status Change: : 05 B4 00 
[14:13:30][11:13:30.342] Treadmill FTMS Status Change (ignored): 0x05.
[14:13:34][11:13:34.342] [2ADA] Treadmill Status Change: : 05 BE 00 
[14:13:34][11:13:34.342] Treadmill FTMS Status Change (ignored): 0x05.

/****** I STOPPED THE  TREADMILL AFTER 15 or so SECONDS ***/

[14:13:50][11:13:49.392] [2ADA] Treadmill Status Change: : 02 02 
[14:13:50][11:13:49.393] Treadmill: STOPPED (FTMS status 0x02).
[14:13:50][11:13:49.393] Entered. wrapper
[14:13:50][11:13:49.403] << NEW SESSION Ended!
[14:13:50][11:13:49.403] Session #5:
[14:13:50][11:13:49.403]   Start: Mon Nov  3 11:13:22 2025 (Unix: 1762197202)
[14:13:50][11:13:49.414]   Stop : Mon Nov  3 11:13:49 2025 (Unix: 1762197229)
[14:13:50][11:13:49.414]   Steps: 0
[14:13:50][11:13:49.431] Session stored at index=5. Steps=0
[14:13:55]5 seconds elapsed since session end — sending reset command.
[14:13:55]
[14:13:55]----------------------
[14:13:55]=-=-=-=-
[14:13:55]Entered. RESET wrapper
[14:13:55]=-=-=-=
[14:13:55]---------------------------------
[14:13:55][11:13:54.442] Control Point characteristic handle: 0x002B
[14:13:55][11:13:54.444] Sent FTMS Request Control + Reset opcodes to treadmill via Handle (0x002B)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions