Skip to content

eried/eucplanet

Repository files navigation

EUC Planet

Latest release License: MIT Google Play Garmin Connect IQ Telegram Leaderboard Trip Viewer Donate Downloads

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.

What wheels work?

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.


Gallery

Dashboard Turn-by-turn navigator Overlay Studio Compare

Trip list Studio transparent export Navigator over satellite Settings

Wear OS dial
Speed dial
Wear OS telemetry detail
Telemetry
Wear OS turn arrow
Navigation
Wear OS arrival flag
Arrival flag

Features

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.


Where do I get it?

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.apk

Needs 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.


Why does this exist?

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.

Contributing

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.

Support

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.

Acknowledgements

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

License

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.

About

EUC Planet is an open-source companion app for electric unicycles

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages