FTMS Bluetooth for Fitness Equipment: A Developer’s Guide to the Fitness Machine Service

FTMS Bluetooth is the Bluetooth SIG’s standard Fitness Machine Service. A bike, rower or treadmill exposes one GATT service that streams speed, cadence, power and distance, and a Control Point lets an app set resistance or target power. Implement it correctly and mainstream training apps connect without a custom protocol.

This guide is written by the engineering team of Beijing Huamei Xuntong Technology Co., Ltd. (TouchVision), a manufacturer founded in 2012 that designs and builds industrial displays, embedded boards, HMI panels, industrial gateways and edge AI computers.

Key takeaways

  • FTMS Bluetooth is the Bluetooth SIG’s Fitness Machine Service 1.0, to be read together with Errata Correction 23224.
  • One service (UUID 0x1826) holds a feature characteristic, one data characteristic per machine type and optional control and status characteristics.
  • Apps request control through the Control Point, then set resistance, power or bike simulation, and receive a result code for every command.
  • Advertise only the features the hardware truly supports and test with several third-party apps, not just your own.
  • Self-powered machines need a controller that starts fast on generator power; the BTV-3P-FMC reports over FTMS and talks Modbus to the console.

What is FTMS Bluetooth and why does it matter?

FTMS Bluetooth is the Fitness Machine Service 1.0, a Bluetooth Low Energy GATT service published by the Bluetooth SIG that lets a fitness machine send training data to a phone, tablet or console and accept control commands back. It replaces the one-off protocols each maker used to invent.

The specification covers treadmills, cross trainers, step climbers, stair climbers, rowers and indoor bikes. For a manufacturer the attraction is simple: an app that already speaks the standard can work with your machine on day one. Kinomap, the French training-video platform, explains that integrating equipment used to be hard because every machine had its own protocol, whereas new equipment that implements FTMS is compatible with its app automatically. It adds that existing consoles often gain FTMS through a firmware update from the maker’s own app.

One compliance detail sits on the Bluetooth SIG page: anyone claiming conformance to version 1.0 must also apply Errata Correction 23224, so read the two documents together.

TouchVision BTV-3P-FMC self-powered fitness controller with FTMS Bluetooth module
The BTV-3P-FMC pairs a self-generating power-control module with a Bluetooth module that reports over FTMS.

How is the FTMS Bluetooth service structured in BLE GATT?

The service sits under one 16-bit UUID, 0x1826, and contains a feature characteristic, one data characteristic per machine type, and optional control and status characteristics. An app reads the features first, then subscribes to the data that matches the machine.

CharacteristicUUIDRole
Fitness Machine (service)0x1826Container for all characteristics below
Fitness Machine Feature0x2ACCRead: which data fields and target settings the machine supports
Treadmill Data0x2ACDNotify: speed, incline, distance and related fields
Rower Data0x2AD1Notify: stroke rate, stroke count, pace, power and related fields
Indoor Bike Data0x2AD2Notify: speed, cadence, power, resistance and related fields
Training Status0x2AD3Read/notify: idle, warming up, workout and similar states
Supported Resistance Level Range0x2AD6Read: minimum, maximum and step of resistance
Fitness Machine Control Point0x2AD9Write/indicate: commands from the app and their results
Fitness Machine Status0x2ADANotify: changes such as a new target or a stop

UUIDs are taken from the Bluetooth SIG assigned-numbers list. Data characteristics use flag bits at the start of each packet to say which optional fields follow, so a simple machine can send only what it measures. A rower that has no heart-rate sensor, for example, leaves that flag clear rather than sending zeros.

How does an app control resistance through FTMS Bluetooth?

The app writes an operation code to the Control Point, the machine replies with an indication giving the result, and the machine then reports the change through Fitness Machine Status. Control is granted only after the app has requested it.

A typical session runs like this. The app connects, reads the feature characteristic and the supported resistance range, and enables notifications on the relevant data characteristic and indications on the Control Point. It sends a Request Control command; the machine accepts or rejects it. From then on the app can send commands such as Start or Resume, Set Target Resistance Level, Set Target Power or, on bikes, Set Indoor Bike Simulation Parameters, which carry gradient and wind values for virtual rides. Each command is answered with a response code, so the app knows whether the machine actually applied it.

