WATTSOEVER
DOWNLOAD
DOCUMENTATION

FROM INSTALLER TO FIRST RIDE

READ-AHEAD DOCSIN DEVELOPMENT

Wattsoever has no public release yet — these pages describe the app as it will ship. Sections marked PLANNED cover features that arrive after the first builds.

GETTING STARTED

FOUR MINUTES TO YOUR FIRST RIDE.

01

PROFILE

Create a rider profile: name, weight, FTP (estimate if unsure — the guided ramp test can propose an update), optionally LTHR. No e-mail, no password. Multiple riders share one machine by just clicking their profile.

02

CONNECT

Wake the trainer (spin the pedals), open Devices and scan. After the first connection, the app attempts to reconnect trainer and HR sensor automatically. Passive green/grey indicators show connection status. Close other training apps before riding.

03

WORKOUT OR ROUTE

Search 28 built-in workouts or filter by TSS, intensity and duration. Open Workout Info, then Route Select to choose from visual route cards with a top-down route and elevation profile before Start. A new GPX import normally fetches Mapzen elevation data through OpenTopoData; the resulting profile is processed and stored locally.

04

RIDE

Press start. ERG holds the target watts and ignores gears; in SIM you shift like outside. Pause, bias and skip live in the cockpit. Every ride lands automatically in your history as a FIT file.

WORKOUT LIBRARY IN DEVELOPMENT

CHOOSE, ADAPT, THEN RIDE.

FIND A SESSION

The library contains 28 built-in workouts. Search by name or description, or filter by duration, TSS and intensity factor. Ramp tests have no fixed TSS or intensity prediction.

MAKE IT YOURS

Create a workout, or duplicate and edit one for your profile. Arrange steps and repeated intervals with power targets and optional target cadence. Timed coach notes appear during the ride.

PICK A ROUTE

Open Workout Info, choose Route Select, inspect route cards with elevation profiles and top-down route drawings, then Start. The route supplies the visual road and GPS track while the workout sets ERG targets.

GUIDED RAMP FTP TESTIN DEVELOPMENT

Ride seated, stop when you cannot continue, then review the automatic FTP estimate and cooldown. The estimate depends on a valid effort and is not a guaranteed measurement.

DETAILS

Read the short instructions before starting. The warm-up can be skipped. The focused cockpit marks the start and end of the test without route views.

COMPATIBILITY

BUILT FOR BLE FTMS TRAINERS.

Wattsoever controls trainers via FTMS (Fitness Machine Service) over Bluetooth. Support depends on the trainer's actual FTMS behavior and firmware.

The connection and ride logic has been tested with simulated devices. A physical Wahoo KICKR has not yet been validated for this build.

Heart rate comes from any standard BLE strap (Polar, Garmin, Wahoo, …). Cadence is read from the trainer.

One controller at a time. Your trainer accepts several connections, but only one app may control it — close other training apps.
Never pair at OS level. Wattsoever connects directly; OS pairing blocks the connection, especially on Windows.
Gradient limits are hardware. A KICKR simulates up to ~20% (CORE: 16%) and can't push you downhill — no motor.
Flaky Bluetooth? Built-in Intel adapters behave best; cheap USB dongles are the most common source of dropouts.
RIDE SETTINGS

EVERY KNOB, EXPLAINED.

TRAINER DIFFICULTY

0–100 % — DEFAULT 100 %

On route rides, 100 % makes a 10 % climb feel like 10 %. At 50 %, it feels like 5 %. Lower it if you want an easier gear on steep climbs. Your speed and distance still use the real slope and your power. This setting does not affect ERG workouts.

WORKOUT INTENSITY

BIAS 50–150 %

Every workout target is stored as %FTP, so a new FTP rescales your whole library automatically. The intensity default in your profile sets the starting bias of every workout; during the ride the DIFF −5 % / +5 % buttons adjust it live — on a rough day, finishing at 95 % beats quitting at 100 %.

SPEED & RIDER PHYSICS

CALCULATED, NOT MEASURED

The speed a trainer reports depends on the gear you happen to be in — it means nothing, so it is never used. Wattsoever computes real-world speed from your power against gravity, rolling resistance and air drag, using your profile's weight, bike + kit weight, CdA and Crr. Downhill you coast and accelerate at 0 W just like outside — the trainer just can't push your legs (no motor), so descents feel light.

CUES & UNITS

SMALL BUT HANDY

Audio cues beep a 3-2-1 countdown before the next segment so you never miss an interval start. Units switch between metric and imperial. Both live in your profile — every rider on the machine keeps their own preferences, including trainer difficulty and intensity default.

FILES & FORMATS

OPEN FORMATS IN. OPEN FORMATS OUT.

WORKOUTS

BUILT-IN — CUSTOM

Choose from 28 included workouts, create one or edit your own copy. Power targets use %FTP and adapt when your profile FTP changes. ZWO/MRC file import is not available in the current app.

ROUTES IN

GPX

From Komoot, Strava, RideWithGPS or any planner. Elevations come from a global terrain dataset (Mapzen, via opentopodata.org) and are smoothed before the ride.

RIDES OUT

FIT + SQLITE

Every ride is written second-by-second to a local database and a standard FIT file — importable everywhere, with NP, IF and TSS computed for you.

WHAT HAPPENS TO YOUR GPX

No black box — this is the exact import pipeline:

GPX ELEVATIONS DISCARDED TRACK POINTS KEPT
1

READ & DISCARD

