Skip to content

Any Bluetooth FTMS smart trainer

CrankPilot is built on FTMS, the open Bluetooth standard for fitness machines. If your trainer implements FTMS — and most smart trainers made in the last several years do — CrankPilot can pair with it, control it, and read it.

What FTMS is

FTMS — the Fitness Machine Service — is a standard Bluetooth profile that smart trainers use to report data and accept control commands. Because it is a shared standard, an app that speaks FTMS can drive trainers from many makers without a custom integration for each. That is the whole basis of CrankPilot's compatibility: it targets the standard, not a brand.

Trainers from Wahoo, Elite, Tacx, JetBlack, Saris, Magene and others implement FTMS. To be straight with you: CrankPilot was developed and tested against a Wahoo KICKR Core, so that hardware is the known-good case. Any other trainer that implements FTMS should pair and work the same way — but "implements FTMS" is the honest claim, not "tested on every model."

CrankPilot post-ride summary from an FTMS smart trainer, showing power, cadence and heart rate

Three modes, gated on what your trainer supports

When a trainer connects, it advertises which control features it has, and CrankPilot only offers the modes yours actually supports:

  • ERG — the app sends a target power and the trainer holds it. Needs power-target support.
  • Resistance — a fixed resistance level you set, for free rides and sprints.
  • Simulation (grade) — the trainer emulates a road gradient, with virtual gears on top.

Sensors and reconnection

Alongside the trainer, CrankPilot pairs up to five Bluetooth sensors at once — a heart-rate strap, a cycling power meter, a speed/cadence sensor and the Zwift Ride controller. If any of them drops mid-ride, it reconnects automatically, retrying with a backing-off delay up to ten times.

One low-level detail worth naming, since it trips up a lot of trainer apps: the FTMS data packet flags instantaneous speed with an inverted bit — a cleared bit means the value is present. Read it the obvious way and your trainer speed comes out wrong or missing. CrankPilot reads it correctly, so speed and distance are right across FTMS trainers.

Put your trainer to work

Coming soon to theApp Store

Requires a Bluetooth smart trainer · iPhone and iPad