Cadexa app review: a smart trainer coach built around FTMS, by the people who wrote it
A detailed, hands-on account of how Cadexa drives a trainer, coaches a workout and replays a route, written by its developer. Read it as a maker’s walkthrough with the limits spelled out, not as an independent verdict.
Ole BirkelandFounder, Cadexa
- Published
- 1 Nov 2026
- 6 min read
AI-generated imageReview · Physically tested by the Cadexa team. How we work.
Cadexa verdict
Cadexa does one thing deliberately well: it holds the watts, watches your heart rate and talks only when something matters. It is free, offline and account-free. It is also iPhone-only, Bluetooth-only, and has no custom workout builder yet.
Strengths
- ERG and simulation control over standard Bluetooth FTMS, no proprietary setup
- Heart-rate handling that respects lag, medication and clinician-set alerts
- Routes from GPX or TCX with smoothed, ramped gradient and named climbs
- Voice coaching that stays quiet until it has something to say
- Free, offline, no account; sessions sync to Strava with a map
Weaknesses
- iPhone only; no Android release yet
- Bluetooth only; ANT+ trainers and sensors need a Bluetooth path
- No custom workouts; the library is small by design
- No virtual world: routes are a profile on screen, not a 3D road
- Fastest to diagnose with developer mode on, which is not aimed at everyone
Who is writing this. Cadexa Reviews is published by the people who make the Cadexa app. This article is a hands-on walkthrough by the developer, who rides with it most days on a Wahoo KICKR CORE 2 (11-speed) with a Garmin fēnix Solar watch broadcasting heart rate over Bluetooth. It is honest about the limits, but it cannot be independent. Treat it as documentation with opinions.
Executive summary
Cadexa is an indoor-cycling coach for iPhone. It connects to any smart trainer that implements the Bluetooth FTMS standard, holds a target power in ERG mode during structured workouts, replays imported routes as gradient in simulation mode, and reads any Bluetooth heart-rate sensor. A voice coach speaks at the moments that matter and otherwise stays out of the way. Everything runs on the phone, offline; there is no account and no subscription.
The design goal was a small app that gets the trainer control and the heart-rate handling right, rather than a large platform. That is both its strength and its most obvious limitation: the workout library is short and there is no builder, no virtual world and no Android version.
Specifications
The full feature list is in the specification table below this article. The version described is 1.1.
Design and build quality
The app has four tabs: Home, Workouts, History and Profile. The ride screen is dark with large numbers: target power, current power with an on-target indicator, heart rate against its zone, cadence, and the interval structure as a bar chart. On route rides the panel shows the next 900 m of road coloured by gradient, the distance to the next kick and, if you have ridden the route before, a ghost of your best time.
Onboarding is three steps: goal, body and heart-rate numbers with estimates for anything unknown, then trainer and coach. A simulator is built in, so every screen can be tried without hardware.
Setup and installation
Pairing happens inside the app, not in iOS Settings. Devices → Trainer → Search scans for the FTMS service and the Cycling Power service and lists what it finds. Pick the trainer, pedal, and power and cadence appear on Home. Heart rate pairs the same way under Devices → Heart rate, and a watch set to broadcast heart rate shows up like a strap.
The one setup rule that matters: trainers grant control to a single app at a time. If the manufacturer app is still connected in the background, Cadexa receives control not permitted when it asks for control and says so. Closing the other app fixes it. Paired devices are remembered and reconnect automatically.
Connectivity and compatibility
Cadexa speaks Bluetooth FTMS for control, the Bluetooth Cycling Power Service as a read-only fallback for power and cadence, and the Bluetooth Heart Rate Service. It does not use ANT+. Over FTMS it runs the standard sequence, Request Control, Start, Set Target Power or Set Indoor Bike Simulation, Stop, and it waits for the trainer’s acknowledgement on every command, so a failure shows up as a message rather than as resistance that silently never changes. With developer mode on, every packet and acknowledgement is visible in a debug log, which is how we verify trainers.
On the KICKR CORE 2 used for this review, pairing, ERG targets, simulation gradient, power, cadence and the watch’s heart rate all work in daily use with app version 1.1. Those results are recorded, function by function, in the compatibility checker.
Wahoo Fitness
KICKR CORE 2
- Trainer type
- direct-drive
- Maximum resistance
- 1800 W
- Maximum simulated gradient
- 16%
A legacy Wahoo service is recognised but not used while FTMS works. Whether a specific trainer has been verified with the app, function by function, is tracked in Cadexa Gear Compatibility, which is deliberately separate from what the manufacturer declares.
Performance and functionality
ERG mode. The engine sends targets as a percentage of your FTP resolved to watts, and clamps every target between 30 W and the lower of 800 W or twice your FTP, so a typo in a workout cannot hurt you. A ±50 W offset is available during a block. Timing is wall-clock based, so background throttling cannot drift an interval.
Heart-rate governance. If you turn on Adjust targets to heart rate, a deterministic governor trims the ERG target 3 % per step (to a maximum of 15 %) while your 30-second average heart rate sits above the zone ceiling, and on heart-rate-guided endurance blocks raises it 2 % per step (to 10 %) when you are under the floor. It never moves in the first 90 seconds of a block or more than once every 30 seconds, it ignores the first two minutes of a workout and the 75 seconds after a step up, and it never reacts to a single sample. The coach announces every change. Ramp tests are never governed.
Routes. Import a GPX or TCX from Strava, Komoot, RideWithGPS or a bike computer. The file is resampled to 10 m, spikes are removed with a median filter, elevation is smoothed with a 60 m moving average, and gradient is computed over ±30 m and clamped to ±25 %. The trainer receives gradient scaled by your effort setting, clamped to −6 … +14 %, and ramped no faster than 1 % per second uphill and 3 % per second downhill, so a 0 to 10 % transition never arrives between two pedal strokes. Virtual speed comes from a rider model that also supplies the simulation parameters, so the trainer and the speed never disagree; the wind coefficient is about 0.20 kg/m on the hoods rather than the FTMS specification’s 0.51 example, which would feel like a permanent headwind. Climbs are named from the route file or a one-time place lookup at import, and the coach calls them by name.
Heart rate, done carefully. The app keeps four numbers apart: an estimated maximum, the highest heart rate you have actually observed, an optional training alert, and a hard limit that exists only when you or a clinician configured one. If you take medication that lowers heart rate, zones follow your observed peak instead of an age formula. Heart Mode adds a pre-ride check-in, an I don’t feel right control that eases the trainer to 40 % of FTP at once, earlier and calmer cues, and a plain-text report you can share. It never restricts a workout or invents a limit, and the app is explicit that it is not a medical device.
After the ride. Sessions store mean-max power for 1, 5, 8, 12 and 20 minutes; the app estimates FTP from the best window of the last six weeks with a confidence level and offers a one-tap update. Strava sync uploads TCX with power, heart rate and cadence, and routes carry a map. A share card can take your own photo as the background.
Strengths and weaknesses
See the verdict box above. The short version: the control and heart-rate logic are conservative and transparent, and that is the point. The trade is breadth.
Comparison with alternatives
Cadexa is not trying to be a virtual world or a marketplace of plans. If you want a 3D road, group rides and racing, the big platforms do that and Cadexa does not. If you want a prescribed plan with hundreds of workouts, a dedicated training platform is the better tool today. Cadexa fits riders who want structured intervals in ERG, real routes as gradient, heart-rate handling that respects how their heart actually responds, and nothing to pay for.
Who should buy this product?
Anyone with an FTMS smart trainer and an iPhone who trains by power or heart rate and prefers a quiet coach. It is especially suited to riders returning from a cardiac event or training under medical advice, because of how it treats heart-rate limits. It is not for Android users yet, and not for riders who want to build their own workouts.
Final recommendation
Install it, pair the trainer, and ride a 4 × 4. If the first interval feels right, the rest of the app will too. Then tell us what trainer you used, so the compatibility record gets one entry longer.
Where to buy
Cadexa is free on the App Store. There is no affiliate relationship to disclose for our own app; the link below goes straight to Apple.
Cadexa for iPhone specifications
Manufacturer claims with sources. Independent measurements appear in a separate column when we have them.
| Specification | Manufacturer claim | Source |
|---|---|---|
| Other | ||
| Platform | iPhone (iOS). No Android release. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Price Model | Free. No account, no subscription, no in-app purchases. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Trainer Control | Bluetooth FTMS: target power (ERG) and indoor bike simulation (gradient, rolling and wind resistance). | Manufacturercadexa.org Checked 1 Nov 2026 |
| Power And Cadence | FTMS Indoor Bike Data; Bluetooth Cycling Power Service as a read-only fallback. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Heart Rate | Bluetooth Heart Rate Service: chest straps and watch broadcasts. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Ant Plus | no | Manufacturercadexa.org Checked 1 Nov 2026 |
| Workouts | 4 × 4 VO2max, 30/15 intervals, Threshold, Sweet Spot, Zone 2 endurance, Recovery ride, Max heart rate test, free ride; 2 runs and 4 walks coached by heart rate. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Routes | GPX and TCX import; gradient simulation with ramped changes; named climbs; ghost of your best time. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Voice Coaching | Spoken cues, calm or energetic personality, works in the background. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Offline | yes (Strava sync and route import need a connection) | Manufacturercadexa.org Checked 1 Nov 2026 |
| Strava Sync | TCX upload with power, heart rate, cadence; routes with map. | Manufacturercadexa.org Checked 1 Nov 2026 |
| Custom Workouts | no (effort scaling and free ride only) | Manufacturercadexa.org Checked 1 Nov 2026 |
| Version | 1.1 | Manufacturercadexa.org Checked 1 Nov 2026 |
Where to buy the Cadexa for iPhone
Affiliate linksApple App Store
Live price not tracked · In stock
Prices change often. We only show a price when it was checked within the last 7 days; otherwise we send you to the retailer to see the current one.
About the author
Ole BirkelandFounder, Cadexa
Builds the Cadexa indoor-cycling app in Bergen, Norway, which means living inside the Bluetooth FTMS specification and watching how trainers actually respond to it. Writes the technology explainers and runs the compatibility tests.