# STRIDE: a replacement NordicTrack console using the FitPro protocol

> STRIDE reconstructs the FitPro motor-board interface for a replacement Android console app on a NordicTrack treadmill. Its protocol notes document the USB HID transport, message frames and commands derived from traffic analysis and software examination. The app communicates with the board over USB and can publish treadmill telemetry through MQTT.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/keranm/strideApp>
- Primary source: <https://github.com/keranm/strideApp/blob/d9e1b5363e9a146493ea43b86512bd54738cb23f/protocol/FITPRO_PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/stride-fitpro-treadmill-case/>
- Record JSON: <https://awesomerea.org/resources/stride-fitpro-treadmill-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/stride-fitpro-treadmill-case/index.md)

## Requirements & limits

- **Prerequisites:** Requires a NordicTrack or ProForm treadmill with a FitPro motor board and an Android console reachable through adb; the author reports use on one NordicTrack C 1750 Gen 6 machine.
- **Prerequisites:** Installation uses macOS or Linux with adb and Python 3.9+; building the app additionally requires JDK 17 and the Android SDK.
- **Limits:** The author reports that other treadmill models have not been tried.
- **License:** Apache-2.0 license.

## Primary sources

1. <https://github.com/keranm/strideApp/blob/d9e1b5363e9a146493ea43b86512bd54738cb23f/protocol/FITPRO_PROTOCOL.md>
2. <https://github.com/keranm/strideApp/blob/d9e1b5363e9a146493ea43b86512bd54738cb23f/README.md>
3. <https://github.com/keranm/strideApp/blob/d9e1b5363e9a146493ea43b86512bd54738cb23f/docs/INSTALL.md>

## More in Protocols

- [TonePush: reconstructing Line 6 HX editing over USB](https://awesomerea.org/resources/tonepush-case/index.md) · Case study
- [ESP32Drop: rebuilding AirDrop and AWDL on ESP32-S3](https://awesomerea.org/resources/esp32drop-case/index.md) · Case study
- [Valeton GP-50 Editor: live preset editing over reconstructed SysEx](https://awesomerea.org/resources/valeton-gp50-editor-case/index.md) · Case study
- [r8link: reconstructing Uniden R8w Bluetooth telemetry](https://awesomerea.org/resources/r8link-uniden-r8w-case/index.md) · Case study
- [esphome-panasonic-erv: local control through a reconstructed CN12 protocol](https://awesomerea.org/resources/esphome-panasonic-erv-case/index.md) · Case study
- [EdgeLine: investigating Corsair Xeneon Edge control and touch interfaces](https://awesomerea.org/resources/edgeline-xeneon-edge-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
