Open-source Android app for electric unicycles: live telemetry, turn-by-turn navigation, an on-screen overlay for video recording, and many other integrations. I don't want to pay to just enjoy a wheel I already own. No ads, no in-app tracking, no subscriptions, no upselling, no features behind a paywall, no telemetry phoned home.
I only own and ride a V14. Everything else gets done through collaboration with riders who have the wheel.
| Status | Wheels |
|---|---|
| Verified | InMotion V14 (50GB / 50S) |
| Verified | InMotion P6 |
| Rider-tested | Veteran Lynx S, Oryx · Begode/Gotway Mten3, EX30, E20 · KingSong S16X |
| In test | Begode/Gotway Master, Master Pro, T3, T4, RS, RS-HT, EX, EX.N, EX2, MSP, MSX, Hero, XWay, Mten4, Mten5, MCM5 |
| In test | Veteran Sherman, Sherman S, Sherman Max, Patton, Lynx, Abrams |
| In test | KingSong S22, S20, S19, S18, S16, KS-14/16/18, F18P, F22P |
| Waiting to be tested | InMotion V12 HS / HT / Pro |
| Waiting to be tested | InMotion V1 family: V5, V8, V8F, V8S, V10, V10F, V10S, V10T, V10FT, L6, Lively, Glide 3 |
| Waiting to be tested | Ninebot Z6, Z10, plus legacy One E / E+ / S2 / Mini (read-only) |
| Experimental | InMotion V9, V11, V13 |
Help with your wheel, check the BLE capture guide. Already connects but a reading looks wrong? See the in-app diagnostics guide.
![]() Speed dial |
![]() Telemetry |
![]() Navigation |
![]() Arrival flag |
Dashboard. Live speed, battery, voltage, amps, temperature, PWM load and distance. Rearrange the tiles, build composite tiles and action groups, add a live runtime clock. Tap any tile for its history graph. Metric or imperial.
Turn-by-turn navigator. Multi-stop routes on a map (walk, bike, car, straight-line), voice cues, off-route reroute, sticky GPS, and a Treasure Hunt proximity mode for unmarked spots. Full Path mode lets you tap any point along the route to add a detour (skip sand, gravel, the wrong side of a one-way). The next-turn arrow can mirror to your watch, HUD, or Garmin Edge.
Overlay Studio. Record video and stills with a customisable telemetry overlay:
dials, gauges, rolling graphs, {speed}-style text, mini-map, layered cameras. Save
layouts as JSON. Export a finished MP4, or a transparent overlay to composite over
footage from another camera.
Wheel control. Horn, lights, lock, voice announcements, all one tap away. Legal Mode temporarily reprograms the wheel's tiltback and alarm speeds to a cap you set, then restores your normal settings when you switch it off.
Custom alarms. Your own thresholds on speed, battery, temperature, PWM, voltage
or current. Each can beep (custom tone and pitch), speak ("Battery at {value}%"),
and/or vibrate, with cooldowns so they don't nag.
Voice announcements. Periodic reports at your interval, configurable rate and locale, plus event callouts: lock/unlock, lights, GPS fix, connection, legal mode, recording.
Trip recording. GPS and telemetry to DarknessBot-compatible CSV, auto-record, live track preview, and a trip list with quick export and share. View them later in the web Trip Viewer, or opt in to share them on the EUC Stats leaderboard and rank your distance against riders worldwide, by country.
Automations. Auto Lights on before sunset, off after sunrise, from live GPS. Handles midnight sun and polar night (I live in the arctic circle 🧐). Auto Volume scales phone volume with speed.
Helmet HUD. Sideload the small HUD companion on a MotoEye E6 or any Android-based head-up display and the dashboard mirrors live to your visor over local WiFi. New Map + Nav combined screen in the HUD shows the route arrow on top of a moving map (Garmin Edge style). See eucplanet.ried.no/hud.
Garmin Edge / watches. A Connect IQ data field shows live EUC speed, battery, PWM, current and motor temperature on your bar-mounted Edge or on your wrist. Supports Edge 530/540/830/840/1030/1040/1050 and most modern Garmin watches (135+ devices). Get it on the Connect IQ Store, or build it yourself from docs/GARMIN_SETUP.md.
Varia rear-view radar. Pair a Garmin Varia RTL515 or RCT715 and see approaching vehicles on the dashboard. Wire custom alarms (beep, voice, or vibrate) to rear-vehicle distance and closing speed. Same sensor cyclists already trust, now on your EUC.
Integrations. Flic 2 buttons (up to two), physical volume-key shortcuts, external BLE GPS (RaceBox or compatible, for centimetre-class speed and altitude without draining the phone radio; auto-falls back to phone GPS), and a Wear OS companion (speed dial, three batteries, horn/light remotes, navigation mirror, Touch / Physical buttons split; tested on Galaxy Watch Ultra, works on any Wear OS 5+ watch).
First-run tour & health. A short Welcome tour walks new riders through the key features. A top-bar warning chip surfaces any permissions you've denied (BLE, location, notifications) with one-tap Fix actions, so a denial doesn't silently break a feature later in the ride.
Multi-language support. Full UI localisation, at parity across all of them.
Google Play has a small symbolic price, treat it as a tip if you'd like to support the project and get automatic updates. Or grab the latest APK from releases for free and sideload it. Same app either way.
On a Garmin watch or Edge, install the EUC Planet data field straight from the Connect IQ Store.
Build from source:
./gradlew assembleDebug
adb install app/build/outputs/apk/debug/phone-debug.apkNeeds Android 10 (API 29) or newer, a supported wheel, and Bluetooth + location permissions (Android requires location for BLE scanning). Camera and mic are optional and only asked for the first time you open Overlay Studio.
I got tired of:
- apps that look like they were built in 2014,
- waiting forever for fixes or improvements,
- inflexible developers over just bad designs,
- apps that call home and spy on you.
The BLE layer is separate from the UI. Each brand family has its own WheelAdapter
in app/src/main/java/com/eried/eucplanet/ble/,
and CompositeWheelAdapter routes by the advertised BLE name at connect time. Specs
live in docs/protocols/.
To add a wheel: implement WheelAdapter (parser plus commands), register it in
CompositeWheelAdapter, add the BLE-name pattern to BleScanner. The
BLE capture guide is the fast path; one labelled ride is
usually enough. If a supported wheel misbehaves instead, the
in-app diagnostics guide walks owners through sending a
Service Mode recording.
PRs welcome. Bugs go to Issues. Live discussion is on Telegram, and more serious ideas and votes go to ideas.ried.no/euc-planet.
EUC Planet is free and stays free. If it saved you a subscription, or for any other reason you want to chip in: donate via PayPal. Entirely optional, very appreciated.
Thanks to the people and projects that helped, kept in sync with the app (tap version number → Thanks):
| Who | For |
|---|---|
| Gio (Wheel In Motion) | Promotion, suggestions and P6 testing |
| FlyboyEUC (Adam) | Mten3, E20 and EX30 testing |
| Soolek | KS-16X testing |
| Jonathan Wiesner | LeaperKim Lynx S testing |
| Felix K | LeaperKim Oryx testing |
| Bearkat713 | Motoeye E6 testing |
| WheelLog community | Open-source (GPLv3) EUC protocol research |
| Ilya Shkolnik | Advice and help. Maintains DarknessBot. |
| InMotion | For making a great V14 |
Released under the MIT License, use it, fork it, build on it, just keep the copyright notice. The Flic 2 SDK and other third-party dependencies keep their own licenses.











