Common Problems

Solutions for issues that come up when working with workout files, ride recordings and platform uploads. For Bluetooth and sensor issues, see the main Troubleshooting page.

Workout files

Planned workout vs completed activity

FIT files come in two types. A planned workout (.fit) contains step targets and durations — this is what VeloLoop imports. A completed activity (.fit) contains recorded ride data — this is what VeloLoop exports after your ride. If VeloLoop says “this looks like an activity, not a workout”, you have the wrong file type.

Unsupported workout features

Some features from other platforms cannot be imported. Distance-based intervals get a 10-minute placeholder. Zone-based power targets appear as free-ride. Cadence-only targets are not supported. Simplify the workout or set targets manually after import.

FTP conversion seems wrong

ZWO and MRC files use FTP percentages. Double-check the FTP value you entered during import. You can re-import with a corrected FTP at any time — the original file is never modified.

Workout has too many steps

VeloLoop supports a maximum of 200 expanded steps (after ramp expansion and repeat unrolling). Simplify the workout by reducing repeat counts or combining similar intervals.

Ride recording

Missing distance on indoor activities

VeloLoop now includes estimated flat-road virtual distance and speed in FIT files, derived from power using a physics model. These are estimates based on assumed road and rider parameters, not GPS-measured values. If your platform shows zero distance, check that virtual distance is enabled in VeloLoop settings (Recording > Virtual Distance).

FIT file not found

Ride files are saved to Documents/VeloLoop/Rides in your user directory. If you cannot find files there, check that the ride completed normally. If VeloLoop crashed during a ride, it recovers the data from a CSV sidecar on next launch.

FIT export failed

If the post-ride screen shows an export error, click “Retry FIT Export”. VeloLoop keeps the raw CSV data and can regenerate the FIT file. The CSV sidecar is never deleted.

Platform uploads

Upload rejected as duplicate

The platform already has this activity. This usually means a previous upload succeeded even if VeloLoop lost track of the confirmation. Check your activities on the platform.

Upload rejected as corrupt

Make sure you are uploading the .fit file, not the .csv sidecar. If the FIT file is genuinely corrupt, use VeloLoop’s “Retry FIT Export” to regenerate it from the CSV backup.

Activity type shows as generic cycling

Set the activity type to “Virtual Ride” or “Indoor Cycling” on the platform. VeloLoop sets sport_type to VirtualRide in the FIT file, but some platforms may not read this automatically.

Platform shows zero distance

VeloLoop calculates estimated virtual distance and writes it directly to the FIT file. Platforms should display this value automatically. If a platform still shows zero, check that virtual distance is enabled in VeloLoop settings and that the activity type is set to “Virtual Ride” or “Indoor Cycling” on the platform. This does not affect training metrics.

Strava connection

Connect button not visible

The Strava integration requires API credentials to be configured. If the button does not appear, the feature may not be active in your installation. You can always upload manually via Strava’s website.

Connection expired or disconnected

Strava access tokens expire periodically. VeloLoop refreshes them automatically. If auto-refresh fails, disconnect and reconnect via the post-ride panel.

Auto-upload did not trigger

Auto-upload only runs when the feature is enabled in VeloLoop settings AND your Strava account is connected AND the ride completed successfully. Check all three conditions. You can always upload manually using the Upload button.

Still stuck?

If your problem is not listed here, check the main Troubleshooting page for Bluetooth, display and installation issues. You can also get in touch via the Contact page.