Skip to content

Documentation

Extras

Automatic light, automatic volume, wheel presets, background operation and keeping a parked wheel awake.

The three-dot menu has two distinct doors. Wheel settings, under Wheel, opens what gets written into the machine itself: hardware, presets, plugins, the shutdown timer. Settings, under App, is everything else, the part that lives on the phone, in seven sections: Speed & accuracy, Alerts, Map & GPS, Automation, Data, Connection & sensors, and Diagnostics. What appears depends on the wheel: a section with nothing to show for your model does not appear at all. Sections state on their row what is currently set, so the configuration reads at a glance without opening anything. A section with nothing to say — the wheel has not answered, the item is hidden — says nothing: a dash would claim the setting exists and is off.

Below is what lives in those sections, and where to find each thing.

Automatic light#

Automation.

The app turns the light on when you start moving and off when you stop.

  • The switch-on threshold is a speed.
  • Switching off follows either a speed or a timer that starts when you come to a stop.
  • The automatic high beam has its own separate threshold.
  • The whole thing can be limited to a time of day, so the light stays off in daylight.

This is the app's own feature: it simply sends the wheel an ordinary light command at the right moment. Do not confuse it with the ambient light sensor built into InMotion wheels, which lives in the wheel's own settings and works without a phone.

Automatic light is supported on LeaperKim, NOSFET, Begode, KingSong and InMotion.

Automatic volume#

Automation.

Music in your headphones gets louder as you speed up and quieter when you stop. You set the minimum and maximum volume and the speeds at which they are reached.

It only applies to playback devices you have listed, so it will not touch the volume when the phone is playing through a speaker at home. The system volume indicator can be hidden so it does not flash across half the screen for the whole ride.

The percentages you set are loudness as you hear it, not a position on the system slider. The phone's slider, and the speaker's own scale on top of it, squeeze the bottom third hard enough that a literal "20%" meant near silence, so the number goes through a curve. The ends stay exact: zero is silence, a hundred is the maximum. The curve is the same on Android and iOS, so one setting sounds the same on both phones.

The settings screen on iPhone, listing the sections
Settings on iPhone: every section opens from this one screen.

Wheel presets#

Menu, Wheel settings, then the wheel hardware settings.

A preset is a saved set of wheel settings. Presets are stored per wheel.

  • There is a built-in default preset, filled from the wheel's current settings on first connection.
  • Your own presets can be created, renamed, deleted and switched with one tap.
  • A preset can be shared: it exports as a file that another rider imports on their side.

Applying a preset is careful about it: settings your wheel does not support are skipped, transport mode is skipped, and only values that actually differ from the current ones are sent.

On connection the app compares the wheel against your presets. If the selected one matches, it stays. If a different one matches, that becomes selected. If none match, the default is selected and nothing is written to the wheel.

Background operation and reconnecting#

Connection & sensors.

The app keeps working with the screen off. If the connection drops, it looks for the wheel and reconnects on its own without ending the ride. How long it keeps looking is up to you; the default is five minutes.

To intentionally end the connection on iPhone, choose Disconnect from the three-dot menu. The app will not connect to the wheel again in that session until you select one manually.

Keeping a parked wheel awake#

Menu, Wheel settings.

LeaperKim only. The wheel powers itself off after fourteen minutes of standing still. With this on, the app keeps it awake up to a time limit you set, as long as the phone is near and the connection is alive.

Be aware: if the wheel is still standing when the app disconnects, it will shut down within ten to sixty seconds.

Diagnostic log#

Diagnostics, Android only.

If something behaves differently than it should, turn on the diagnostic log, repeat the ride and send the file. It shows what the app actually did: when it connected to the wheel and when it lost the connection, what the automatic light decided at every change of speed, why the automatic volume was or was not applied, and the moment the system pushed the app into the background.

Send log collects everything into a single text file and hands it over the usual way — to a messenger, by mail, wherever suits you. You can open and read it yourself; it is plain text.

The log is off by default and does not affect performance. Raw wheel data does not go into it — it records the behaviour of the app, not of the protocol.

Home screen widget#

The widget shows the state of your wheel without opening the app. Between rides that is charge, range, the wheel's name and when it was last seen; on the move it is speed, PWM and trip distance.

The widget grows as you resize it, and each step adds something. The narrowest is a single instrument: an arc with the main number inside — charge between rides, speed on the move. Wider, three lines appear beside it: range, trip and last seen. At full width (up to five home-screen columns, and tall enough for the rows to fit) it also shows the ride totals — average speed, top speed, peak PWM and the average cell — plus two buttons: light and horn.

The light button sends the wheel exactly the same command as the "light" button on the dashboard, not one of its own. The horn does not work on any wheel yet: the command has not been reverse-engineered, and we will not send guessed bytes to a wheel. The button is there so the widget will not need rebuilding once the command exists.

With no connection the buttons dim but stay put: a button that disappears would reshuffle the widget every time the wheel drops out at a traffic light.

The average cell is not available on every wheel — it comes from a smart BMS, and where there is none you get a dash instead of a number. A dash, not a zero: a zero would claim an empty pack.

The widget takes its look from the app, so the accent and background you picked apply to it too.

The widget never talks to the wheel itself. It shows what the app last wrote down, and it always says how long ago that was. It refreshes every fifteen seconds while the app is connected: more often would gain nothing and cost phone battery.

The widget is available on both Android and iPhone.

Debug screen#

Not in settings: the dashboard menu and the scanner list.

A long press on a device in the scanner list opens a service screen: raw packets, reassembled frames, byte-level differences, markers, exporting a recording to a file, and sending your own commands.

It is a protocol tool, not something to use while riding. Sending arbitrary commands to a wheel can do anything, including making it behave unexpectedly under you.