Stride

Search Documentation

Search for articles, guides, and more

Indoor Training in the App

The Stride apps for iPhone and Android include a workout player for indoor riding. It connects to your smart trainer, power meter and heart rate strap over Bluetooth, drives the trainer through the workout, records every second of the session and uploads it back to Stride as a normal activity. You do not need a second app or a separate training platform to ride a Stride workout indoors.

What you need#

  • The Stride app on an iPhone or an Android phone, with Bluetooth switched on.
  • A structured ride workout. Anything from the workout library, your own workouts, or a session Stride AI built for you. The player is offered for rides that have segments, so unstructured rides and other sports do not show it.
  • A smart trainer if you want the resistance set for you, or a power meter if your trainer cannot be controlled. Either one gives you power to ride and record against.
  • Optional sensors: a heart rate strap, a cadence sensor, and CORE body temperature sensors are all read and recorded.

Everything connects over Bluetooth. Stride controls trainers through FTMS, Wahoo's own protocol and ANT+ FE-C carried over Bluetooth, and the Android app adds Kinetic Smart Control. A USB ANT+ stick is not used, so a sensor that only speaks ANT+ will not appear.

Starting a ride#

  1. Open the workout: tap a planned session on your calendar, or find a workout in the library.
  2. Tap Start Workout at the bottom of the workout page. The player opens full screen.
  3. Connect your trainer and sensors from the devices icon in the top bar. The play button stays disabled until at least one device is connected, so the ride cannot start recording nothing.
  4. Press play. The trainer takes the first target and the timeline starts.

Connecting your trainer and sensors#

The devices sheet scans as soon as it opens. Wake your trainer first by turning the cranks, and keep the phone near the bike. Each row shows what the device is, its battery level if it reports one, and its live reading once connected, so you can confirm the right strap or meter before you start.

On Android, the first scan asks for the Nearby devices permission. On Android 11 and older, location permission is also needed before Bluetooth scanning will return anything, which is a platform requirement rather than something Stride uses your location for.

Once something that reports power is connected, a status card tells you whether Stride actually has control of the trainer, which protocol it is using and which modes the trainer accepts. This is worth a glance before you start: a trainer that streams power but refuses control looks identical until the first interval.

Trainer modes#

ERG is the default, and most riders never change it. If you would rather work the intervals on your own gears, open the trainer mode sheet from the badge next to the transport controls. Modes your trainer cannot do are greyed out rather than hidden.

  • ERG holds the workout's target watts for you. Your gears and cadence do not change the number.
  • Slope makes the trainer hold a gradient and leaves the power to you, exactly like riding outdoors. The target stays on screen as something to chase. On Android you can turn on smart gears and the gradient follows the workout's structure for you.
  • Gears (iPhone) gives you 24 virtual gears on screen, each one a gradient. Useful on a single-speed or fixed-gear setup, or if you would rather shift on the phone than on the bike.
  • Level is a fixed brake setting, like a classic dumb trainer. Every trainer supports it, so it is the fallback when nothing else works.

In the manual modes a shifter row appears under the numbers, with easier and harder either side of the current gradient, gear or level. On iPhone, slope and gears with a Wahoo trainer also ask for your rider and bike weight, because a gradient only becomes a force once the trainer knows what it is pushing uphill.

During the ride#

  • The numbers: time left in the interval, power, cadence and heart rate, the current target, your average for the interval, and what is up next. Power is shown as a 3 second average when a power meter is connected. Left and right balance and core temperature appear when a sensor provides them.
  • Cadence targets: when the workout prescribes a cadence range, the cadence turns amber while you are outside it and green while you are in it.
  • Audio cues: a countdown tick in the last seconds of an interval, then a chime that rises when the next block is harder, falls when it is easier and stays level when the effort is unchanged. Your music is ducked briefly around each cue rather than stopped.
  • Intensity: scale every target between 50% and 150% without editing the workout. Useful when you are tired, ill, or the FTP the workout was built against is out of date.
  • Match: when a trainer and a separate power meter are both connected, Stride biases what it asks the trainer for so that your power meter reads the target. Leave it on if you want your indoor numbers to line up with your outdoor ones.
  • Skip and pause: the arrows either side of play jump to the next interval or back to the start of the current one. Pausing mid-ride also surfaces a Finish and Upload button if you want to end early and keep what you have done.
  • Screen and background: the screen is kept awake for the whole session. On iPhone the ride keeps running if you leave the app, with a Live Activity on the lock screen and Dynamic Island. On Android, leave the player on screen while you ride.

Finishing and uploading#

When the last interval ends, or when you close the player part way through, choose Finish and Upload (or Save and Finish if you stopped early). Stride writes the session to a FIT file and hands it to an upload queue that is stored on the phone, so a flaky connection, a backgrounded app or a crash does not lose the ride. It keeps retrying until the upload succeeds.

The player waits for Stride to import the ride and then opens it, so you land straight on the activity page with the usual analysis, training load and power curve. You can leave the screen while it uploads and the ride will still arrive. On iPhone the workout is also written to Apple Health.

If you would rather the session was not kept at all, choose Discard when you close the player.

Troubleshooting#

  • The trainer does not appear. Turn the cranks to wake it, and close anything else that might be holding it: most trainers allow only one app or head unit to control them at a time. Then tap Scan again.
  • It connects but ignores the targets. Check the status card in the devices sheet. If it says trainer control is unavailable or has failed, the trainer is streaming power but not accepting commands. You can still ride the workout in level mode or on your own gears, and it will record normally.
  • Trainer and power meter disagree. Connect both and leave Match on. Stride records your power meter as the source of truth and adjusts what it asks the trainer for.
  • ERG feels like it is stalling. Keep your cadence up as the target rises and change into an easier gear before a hard interval. If the trainer still bogs down, switch to slope for that session.
  • The ride has not appeared in Stride. Reopen the app and leave it in the foreground for a moment. The queued upload resumes on its own, and the ride is safe on the phone until it lands.
  • Still stuck. On iPhone, the stethoscope icon in the devices sheet produces a Bluetooth log you can share with support, which shows exactly what your trainer advertised and how it answered.

Other ways to ride indoors#

The in-app player is not the only option. Scheduled cycling workouts can be pushed to Zwift and Rouvy, or to a head unit such as an ELEMNT or Karoo, from the integrations you have connected, and any cycling workout can be exported as a .zwo file from the workout library. Whichever route you take, the completed ride comes back to Stride and is analysed the same way.