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 artifact filtering (samples with > 5 % artifact rate are dropped to avoid feeding a sparse-strap noise burst into the scaling estimate). 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. Use the live trace to find your aerobic and anaerobic threshold breakpoints, pace intervals so the muscle actually recovers between reps, and verify whether you're really training in the zone your heart-rate target says you are.

Core body temperature + Heat Strain

Live core body temperature and Heat-Strain monitoring via the greenTEG CORE2 thermal sensor. cellTrainer reads CBT (°C), skin temperature, and the derived Heat-Strain Index (0–10) tick-by-tick over BLE — and forwards HR to the trainer or watch in parallel. Use it to gauge true thermal load (not just air temperature), pace heat-acclimation work, or know when today is not the day for VO₂max — based on physiology, not feel.

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.

Plays well with your platforms

intervals.icu, Garmin Connect, Strava, Dropbox, HiDrive cloud storage, a local folder, Home Assistant for room temperature/humidity — cellTrainer talks to all of them. Pick any combination as workout source (the app pulls scheduled workouts from intervals.icu, Garmin, Dropbox or HiDrive), as auto-export target (FIT, XLSX, CTD — toggle per format and per destination; Strava receives the FIT as a new activity in your feed), or both. No mandatory cloud, no vendor lock-in: configure once and the app fits whatever stack you already have.

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.

AI coach summary after each session

Optional 3–5-sentence post-session debrief: did you hit the workout target, what physiological effect was achieved (zone time, intensity factor, DFA α1 progression, HRV anomalies, heat strain), what stood out. Powered by your own OpenRouter key — pick any model (Claude, GPT, Gemini, …), keep cost and privacy in your hands. Report lands in the stop overlay, the .ctd archive, and the .xlsx export.

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, Strava, HiDrive, Dropbox, 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. Uploads only fire after you tap Save — stopping a session never sends anything on its own.

🧪FAQ

Curious how DFA α1 detects your aerobic threshold or how the ectopic-beat counter works under the hood? The FAQ explains the metrics in plain language.

Read the FAQ →

📡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.

Core body thermometer

Vendor

Supported sensor: greenTEG CORE2. Worn on the sternum, streams core body temperature, skin temperature and the derived Heat Strain Index (0–10) tick-by-tick over Bluetooth. cellTrainer reads CBT/skin-temp/HSI and forwards your HR through the sensor in parallel — one BLE link, two data streams.

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, Strava, HiDrive, Dropbox, Home Assistant, OpenRouter for the AI coach) you can enable, see the full privacy policy.

Read the privacy policy →