Every track point is read; the elevations inside the GPX are discarded — planners mix elevation sources of wildly varying quality, so all routes are rebuilt from one consistent source.

UNEVEN PLANNER SPACING EVEN 5 M GRID
2

RESAMPLE

The track is resampled to an even 5 m grid along the route — one consistent spacing for everything that follows.

SAMPLED EVERY 20 M MAPZEN TERRAIN — ~30 M RES
3

FRESH ELEVATIONS

Fresh elevations come from the Mapzen terrain dataset (via opentopodata.org), sampled every 20 m — the data is ~30 m resolution — and interpolated back onto the 5 m grid.

RAW: ±2 M NOISE = ±7 % GRADE SWING GAUSSIAN σ 100 M
4

SMOOTH

A Gaussian filter (σ 100 m) smooths the profile. Deliberate: raw terrain data is noisy — a mere ±2 m error over 30 m would swing the grade by ±7 %, resistance would jump every second and total climb would be massively overestimated. On a flat 82 km ride the raw data sums to 1,205 m of phantom climbing; smoothed, it is 256 m (the barometric recording: 246 m).

2% 6% 1% 9% CLAMPED TO ±25 %
5

GRADES

Grades are derived per 5 m from the smoothed profile and clamped to ±25 % — this gradient coloring is what you see on the route profile.

LOCAL DB 2D ROUTE
6

STORE

Total climb and min/max elevation come from the smoothed profile; a rise counts once it exceeds 3 m, so leftover ripples add nothing. The same rule drives the climbed/remaining meters while you ride. The route and its profile are stored locally for riding without internet; map imagery is not bundled with the import.

Total climb is checked against published figures for classic climbs (Alpe d'Huez, Mont Ventoux, Tourmalet, Galibier, Stelvio) and the 227 km Ötztaler Radmarathon: all within ±3 %. Your planner's number can still differ a little, since every tool uses its own terrain data and filter. Routes imported with an older app version are recalculated automatically the next time the app starts online; the route itself stays the same. The trainer only ever receives the grade, scaled by your difficulty setting.

MAPS

ONE DARK MAP. YOUR OWN SOURCES ON TOP.

The ride view draws a dark vector map made for the cockpit: OpenFreeMap tiles (© OpenMapTiles, data © OpenStreetMap contributors) with relief and contour lines from Mapzen terrain. The app loads only the map tiles it shows and keeps them on your computer; it never downloads map areas in advance. 3D buildings appear with FLAT ground and the BIRD camera, because on 3D terrain they would float above slopes.

CUSTOM MAP SOURCES

Want satellite imagery or another map style? Add a raster tile service under Settings → MAPS: a name, the https tile URL with {z}/{x}/{y} and your key, and the credit line the provider requires. The app loads these tiles directly from the provider and does not cache them. It is your account, so the provider's terms and limits apply. Use only sources whose terms allow this kind of use.

PROVIDERS WITH OWN-KEY ACCESS

Plans and terms change — check them yourself before adding a source. Wattsoever is not affiliated with these providers.

OFFLINE RIDES IN DEVELOPMENT

SAVE THE ROUTE. KEEP RIDING.

A successful GPX import saves the route and elevation profile locally, so a route ride or workout on that route can continue without internet. A new import normally needs an online elevation query and caches the terrain along the route. The map is available offline in 2D wherever you have viewed it before; the app never downloads map areas in advance. If the connection or required tiles are missing during a ride, the app switches to a tile-free 2D drawing of the route. Custom map sources always need internet.

STRAVA & KOMOOT PLANNED

YOUR ACCOUNTS. YOUR CONNECTION.

There is no Wattsoever server between you and these services — you sign in to the real strava.com and komoot.com in an assisted window inside the app; the session stays on your machine. Finished rides upload to Strava as FIT, Komoot routes export as GPX and land straight in your library. Both integrations are optional — without them everything simply stays local.

HOW IT WILL WORK

  1. Strava: sign in once in the assisted window; after a ride, the FIT is handed to the upload page. Subscribers can optionally use their own API app for auto-upload and route import.
  2. Komoot: sign in once; pick a tour, the official GPX export is intercepted and imported directly.
PHONE & TABLET PLANNED

EVERY BROWSER ON YOUR WI-FI IS A COCKPIT.

Phone and tablet displays over your Wi-Fi are planned. For now, use the app window or a browser on the same computer. A future local-network mode would show the same live cockpit on other devices without sending ride data to a Wattsoever server.

TROUBLESHOOTING

WHEN SOMETHING DOESN'T CONNECT.

Trainer doesn't show up in the scan

Spin the pedals to wake it. Close Zwift, the Wahoo app and other training apps. Remove the trainer from your OS Bluetooth settings if you ever paired it there. On Ubuntu, check the bluetooth group (see the Linux notes).

Connection drops mid-ride

Wattsoever reconnects automatically and re-sends the target. Frequent dropouts usually mean a weak Bluetooth adapter or a phone still holding a connection — move the computer closer, close other apps.

Resistance doesn't change

Another app grabbed control — the last writer wins. Close it, then reconnect in Wattsoever. In ERG mode gradient is ignored by design; switch to SIM for route resistance.

macOS: scan finds nothing at all

The Bluetooth permission was declined. System Settings → Privacy & Security → Bluetooth → allow Wattsoever, then restart the app.

Elevation looks wrong on a route

GPX elevation from planners is often noisy — Wattsoever replaces it with terrain-model data and smooths it. Bridges and tunnels can still confuse any terrain model; total ascent may differ slightly from your planner.