Skip to content

Commit aa7054a

Browse files
authored
docs: add a Stages SB20 section to 22_devices_detail.md (#4852)
1 parent a53ea6d commit aa7054a

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

docs/22_devices_detail.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,41 @@
1010
The [cardio belt provided](https://www.sports-tech.uk.com/chest-strap-sportstech-uncoded) with the bike is also supported, the bike reads the value and forwards it in its bluetooth signal.
1111
The cardio captors are reported to not be accurate.
1212
#### Resistance
13-
The resistance is adjusted after a few seconds delay (time for the engine to adapt magnetic resistance).
13+
The resistance is adjusted after a few seconds delay (time for the engine to adapt magnetic resistance).
14+
15+
## Stages
16+
17+
### SB20
18+
19+
The SB20 advertises as `Stages Bike <NNNN>` and is handled by the **`ftmsbike`** driver — no
20+
dedicated device class. It has **no display of its own**, so initial pairing/setup is done in the
21+
Stages Cycling app.
22+
23+
#### Power and cadence
24+
Both come from the standard FTMS **Indoor Bike Data** characteristic (`0x2AD2`). The bike sets
25+
flags `0x00c5` — instantaneous cadence, instantaneous power and average power.
26+
27+
#### Auto resistance (ERG)
28+
Fully supported over standard FTMS, and reliable in regular use — including QZ-managed **Peloton
29+
Power Zone** workouts, where QZ drives the target watts for the whole session.
30+
31+
QZ takes control and sets a target, and the bike honours it:
32+
33+
```
34+
0x2AD9 <- 00 Request Control -> 80 00 01 (success)
35+
0x2AD9 <- 07 Start/Resume -> 80 07 01 (success)
36+
0x2AD9 <- 05 XX XX Set Target Power -> 80 05 01 XX XX (success)
37+
```
38+
39+
#### Rare issue: telemetry drops to zero
40+
Uncommon — power and cadence are reliable in normal use. Documented because the symptom looks like
41+
a QZ bug when it is not.
42+
43+
The bike can occasionally end up publishing a **stripped** Indoor Bike Data frame — flags `0x0011`, distance
44+
only, no power or cadence — while the Cycling Speed and Cadence characteristic stops updating.
45+
QZ then correctly shows 0 W and 0 rpm, because that is genuinely all the bike is sending.
46+
47+
A power-cycle of the bike restores the full `0x00c5` frame. The trigger is not confirmed; a
48+
plausible cause is another consumer holding an FTMS **control** connection (for example a head unit
49+
or watch paired to the bike *as a trainer* rather than as sensors). If QZ shows no power while you
50+
are clearly pedalling, power-cycle the bike and check what else is connected to it.

0 commit comments

Comments
 (0)