Settings Reference
This reference lists the settings available in current development builds. For everyday changes, use the dashboard or the settings controls described in the Handbook. Settings can also be inspected or changed with lsc.
Settings marked user-visible are listed below. All other settings are in the collapsed Advanced settings section. Service Mode temporarily overrides several keys and stays active across reboots.
Settings
alarm-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Alarm Durationalarm.duration | Set how long a triggered alarm remains active. | 30 | 0–300 seconds |
Alarm Systemalarm.enabled | Enable or disable the alarm system. | true | bool |
Horn During Alarmalarm.honk | Sound the horn when the alarm is triggered. | false | bool |
battery-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Dual-Battery Modescooter.dual-battery | Use both installed main batteries when dual-battery hardware is available. | false | bool |
dbc-backlight
| Setting | Description | Default | Values / range |
|---|---|---|---|
Screen Brightnessdashboard.backlight-mode | Choose a fixed screen brightness or adjust it automatically using the ambient-light sensor. | "auto" | Auto (auto), Low (low), Medium (medium), High (high) |
scootui
| Setting | Description | Default | Values / range |
|---|---|---|---|
Avoid Cobblestonesdashboard.avoid-cobblestone | Choose how strongly navigation avoids cobblestones and stone setts. Higher levels permit longer detours. This requires compatible routing tiles and does not apply to Shortest routes. | "medium" | Off (off), Low (low), Medium (medium), High (high) |
Main Battery Displaydashboard.battery-display-mode | Choose whether main-battery status is shown as a percentage, estimated range, or icons only. | "percentage" | Percentage (percentage), Estimated Range (range), Icons Only (icon) |
Blinker Styledashboard.blinker-style | Choose how the blinker indicators appear on the dashboard. | "icon" | Blinker Icons (icon), Full-Screen Blinker Overlay (overlay) |
Dashboard Languagedashboard.language | Choose the language used by the dashboard interface. | "en" | string |
Keep North at Topdashboard.map.north-oriented | In 2D view, keep north at the top instead of rotating the map with the scooter heading. | false | bool |
Traffic Overlaydashboard.map.traffic-overlay | Show live traffic over the map. This requires online tiles. | false | bool |
Map Sourcedashboard.map.type | Choose between online and offline maps. | "offline" | Online (online), Offline (offline) |
Map Viewdashboard.map.view-mode | Choose between a tilted 3D view and a flat 2D view. | "3d" | 3D Perspective (3d), 2D Top-Down (2d) |
Download Map Updatesdashboard.maps.auto-download | Download available map updates automatically. This may use mobile data. | false | bool |
Check for Map Updatesdashboard.maps.check-for-updates | Check for map updates automatically once a week while online. | false | bool |
Milestonesdashboard.milestones.mode | Choose which odometer milestones trigger a notice and optional parked celebration. | "off" | Off (off), Regular (regular), Regular + Easter Eggs (all) |
Milestone Presentationdashboard.milestones.presentation | Choose how enabled milestones are displayed. | "banner-and-confetti" | Small Notice (notice), Banner (banner), Banner + Confetti (banner-and-confetti) |
Default Screendashboard.mode | Choose which dashboard screen opens by default. | "speedometer" | Speedometer (speedometer), Navigation (navigation), Debug (debug) |
Power or Current Displaydashboard.power-display-mode | Choose whether the dashboard displays power in kilowatts or current in amps. | "kw" | Kilowatts (kw), Amps (amps) |
Route Preferencedashboard.route-preference | Choose whether navigation prioritizes travel time or distance. Shortest routes ignore other preferences, including cobblestone avoidance. | "fastest" | Fastest (fastest), Shortest (shortest) |
12 V (AUX) Batterydashboard.show-aux-battery | Choose when the AUX battery charge indicator appears in the status bar. When Low shows it at or below 50% charge. | "warning" | Always (always), When Low (warning), Never (never) |
Bluetooth Statusdashboard.show-bluetooth | Choose when the Bluetooth status indicator appears. | "active-or-error" | Always (always), Active or Error (active-or-error), Error Only (error), Never (never) |
CBB Batterydashboard.show-cb-battery | Choose when the CBB charge indicator appears in the status bar. When Low shows it at or below 50% charge. | "warning" | Always (always), When Low (warning), Never (never) |
Status Bar Clockdashboard.show-clock | Choose how the time and date appear in the status bar. Date modes show time only until the system date is plausible. | "always" | Time Only (always), Day + Time (date-time), Alternating Time / Date (alternate), Hidden (never) |
Cloud Connectiondashboard.show-cloud | Choose when the cloud connection indicator appears. | "active-or-error" | Always (always), Active or Error (active-or-error), Error Only (error), Never (never) |
GPS Statusdashboard.show-gps | Choose when the GPS status indicator appears. | "error" | Always (always), Active or Error (active-or-error), Error Only (error), Never (never) |
Internet Connectiondashboard.show-internet | Choose when the internet connection indicator appears. | "active-or-error" | Always (always), Active or Error (active-or-error), Error Only (error), Never (never) |
Current Road Namedashboard.show-road-name | Choose when the current road name appears on the speedometer and map screens. | "always" | Always (always), Map Only (map), When Navigating (navigating), Never (never) |
Posted Speed Limitdashboard.show-speed-limit | Choose when the posted speed limit appears on the speedometer and map screens. | "always" | Always (always), Map Only (map), When Navigating (navigating), Over the Limit (over-limit), Never (never) |
Outside Temperaturedashboard.show-temperature | Choose when the ambient temperature appears in the status bar. | "warning" | Always (always), Warn When Cold (<10 °C) (warning), Never (never) |
Dashboard Themedashboard.theme | Choose the dashboard color theme. | "auto" | Light (light), Dark (dark), Auto (auto) |
trip-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Reset Trip Countertrip.counter-reset | Choose when the trip counter resets. | "ride" | After Each Ride (ride), Daily (day), When Main Battery Is Swapped (battery), Only Manually (manual) |
Trip History Retentiontrip.expunge | Choose how long completed trip history is kept. | "age:365d" | string |
update-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
DBC Update Channelupdates.dbc.channel | Choose the release channel used for DBC updates. This override is transient; after reboot, the channel is inferred from the installed image. | not set | Stable (stable), Testing (testing), Nightly (nightly), reset on reboot |
DBC Update Check Frequencyupdates.dbc.check-interval | Set how often the DBC checks for updates. Set to zero to disable automatic checks. | "6h" | 0–any |
DBC Update Packageupdates.dbc.method | Choose whether DBC updates use delta packages or full system images. | "delta" | Delta Package (delta), Full System Image (full) |
MDB Update Channelupdates.mdb.channel | Choose the release channel used for MDB updates. This override is transient; after reboot, the channel is inferred from the installed image. | not set | Stable (stable), Testing (testing), Nightly (nightly), reset on reboot |
MDB Update Check Frequencyupdates.mdb.check-interval | Set how often the MDB checks for updates. Set to zero to disable automatic checks. | "6h" | 0–any |
MDB Update Packageupdates.mdb.method | Choose whether MDB updates use delta packages or full system images. | "delta" | Delta Package (delta), Full System Image (full) |
vehicle-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
DBC Blinker LEDscooter.dbc-blinker-led | Flash the DBC boot LED with the blinkers: green for individual blinkers and red for hazards. | "disabled" | Enabled (enabled), Disabled (disabled) |
Horn with Seatbox Openscooter.horn-when-seatbox-open | Allow the horn button to work while the scooter is unlocked and the seatbox is open. By default, it is disabled to prevent the open seat lid from pressing the button and sounding the horn. | false | bool |
Advanced settings
Show advanced settings (87)
These settings are intended for setup, diagnostics, or service configuration.
alarm-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Immediate First-Motion Alarmalarm.hairtrigger | Sound a short alarm immediately after the first detected motion. | false | bool |
Immediate Alarm Durationalarm.hairtrigger-duration | Set how long the immediate first-motion alarm remains active. | 3 | 1–30 seconds |
Level 1 Trigger Delayalarm.l1-cooldown | Set how long alarm-service waits after the first motion event before starting the level 1 motion check. | 15 | 1–60 seconds |
Trigger on Unauthorized Seatbox Openingalarm.seatbox-trigger | Trigger the alarm when the seatbox is opened without authorization. | true | bool |
Trigger on Button Pressesalarm.trigger.buttons | Trigger the alarm when a brake, horn, or seatbox button is pressed. | true | bool |
Trigger on Handlebar Movementalarm.trigger.handlebar | Trigger the alarm when the handlebar lock sensor or position changes. | false | bool |
Trigger on Motionalarm.trigger.motion | Use BMX055 motion events as an alarm trigger source. | true | bool |
battery-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
AUX-Low Keep-Active Enter Thresholdscooter.battery-aux-low-keep-active-enter-mv | Set the AUX battery voltage below which the keep-active-on-seatbox-open override engages automatically. | 11500 | 0–any mV |
AUX-Low Keep-Active Exit Thresholdscooter.battery-aux-low-keep-active-exit-mv | Set the AUX battery voltage at or above which the AUX-low keep-active override disengages. This must be greater than the enter threshold. | 12000 | 0–any mV |
Keep Active Battery on Seatbox Openscooter.battery-keep-active-on-seatbox-open | Keep the currently active main battery running when the seatbox opens instead of deactivating it. | false | bool |
Maximum Battery Voltage Differencescooter.max-voltage-delta | Set the maximum voltage difference allowed when activating both batteries. Set to zero to disable the voltage-difference limit. | 1000 | 0–any mV |
dbc-dispatcher
| Setting | Description | Default | Values / range |
|---|---|---|---|
Dashboard Applicationdashboard.app | Choose the application launched when the DBC boots. | "scootui-qt" | ScootUI (Qt) (scootui-qt), ScootUI (TUI) (scootui-tui) |
ecu-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Motor Boostengine-ecu.boost | Enable motor boost mode. | false | bool |
Regenerative Braking (KERS)engine-ecu.kers | Enable or disable the kinetic energy recovery system. | "enabled" | Enabled (enabled), Disabled (disabled) |
KERS Regeneration Currentengine-ecu.kers-power | Set the KERS regeneration current. | not set | 0–65535 mA |
Dual-Battery KERS Regeneration Currentengine-ecu.kers-power-dual | Set the KERS regeneration current used while both batteries are active. | not set | 0–65535 mA |
modem-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Cellular APNcellular.apn | Set the APN used for LTE attachment and the data bearer. Leave empty to use the SIM operator defaults. | "" | string |
Cellular APN Authenticationcellular.auth | Set the data-bearer authentication method to none, PAP, or CHAP. | "none" | string |
Cellular APN Passwordcellular.password | Set the password used for PAP or CHAP authentication. Leave empty when authentication is not required. | "" | string |
SIM PINcellular.sim-pin | Set the four- to eight-digit PIN used to unlock the SIM and enable its lock. Leave empty to keep the current SIM lock state. | "" | string |
Cellular APN Usernamecellular.username | Set the username used for PAP or CHAP authentication. Leave empty when authentication is not required. | "" | string |
pm-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Idle Power Statepm.default-state | Set the default power state used while the system is idle. | "suspend" | Stay Awake (run) (run), Automatic Suspend (suspend) (suspend) |
Hibernation Timerpm.hibernation-timer | Set the hibernation timeout in seconds. Zero disables the timer; values from 1 through 299 are clamped to 300 seconds. | 259200 | 0–any seconds |
Last-Ditch Hibernationpm.last-ditch-hibernate-enabled | Hibernate automatically when reserve power is critically low. Disable only for controlled batteryless bench operation; explicit and scheduled power commands remain available. | true | reset on reboot |
Scheduled Hibernation Cron Expressionpm.scheduled-hibernate-cron | Set the five-field cron expression that starts scheduled hibernation. An empty value disables the schedule. Consecutive occurrences must be at least 15 minutes apart to prevent an indistinguishable hibernate and wake loop. | "" | string |
Scheduled Hibernation Durationpm.scheduled-hibernate-duration | Set how long scheduled hibernation lasts. The wake time is calculated from the scheduled fire time. | "0s" | 0–any |
Scheduled Hibernationpm.scheduled-hibernate-enabled | Enable scheduled hibernation using the configured cron expression and duration. | false | bool |
Suspend Without Main Battery While Remotely Accessiblepm.suspend-when-online | Only relevant without a main battery: a main battery in either slot always blocks suspend. "Online" means an active remote-access provider (Sunshine via radio-gaga, a Librescoot uplink server, or any other provider reporting connected). Default true lets a locked scooter suspend even while remotely accessible; set false to stay awake while remote access is connected, at the cost of draining the auxiliary battery within a few days. | true | bool |
Wake-Timer Acknowledgment Timeoutpm.wake-timer-ack-timeout | Set how long pm-service waits for the nRF52 to confirm that the wake timer is armed before aborting hibernation. | "10s" | 0–any |
Maximum Wake-Timer Durationpm.wake-timer-max-seconds | Set the safety limit for wake-timer requests sent to the nRF52. Longer requests are clamped to this value. | 604800 | 60–604800 seconds |
scootui
| Setting | Description | Default | Values / range |
|---|---|---|---|
Hop-On/Hop-Off Combinationdashboard.hop-on-combo | Store the learned hop-on and hop-off combination as pipe-delimited input tokens. An empty value means no combination is configured. | "" | string |
Map Rendering Modedashboard.map.render-mode | Choose whether maps are rendered from vector or raster tiles. | "vector" | Vector (vector), Raster (raster) |
Maps Availabledashboard.maps-available | Report whether offline map tiles are installed. This value is system-managed and read-only. | false | read-only |
Milestone Migration Pendingdashboard.milestones.legacy-eggs-pending | Internal handoff for importing the dashboard's saved easter-egg preference. | false | bool |
Navigation Availabledashboard.navigation-available | Report whether offline maps and the routing engine are available. This value is system-managed and read-only. | false | read-only |
Recent Destination Namedashboard.recent-destinations.0.label | Store the display name of an indexed recent destination. | not set | string |
Recent Destination Latitudedashboard.recent-destinations.0.latitude | Store the latitude of an indexed recent destination in decimal degrees. | not set | -90–90 |
Recent Destination Longitudedashboard.recent-destinations.0.longitude | Store the longitude of an indexed recent destination in decimal degrees. | not set | -180–180 |
Recent Destination Last-Used Timedashboard.recent-destinations.0.used-at | Store the ISO 8601 timestamp when an indexed recent destination was used. | not set | string |
Route Plan Stop Namedashboard.route-plan.0.label | Store the display name of an indexed stop in the dashboard's active multi-hop route plan. | not set | string |
Route Plan Stop Latitudedashboard.route-plan.0.latitude | Store the latitude of an indexed stop in the dashboard's active multi-hop route plan. | not set | -90–90 |
Route Plan Stop Longitudedashboard.route-plan.0.longitude | Store the longitude of an indexed stop in the dashboard's active multi-hop route plan. | not set | -180–180 |
Route Plan Stop Reacheddashboard.route-plan.0.reached | Whether an indexed stop in the active route plan has already been reached. | not set | bool |
Route Plan Activedashboard.route-plan.active | Whether the persisted route plan is an in-progress trip that may be resumed. | not set | bool |
Route Plan Current Stepdashboard.route-plan.current-step | Index of the stop the dashboard is currently guiding to within the active route plan. | not set | 0–any |
Keep Current Route Stopdashboard.route-plan.keep-current-stop | Keep guiding to the current stop instead of auto-advancing while riding. | not set | bool |
Route Plan Updated Timedashboard.route-plan.updated-at | Store the ISO 8601 timestamp of the last change to the active route plan. | not set | string |
Saved Location Creation Timedashboard.saved-locations.0.created-at | Store the ISO 8601 creation timestamp of an indexed saved location. | not set | string |
Saved Location Namedashboard.saved-locations.0.label | Store the display name of an indexed saved location. | not set | string |
Saved Location Last-Used Timedashboard.saved-locations.0.last-used-at | Store the ISO 8601 timestamp when an indexed saved location was last used. | not set | string |
Saved Location Latitudedashboard.saved-locations.0.latitude | Store the latitude of an indexed saved location in decimal degrees. | not set | -90–90 |
Saved Location Longitudedashboard.saved-locations.0.longitude | Store the longitude of an indexed saved location in decimal degrees. | not set | -180–180 |
Saved Location UUIDdashboard.saved-locations.0.uuid | Store the stable UUID of an indexed saved location. | not set | string |
Shortcut Menu Itemsdashboard.shortcut-menu.items | Ordered shortcut-menu items. Each entry is a fixed action id (view, theme, debug-overlay, motion-debug, route-overview, skip-stop, stop-navigation) or destination:<uuid>:<icon> for a saved-location shortcut. Array order is display order; entries unavailable at runtime are hidden. | ["view", "theme", "debug-overlay", "motion-debug", "route-overview", "skip-stop", "stop-navigation"] | array |
Raw ECU Speeddashboard.show-raw-speed | Display the uncorrected speed reported by the ECU. | false | bool |
Speedometer Normal Arc Colordashboard.speedometer.base-color | Set the normal arc colour reached at the normal-range speed. The fill transitions from the origin colour below this point and toward the warning colour above it. Use #RRGGBB or #AARRGGBB. | "#2196F3" | string |
Speedometer Scaledashboard.speedometer.max-speed | Set the maximum speed shown by the speedometer arc. The arc size stays fixed while its range and tick labels change. | 60 | 20–200 km/h |
Speedometer Normal-Range Speeddashboard.speedometer.normal-speed | Set the speed where the fill reaches the normal arc colour and starts transitioning toward the warning colour. This must be below the warning speed. | 30 | 1–200 km/h |
Speedometer Origin Colordashboard.speedometer.origin-color | Set the speedometer fill colour at 0 km/h. The fill transitions from this colour to the normal arc colour as speed approaches the normal-range speed. Use #RRGGBB or #AARRGGBB. | "#90CAF9" | string |
Speedometer Overspeed Thresholddashboard.speedometer.overspeed | Set the speed where the fill reaches the overspeed colour. Above this threshold, the fill pulses between the warning and overspeed colours. | 60 | 1–200 km/h |
Speedometer Overspeed Colordashboard.speedometer.overspeed-color | Set the fill colour reached at the overspeed threshold. Above the threshold, the fill pulses between the warning colour and this colour. Use #RRGGBB or #AARRGGBB. | "#E91E63" | string |
Speedometer Warning Colordashboard.speedometer.warn-color | Set the fill colour reached at the warning speed. Above this point, the fill transitions toward the overspeed colour. Use #RRGGBB or #AARRGGBB. | "#9C27B0" | string |
Speedometer Warning Speeddashboard.speedometer.warn-speed | Set the speed where the fill reaches the warning colour and starts transitioning toward the overspeed colour. This must be above the normal-range speed and below the overspeed threshold. | 55 | 1–200 km/h |
Valhalla URLdashboard.valhalla-url | Set the Valhalla routing-service endpoint. | "http://localhost:8002/" | url |
scootui-qt
| Setting | Description | Default | Values / range |
|---|---|---|---|
AUX Charging-System Warningscooter.aux-battery.charging-system-warning | Control the dashboard's AUX charging-system warning. Suppress withholds the notification, the charging-condition telltale and the status-bar AUX warning icon. The warning fires when the main pack is active, the AUX charger reports not-charging and AUX voltage is below the charger's charging ceiling. | "show" | Show (show), Suppress (suppress) |
CB Charging-System Warningscooter.cb-battery.charging-system-warning | Control the dashboard's connectivity-box charging-system warning. Suppress withholds the notification and the status-bar CB warning icon. The warning fires when the main pack is active, the CBB is present and below 50% charge, and its charger reports not-charging. | "show" | Show (show), Suppress (suppress) |
Developer Modescooter.developer-mode | Enable development and diagnostic controls. The default is enabled when either installed component runs testing or nightly, and disabled when both run stable. | false | bool |
settings-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Service Mode Activedashboard.service-mode-active | Report whether the settings-service service-mode overlay is active. This value is system-managed, read-only, and transient. | false | read-only, reset on reboot |
Log Server URLscooter.logserver | Set the systemd-journal-remote endpoint used to upload journal entries. An unset or empty value disables log uploads. | not set | url |
update-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
DBC Update Dry Runupdates.dbc.dry-run | Allow update discovery, download, and preparation, but skip installation and reboot on the DBC. | false | bool |
Last DBC Update Check Resultupdates.dbc.last-attempt-result | Report the outcome of the last DBC update check attempt (running, update-started, up-to-date, no-release, no-asset, backed-off, releases-unavailable, settings-unavailable or channel-not-configured). | not set | string |
Last DBC Update Check Attemptupdates.dbc.last-attempt-time | Report the ISO 8601 timestamp of the last DBC update check attempt, whether or not it completed. | not set | string |
Last DBC Update Checkupdates.dbc.last-check-time | Report the ISO 8601 timestamp of the last completed DBC update check. Failed or unconfigured attempts are recorded in the attempt fields instead. | not set | string |
DBC Releases URLupdates.dbc.releases-url | Set the base URL of the DBC release index. | "https://downloads.librescoot.org/releases" | url |
MDB Update Dry Runupdates.mdb.dry-run | Allow update discovery, download, and preparation, but skip installation and reboot on the MDB. | false | bool |
Last MDB Update Check Resultupdates.mdb.last-attempt-result | Report the outcome of the last MDB update check attempt (running, update-started, up-to-date, no-release, no-asset, backed-off, releases-unavailable, settings-unavailable or channel-not-configured). | not set | string |
Last MDB Update Check Attemptupdates.mdb.last-attempt-time | Report the ISO 8601 timestamp of the last MDB update check attempt, whether or not it completed. | not set | string |
Last MDB Update Checkupdates.mdb.last-check-time | Report the ISO 8601 timestamp of the last completed MDB update check. Failed or unconfigured attempts are recorded in the attempt fields instead. | not set | string |
Automatic DBC Update Checksupdates.mdb.orchestrate-dbc | Power on the DBC and request an update check automatically when a newer DBC release is available. | true | bool |
MDB Releases URLupdates.mdb.releases-url | Set the base URL of the MDB release index. | "https://downloads.librescoot.org/releases" | url |
vehicle-service
| Setting | Description | Default | Values / range |
|---|---|---|---|
Automatic Standby Delayscooter.auto-standby-seconds | Set the inactivity time before a parked scooter enters standby and locks. Set to zero to disable automatic standby. | 900 | 0–any seconds |
Brake-Hold Hibernationscooter.brake-hibernation | Allow hibernation to be initiated by holding both brake levers while parked. | "enabled" | Enabled (enabled), Disabled (disabled) |
Horn Availabilityscooter.enable-horn | Choose whether the manual horn is always available, available only in drive mode, or disabled. | "true" | Always Available (true), Disabled (false), Drive Mode Only (in-drive) |
Force Handlebar Unlockedscooter.handlebar-unlocked | Release the handlebar-lock latch and suppress automatic relocking while the service-mode overlay is active. This setting is transient. | false | reset on reboot |
Bluetooth Disconnect Lock Delayscooter.lock-on-bluetooth-disconnect-seconds | Set the delay before a parked scooter locks after the connected phone disconnects. Set to zero to disable this behavior. | 0 | 0–any seconds |
Open Seatbox on Unlockscooter.open-seatbox-on-unlock | Open the seatbox automatically when the scooter is unlocked, by any path: app or cloud unlock request, keycard tap, or hop-on release. There is no close command, so the lid has to be pushed shut by hand, and an open seatbox makes a lock request wait in the waiting-seatbox state first. Intended for advanced users; set it with lsc, not from the dashboard menu. | false | bool |
USB Policyscooter.usb0-policy | Control whether USB follows dashboard power or remains available for SSH and Update Mode. The always-on override is transient and lasts until reboot. | "auto" | Always Available (always-on), Follow Dashboard Power (auto), reset on reboot |