OpenBikeControl

Last updated

Biketerra supports OpenBikeControl, an open protocol for cycling controllers: shifters, steering, remotes and smart bike buttons.

OpenBikeControl exists because closed ecosystems are bad for riders. Your shifters, steering and buttons should work wherever you ride.

Compatible controllers

  • BikeControl app (bikecontrol.app): turns controllers you already own (Shimano Di2, SRAM AXS, Zwift Click and Play, gamepads) into an OpenBikeControl controller
  • Stages SB200 smart bike
  • More soon!

Setup

Pair the controller(s) from the "Devices" tab in the ride menu (like any other Bluetooth device). It appears with an OBC chip.

Pairing an OpenBikeControl controller also unlocks the Drivetrain setting (custom gear ratios) in the Devices menu. See Virtual Shifting.

Default controls

Out of the box, the protocol's standard buttons do the following.

Riding

  • Shift Up / Shift Down: change virtual gear (or resistance, in other control modes)
  • Steer Left / Steer Right / Steering Angle: steer
  • Brake: brake. Analog brake levers work, so a half pull is a half brake.
  • Camera View: cycle camera
  • HUD Toggle: show or hide the HUD
  • Map Toggle: show or hide the minimap
  • Screenshot: take a screenshot
  • Menu: open or close the menu
  • Select: open Ride Actions (while riding)

Menu navigation

  • Up / Down / Left / Right: move around the menu
  • Select: short press selects, long press goes back
  • Back: go back
  • Shift Up / Shift Down and Steer Left / Steer Right also navigate the menu, so a shifter-only remote can drive it

Workouts

  • Pause / Resume: start or pause the workout
  • Skip Interval: skip to the next interval

Customizing buttons

Open the "Hotkeys" tab in the ride menu and choose the OpenBikeControl tab. Click the action you want to change, then press the button on your controller.

Any button the controller sends can be bound, including ones that aren't in the protocol's standard table.

Notes

  • Direct gear selection (Gear Set) isn't supported. Biketerra shifts one gear per press.
  • Biketerra doesn't send haptic feedback to controllers yet.

For developers

Biketerra implements OpenBikeControl version 1 over Bluetooth. After connecting, it writes App Information with the app id biketerra and a button count of 0, meaning every button id is accepted.