Project
- Stars
- Started
- Issues
- License
Ride a GPX route with browser-controlled resistance
Web Bluetooth Bike Trainer follows an imported GPX route and changes a compatible KICKR’s resistance with the terrain. Its browser interface shows the route, elevation profile and live cycling measurements.
This experimental app can produce abrupt slope changes and does not account for rider or bike weight. Connecting resets trainer control and sets wheel circumference to 2,200 mm. Exact model support is inferred from Wahoo’s FTMS documentation; upstream names KICKR without identifying its generation.
wklenk; map data © OpenStreetMap contributors
Map data: Open Database License; screenshot: Unknown
Changes: Saved as lossless WebP; map attribution and image content unchanged.

Wahoo KICKR trainers and ELEMNT bike computers
wklenk; map data © OpenStreetMap contributors
Map data: Open Database License; screenshot: Unknown
Changes: Saved as lossless WebP; map attribution and image content unchanged.
How did it go? Tips, problems, questions…
Ride a GPX route with browser-controlled resistance
Web Bluetooth Bike Trainer follows an imported GPX route and changes a compatible KICKR’s resistance with the terrain. Its browser interface shows the route, elevation profile and live cycling measurements.
This experimental app can produce abrupt slope changes and does not account for rider or bike weight. Connecting resets trainer control and sets wheel circumference to 2,200 mm. Exact model support is inferred from Wahoo’s FTMS documentation; upstream names KICKR without identifying its generation.
wklenk
On GitHub
Feedback
How did it go? Tips, problems, questions…