Releases: keranm/strideApp
Release list
v0.8.0
STRIDE v0.8.0
Zwift can see your treadmill now.
Read SAFETY.md
first. This software drives a motorised treadmill. The safety key remains the
emergency stop; STRIDE is not what stops the belt.
FTMS: pair the treadmill with Zwift
The console publishes the Bluetooth SIG's Fitness Machine Service, so it turns
up in Zwift, Kinomap and anything else that speaks FTMS, next to the commercial
machines. No phone in the middle, nothing to install anywhere else.
It advertises as STRIDE Treadmill and sends speed, incline, distance,
elapsed time and heart rate. In Zwift, pick RUN, then pair it under Run
Speed. Leave Cadence unpaired: this treadmill has no step sensor, and
inventing a cadence from speed would be a number with no source behind it.
Telemetry only, deliberately. FTMS also defines a control point that lets
the far end set speed and incline. It is not implemented. Nothing sets the belt
speed except the person standing on the belt, and handing that to software in
another room is a different decision.
Your heart strap and Zwift compete for the radio. This console cannot scan
for a strap and hold a Bluetooth connection at the same time, so STRIDE stops
hunting for a strap while something is paired. A strap that is already
connected is kept. Put it on before you pair and you get both.
Thanks to ciarancoffey/nordictrack-ftms-bridge,
which showed this console can be a Bluetooth peripheral at all.
Belt telemetry
The console publishes what the belt is doing (Belt Speed, Belt RPM)
alongside what it was told, and raises Belt Short Of Pace when they
disagree for more than a few seconds. Episodes are written to an on-console
incident log that survives a reboot.
Units are on the Display page
Kilometres or miles. It was under Treadmill, where nobody found it.
Install
Download stride-v0.8.0.apk below:
adb install -r stride-v0.8.0.apk
adb shell am start -n dev.stride.hud/.MainActivity
Upgrading from v0.7.0 keeps your settings. Getting adb onto the console in the
first place is covered in
docs/INSTALL.md.
Every release here is signed with the same certificate, SHA-256
274a6f2e308df50e1e4219f5bd1f4aca5fda8ccd5feccc7c52579c0c8dd302e8. Check with
apksigner verify --print-certs stride-v0.8.0.apk.
The build ships with no broker credentials. Everything is configured on the
console, and STRIDE runs standalone with no network at all.
What is confirmed
One machine: NordicTrack C 1750, Gen 6 "CLASSIC" console, FitPro board
0x04. Speed and incline limits are read off the board rather than compiled
in, so another FitPro machine has a fair chance.
Say what happened either way.
Known limits
- FTMS incline and heart rate work but have not been walked through a full
session yet. Belt Short Of Pacecompares the setpoint against the odometer, and the
odometer counts the drive roller. A belt slipping over that roller moves
neither number.- The deck declines to −3% and no further.
v0.7.0
STRIDE v0.7.0
The first published build. An installable APK, so replacing the console software no longer means building it yourself.
Read SAFETY.md first. This software drives a motorised treadmill — it sets belt speed and moves the incline deck while somebody is standing on it. The safety key remains the emergency stop; STRIDE is not what stops the belt.
Install
Download stride-v0.7.0.apk below, then:
adb install -r stride-v0.7.0.apk
adb shell am start -n dev.stride.hud/.MainActivity
Getting adb onto the console in the first place is the long part, and it is covered step by step in
docs/INSTALL.md.
If you have already jailbroken your console and can launch arbitrary apps from a home screen, this APK is all you need.
To undo everything: factory reset the console.
Configure
The build ships with no broker credentials — it is compiled without them on purpose, so nothing personal to anyone else is inside it. Everything is set on the console itself, in Settings:
- MQTT broker, user, password — optional. Without them STRIDE runs standalone: the console works, keeps its own workout history, and needs no network, no Home Assistant and no account.
- Home Assistant, the AI coach and Apple Health routes are all opt-in on top.
What is confirmed
One machine, and it would be dishonest to imply otherwise:
| Model | NordicTrack C 1750 |
| Generation | Gen 6, "CLASSIC" embedded console |
| Motor board | FitPro, device id 0x04 |
Speed and incline limits are read off the board rather than compiled in, so another FitPro machine has a reasonable chance of working. Nobody has tried it. If you do, say what happened — whether it worked or not.
Gen 7 / iFit 2.0 reportedly closes the route used to install this, but I'm not able to verify that myself.
New in this release
- Belt telemetry. The console now publishes what the belt is doing
(Belt Speed,Belt RPM) alongside what it was told, and raises a
Belt Short Of Pacealarm when the two disagree for more than a few seconds.
Episodes are written to an on-console incident log that survives a reboot. - Assorted fixes to deck levelling and the stop path.
Known limits
Belt Short Of Pacecompares the setpoint against the odometer, and the
odometer counts the drive roller. A belt slipping over that roller moves
neither number, so this will not catch it.Belt RPMis being recorded to
find out whether it can.- The deck declines to −3% and no further; routes with steeper descents are
flattened to that. - Guided walks never set the belt speed on their own. Incline is automatic,
pace is always yours.