Connected Fitness Devices
This cluster covers the live path. The stored path — history, trends, and everything after the workout — lives in Integration guides and Architecture; the camera as a sensor lives in AI Motion. Spec identifiers here are verified against the Bluetooth SIG’s published assigned numbers; wire formats belong to the specs themselves, which each page links by name.
Straps and sensors
The standard GATT profiles that make one integration work across vendors.
- Connect a Bluetooth Heart Rate Monitor to Your App (2026)One BLE integration covers chest straps and armbands from any vendor: scan for service 0x180D, subscribe to 0x2A37, read 0x2A38 for placement.Verified August 14, 2026
- Reading Cycling Power, Cadence, and Speed Sensors in an AppCycling Power 0x1818, Cycling Speed and Cadence 0x1816, Running Speed and Cadence 0x1814: one subscription pattern, three services, and the dedupe trap.Verified August 14, 2026
Machines: FTMS
One Bluetooth service covers treadmills, bikes, rowers, and more — data in, and sometimes control out.
- What Is FTMS? The Bluetooth Fitness Machine Service (2026)FTMS is Bluetooth service 0x1826: six machine-data characteristics, feature and range characteristics for discovery, a control point, and a status channel.Verified August 14, 2026
- Treadmill App Integration: Reading FTMS Treadmill DataRead Treadmill Data 0x2ACD over FTMS, discover speed range 0x2AD4 and inclination range 0x2AD5 first, and treat remote control as a per-model question.Verified August 14, 2026
- Smart Bike Trainer Integration: FTMS and Cycling PowerSmart trainers often expose Indoor Bike Data 0x2AD2 over FTMS and the Cycling Power service 0x1818 at once. How to discover capability and pick one source.Verified August 14, 2026
- Getting Rowing Machine Data Into an App (2026)Rower Data 0x2AD1 under FTMS 0x1826 is the standard path for ergometer metrics, but some vendors document their own interfaces and those docs win.Verified August 14, 2026
The watch as a sensor
Live workout data from the wrist — a session on watchOS, a platform service on Wear OS.
- Live Heart Rate From Apple Watch in Your App (2026)HealthKit is a store, not a stream. Apple documents high-frequency heart rate during an HKWorkoutSession, plus when a chest strap wins instead.Verified August 14, 2026
- Wear OS Health Services for Live Workout Data (2026)ExerciseClient for rapid updates during a workout, PassiveMonitoringClient for infrequent ones, and when to pair a BLE sensor directly instead.Verified August 14, 2026
Protocols, platforms, and proof
Radio choices, browser reach, iOS specifics, and how to test hardware you cannot script.
- ANT+ vs Bluetooth for Fitness Sensors (2026)The ANT+ certification program is reported to have wound down in 2025. What that changes for new apps, and where ANT+ hardware still matters.Verified August 14, 2026
- Web Bluetooth for Fitness Apps in the Browser (2026)Chrome 56+, Edge 79+, Opera 43+, Samsung Internet 6.2+, and not Firefox or Safari. What that support matrix means for a browser-based fitness product.Verified August 14, 2026
- Core Bluetooth for Fitness Devices on iOS (2026)CBCentralManager, the Info.plist key your app crashes without, Apple's no-subclassing rule, and a thin BLE layer you can actually test in CI.Verified August 14, 2026
- Testing Bluetooth Fitness Device Integrations (2026)A physical device is the only reliable BLE test target. Build a seam so recorded notification streams drive your pipeline in CI, plus a manual matrix.Verified August 14, 2026
Byte layouts, from the SIG’s own files
The Bluetooth GATT reference lays out 44 characteristics field by field — type, size, offset, unit and the Flags bit that makes each field present — as the Bluetooth SIG’s GATT Specification Supplement files publish them, and lists 97 in all. The characteristics these guides name by UUID:
- Heart Rate Measurement0x2A37 · 5 fields
- RSC Measurement0x2A53 · 5 fields
- CSC Measurement0x2A5B · 3 fields
- Cycling Power Measurement0x2A63 · 12 fields
- Treadmill Data0x2ACD · 19 fields
- Cross Trainer Data0x2ACE · 21 fields
- Step Climber Data0x2ACF · 13 fields
- Stair Climber Data0x2AD0 · 13 fields
- Rower Data0x2AD1 · 17 fields
- Indoor Bike Data0x2AD2 · 16 fields
- Supported Speed Range0x2AD4 · 3 fields
- Supported Inclination Range0x2AD5 · 3 fields
- Supported Resistance Level Range0x2AD6 · 3 fields
- Supported Heart Rate Range0x2AD7 · 3 fields
- Supported Power Range0x2AD8 · 3 fields
Frequently asked questions
- Why do standard Bluetooth GATT profiles matter for a fitness app?
- Because they turn a per-vendor integration problem into a per-profile one. A heart-rate strap that implements the standard Heart Rate service looks the same to your app whether it costs twenty dollars or two hundred, and a treadmill that implements the Fitness Machine Service exposes the same characteristics as a rower from a different brand. You write the subscription flow once per profile — scan, connect, subscribe to notifications — and inherit every compliant device. The catch is that compliance varies at the edges, which is why this cluster treats capability discovery and per-model testing as first-class topics rather than afterthoughts.
- Should my app read live device data over Bluetooth or pull it from HealthKit and Health Connect?
- Both, for different jobs. The on-device health stores are records of what already happened — samples and summaries written after the fact — and they are the right source for history, trends, and data from apps you do not control. Live coaching needs a live source: a BLE subscription to a strap or machine, a workout session on watchOS, or Health Services on Wear OS. The practical architecture is a live path for the in-session experience and the store as the durable system of record, with deduplication rules so the same workout counted once.
- What changed with ANT+ and does it affect a new fitness app?
- Per widely-quoted announcements from the ANT+ organization — which we grade as reported, since we could not fetch the official page directly — the ANT+ membership and certification programs were discontinued at the end of June 2025, with device profiles and documentation reportedly remaining available and existing devices unaffected. For a new app in 2026 the practical reading is straightforward: Bluetooth Low Energy is the default radio for fitness sensors, phone-side BLE APIs are first-class on both platforms, and ANT+ matters mainly where an existing hardware ecosystem carries it. The deadline tracker follows this one as it evolves.
Independent comparison, last reviewed August 14, 2026. Pricing, rate limits, and feature availability change often — confirm current details in each provider’s official documentation before you commit. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with, endorsed by, or sponsored by any product listed here.