Two design rules save a lot of field complaints. First, only advertise in the feature characteristic what the hardware can truly do: if resistance is set in coarse steps, say so in the supported range. Second, make target changes smooth on the motor or magnet side, because a sudden jump in resistance feels like a fault to the rider.

How does FTMS compare with other ways to connect a machine?

FTMS Bluetooth is the open, phone-friendly route; a private BLE protocol locks the machine to its own app; ANT+ FE-C is an alternative standard common on cycling head units; and a wired bus such as Modbus links the controller to the console inside the frame. Many machines combine two of these.

OptionWho can connectEffort for the makerTypical use
FTMS BluetoothAny app that implements the standardImplement and test against the published specificationBikes, rowers, treadmills connected to training apps
Proprietary BLE serviceOnly the maker’s app or partners given the documentationWrite and maintain both sides; each partner needs integrationClosed ecosystems, legacy products
ANT+ FE-CDevices and apps that support ANT+Separate radio stack and certificationCycling computers and trainers
Wired bus (for example Modbus)The machine’s own console boardSimple; internal onlyLink between resistance controller and display

What should a manufacturer check before release?

Treat FTMS Bluetooth as a product feature with acceptance criteria: correct flags and units, stable notifications, reliable control, and a qualified Bluetooth design. Test with several real apps, not only your own.

  • Feature bits match reality: every advertised field and target is implemented and tested.
  • Units and scaling: speed, distance, power and resistance use the resolutions defined in the specification.
  • Regular notifications: data arrives at a steady interval while the user exercises and stops cleanly at rest.
  • Control Point responses: every command returns the correct result code, including “not supported”.
  • Reconnection: the machine recovers when a phone leaves and returns mid-session.
  • Multi-app testing: try several mainstream training apps and at least one generic BLE scanner.
  • Qualification: plan Bluetooth SIG qualification and listing; the FTMS page links the test suite and conformance documents.
  • Firmware updates: provide a way to update the console so protocol fixes reach machines in the field.

How do self-powered machines handle FTMS Bluetooth?

A self-powered rower or bike runs its electronics from a generator turned by the user, so the Bluetooth link, resistance control and data logging must start quickly, run on little power and tolerate the supply disappearing when the workout ends. That shapes the whole controller design.

TouchVision’s BTV-3P-FMC is built this way. It combines a self-generating power-control module with a Bluetooth communication module on a TI Cortex-M0 class platform. The user’s motion powers the system; the controller sets resistance levels and measures speed, cadence and power; data goes to fitness apps over the standard FTMS profile and to the console board over Modbus. It is designed for rowing machines and exercise bikes, and the resistance curves, sensor inputs, Bluetooth naming and FTMS feature set can be customised.

Machines with a large touch console can pair that controller with an Android or Linux board such as the TV-RK3568 for streaming classes, or the cost-optimised TV-RK3308 with built-in audio. See our fitness equipment solutions for the full set, and our guide to infrared vs capacitive touch screens when choosing the console screen.

About TouchVision. TouchVision has designed and manufactured industrial touch displays, embedded boards, panel PCs, IoT gateways and edge AI computers since 2012, from standard models to full OEM/ODM projects. Standard products carry a 3-year warranty from delivery. For bespoke builds, see our custom fitness controller and board development on the TouchVision OEM/ODM site, or read about us.

Frequently asked questions

What does FTMS stand for?

FTMS stands for Fitness Machine Service, a Bluetooth Low Energy service defined by the Bluetooth SIG for treadmills, cross trainers, step and stair climbers, rowers and indoor bikes.

Which machines can use FTMS Bluetooth?

The specification covers treadmills, cross trainers, step climbers, stair climbers, rowers and indoor bikes, each with its own data characteristic.

Can an app change resistance over FTMS?

Yes, if the machine supports it. The app requests control through the Fitness Machine Control Point and then sends a target resistance level or target power.

Is FTMS the same as ANT+ FE-C?

No. Both let apps read and control trainers, but FTMS runs over Bluetooth Low Energy while FE-C is an ANT+ profile with its own radio stack.

Can an older machine get FTMS?

Sometimes. If the console hardware has a suitable Bluetooth radio, makers can add FTMS through a firmware update, often delivered through their own app.

Sources and standards referenced

Need a recommendation for your project?

Send your drawings, quantities and environment through our RFQ form and a TouchVision engineer will reply with a recommended configuration, quotation and sample plan. You can also call or WhatsApp +86 135 0532 6001.

Request a quote

Scroll to Top