Skip to content

Documentation

Watch

Wear OS and Apple Watch: current ride data on your wrist and PWM haptics.

There is a separate app for Wear OS watches. It installs on the watch and gets its data from the phone.

The arrangement is simple on purpose: the phone talks to the wheel and does all the work, the watch only draws. The watch never decodes the wheel's protocol itself.

On the screen#

  • A large readout with a gauge at the top, speed by default.
  • Two compact readouts with sparklines in the middle, PWM and battery by default.
  • Another large readout with a gauge at the bottom, temperature by default.
  • Battery charge drawn as segments around the edge of the face, coloured by level.

A long press on any readout opens the picker for what it shows.

The speed gauge range adapts to the wheel's voltage class, so the needle does not spend its life in the first quarter on a fast wheel.

Vibration#

If the PWM warning is enabled on the phone, its threshold is sent to the watch, and the watch vibrates when PWM reaches it. That beats sound: a beep from your pocket is hard to hear inside a helmet.

The link#

The app tries three paths in order:

  1. the standard Wear OS channel;
  2. the older channel, for watches with an incomplete set of Google services;
  3. a direct connection to the phone, if neither of the first two is available.

The third path is what makes the watch app work where Google services are cut down or missing. The watch only starts scanning when the standard packets have not arrived for several seconds.

Controls on the phone#

Everything about the watch is in Settings, under Connection & sensors: connected watches, a refresh, a test payload and a button to install the app on the watch. The watch sits next to TPMS for a reason — it is another device on the same end of the link.

Apple Watch#

The iOS release includes a companion app for Apple Watch. It installs alongside LoEUC on the iPhone and receives already validated readings through WatchConnectivity. The watch never connects to the wheel directly and never decodes its protocol.

The screen keeps the LoEUC dashboard palette and priorities but uses a watch-native hierarchy: one large primary reading with a system gauge, two compact cards with sparklines, and the standard watchOS list for choosing a metric. Tap a card to configure it.

The light button on the watch toggles the wheel light through the iPhone and uses the same brand-specific commands as the phone dashboard. It is disabled when the connected wheel does not have a supported light command or when current telemetry is unavailable. A second quick-action slot is reserved for a horn after horn commands have been implemented and validated on the phones.

The phone aims to send at the same rate as its own dashboard, up to ten updates per second. Missing frames are never replayed: during a ride, a new frame matters more than an old one. If no unique frame arrives for more than two seconds, or the observed rate falls below 2 Hz, the watch keeps the last values visible, dims them, and marks them STALE.

The phone also sends the configured PWM warning threshold. Apple Watch plays a haptic when the threshold is reached, with a cooldown between repeats.