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:
- the standard Wear OS channel;
- the older channel, for watches with an incomplete set of Google services;
- 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.
Language#
The watch speaks the language of the phone. It has no switch of its own and will not get one: the language is chosen once, on the phone, and the screen on your wrist is a continuation of it. The choice travels to the watch with a sync, so after changing the language on the phone, press Sync on the watch.
Before the first sync the watch follows its own system language.
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.
Receiving from Garmin on Android#
Choose “Receive from a relay” in the garage menu. Start receiving on the phone and forwarding in the LoEUC Garmin app. The watch owns the wheel connection while the phone receives the original packets and uses its ordinary LoEUC decoder. This channel does not need Garmin Connect. Dashboard updates and ride recording use the same pipeline as a direct connection. Phone commands are not sent to the wheel.
When the watch does not know a unique wheel ID, the phone creates a separate source for that session. You can explicitly match it to a saved wheel. Gaps or lost delivery make readings stale; the phone does not take over the wheel connection.
The receiver has been checked with software tests. End-to-end delivery from physical Garmin hardware, throughput and operation with a locked phone still need hardware verification. This mode is not yet available on iPhone. The existing Wear OS and Apple Watch modes remain separate.
Configure Garmin from your phone#
On Android, open Settings → Link and sensors → Garmin watch and select a watch from Garmin Connect. Configure field order and alerts for each wheel, then send one wheel or the entire garage. Alert import lists unsupported conditions before replacing watch rules. The watch app confirms that settings have been saved.
BLE addresses identify garage wheels, so the watch can show your saved wheel name even without an advertised name. Each wheel has its own layout and alerts. Update LoEUC on both the phone and Garmin, and open LoEUC on the watch before sending. Settings use Garmin Connect; BLE telemetry reception is enabled separately. Communication through Garmin Connect still needs verification on a physical watch.