cellTrainer

Indoor running & cycling — with NIRS and HRV-DFA analytics built in.

What makes cellTrainer special

DFA α1 + ectopic detection

Detrended Fluctuation Analysis derives the α1 scaling exponent from your heart-rate-strap RR intervals. Values around 0.75 mark the aerobic threshold (AeT/VT1) — a research-validated real-time proxy for your first ventilatory threshold without lab testing. cellTrainer computes α1 live, with Runalyze-compatible 3 % artifact filtering. The same RR stream feeds an ectopic-beat detector that flags premature beats and compensatory pauses live and classifies them as singles, couplets or runs — using a 7-beat rolling baseline with configurable prematurity / pause thresholds.

SmO2 + O2Hb + HHb

Direct muscle-oxygen measurement via NIRS — supported sensors: Train.Red FYER 1.0 and FYER 2.0. cellTrainer extracts not just SmO2 (%) from the proprietary frame but also Oxyhemoglobin (O2Hb) and Deoxyhemoglobin (HHb) — three metrics instead of one, letting you tell oxygen consumption apart from perfusion changes.

Auto-control with manual override

When a workout is loaded and a compatible smart trainer or treadmill is paired, cellTrainer drives the target speed/incline (Run) or power (Ride) live so each interval ramps in on its own. Adaptive: nudge the physical levers or the in-app +/- buttons mid-rep and the offset persists through the rest of the step instead of being snapped back to the script. Hands stay free for the work, the device tracks the plan.

Switches & gamepad shortcuts

Pair a BLE switch (Zwift Click, Cycplus BC2) or connect a gamepad (any GameController-compatible model — tested with the 8Bitdo Zero 2) and bind the buttons to start, stop, pace tweak, fan up/down or workout-step skip. No more reaching for the phone mid-session — every assignment is per-sport, so Run and Ride can map the same hardware to different actions.

Your data, your call

No cloud lock-in. cellTrainer itself doesn't host any data — every export is opt-in and configured per user. You decide which session goes where: intervals.icu, Garmin Connect, HiDrive, a local folder, or nowhere at all. Toggle each destination per format (FIT, XLSX, CTD) so a session can land on one platform and skip the rest.

📡Supported devices

Treadmill

Standard

FTMS-compliant models work read-only out of the box. Active control supported on Technogym MyRun (full unlock) and any FTMS treadmill that accepts the standard Request-Control opcode. Tested brands include NordicTrack, ProForm, Sole, Bowflex, Reebok, Horizon, Echelon, Matrix, Life Fitness.

Indoor Bike

Standard

Any BLE FTMS smart trainer or indoor bike: Wahoo Kickr (with virtual shifting bonus), Tacx Neo/Flux, Elite Direto/Suito, Saris, JetBlack, Stages SB20, Zwift Hub, Magene, BodyCraft, Wattbike Atom.

Heart Rate

Standard

Any Bluetooth Heart Rate Profile device, plus RR intervals (HRV) when supported: Polar H10/Verity Sense, Garmin HRM-Pro/Dual/Tri, Wahoo TICKR, CooSpo, Magene H64, Suunto Smart Belt, Decathlon HRM.

SmO2 Sensor

Vendor

Train.Red FYER 1.0 (basicV12 firmware) and FYER 2.0 — proprietary 17-byte frame decoded for SmO2 / O2Hb / HHb.

Running Power

Vendor

Stryd footpod — broadcasts running power via the BLE Cycling Power service (the de-facto standard for indoor running). Other major footpods (COROS Pod 2, Garmin RD Pod) compute power on the watch and don't expose a BLE power characteristic.

Cycling Power

Standard

Any BLE Cycling Power Profile sensor (pedals, crank, hub): Favero Assioma, Garmin Rally/Vector, 4iiii, SRAM/Quarq, Stages, Power2Max, Rotor, Shimano, InfoCrank, Magene, XCadey, Sigeyi.

Switches & Gamepad

Vendor

BLE switches for shift up/down and play-button events during workouts: Zwift Click (encrypted handshake) and Cycplus BC2 (Nordic-UART). Gamepad support via Apple's GameController framework — note: gamepads pair via the system's Bluetooth settings (macOS or iOS), not via the in-app BLE scanner, then they show up automatically. Tested model: 8Bitdo Zero 2.

Fan

Vendor

Wahoo Kickr Headwind only — proprietary speed control characteristic. No generic BLE fan profile exists.

Climate

Standard

Any temperature/humidity entity exposed via Home Assistant (Aqara, Govee, Shelly, Eve, …) — bridge configured via HA URL + access token.

FTMS standard means it should work — but some manufacturers deviate from the spec. When in doubt, test once and pair if it sticks.

Credits & technologies

🔒Privacy & data

cellTrainer keeps your training data on your device. There is no cellTrainer server that receives your sensor readings, sessions or settings. For full details on what is stored locally and which optional third-party services (Garmin Connect, intervals.icu, HiDrive, Home Assistant) you can enable, see the full privacy policy.

Read the privacy policy →