Navigation Setup
Map display and routing are two independent features, each configurable as offline or online. You can mix and match freely.
Two independent choices
| Offline (local) | Online (internet) | |
|---|---|---|
| Map display | Local .mbtiles file |
Online tile server |
| Routing | Local Valhalla + routing maps | Remote Valhalla server |
Map Display
The map display setting controls which tile source is used to draw the map on screen. It has no bearing on whether you can navigate - that's routing (below).
Switch between modes: Menu → Settings → Map & Navigation → Map Type
Offline display tiles
Offline display uses a local .mbtiles file with pre-rendered map tiles. Once installed, it works without any internet connection.
Get a tile file for your region:
- Librescoot OSM Tiles releases, pre-packaged regional extracts optimised for the scooter display
- Or generate your own with maptool
Typical file sizes: city tile file ~2–16 MB, individual German state ~20–140 MB, all of Germany ~680 MB.
To install the tile file, drop it into the maps/ folder of the USB drive in Update Mode (easiest), or copy it to /data/maps/map.mbtiles on the DBC over SSH. The on-device path /data/maps/ is only relevant when SSH'd in — Update Mode only ever exposes the maps/ folder on the USB drive.
Pre-built tile packages currently cover all 16 German states. To use offline maps elsewhere, generate tiles with maptool from any OpenStreetMap extract.
Online display tiles
Online display fetches tiles from an internet tile server as you pan the map. No local file needed, just an active internet connection. Selected automatically if no local tile file is present and the map type is set to Online.
Routing
Routing provides turn-by-turn navigation. It is completely independent of which tile source you use for display. Librescoot uses the Valhalla routing engine.
Local (offline) routing
Local routing runs Valhalla directly on the scooter's dashboard computer. It requires Valhalla routing tiles, a separate dataset from the display .mbtiles file. Routing tiles contain the road graph that Valhalla needs to calculate routes.
Download routing tiles for your region from the Librescoot Valhalla Tiles releases. Per-state .tar archives are available for all 16 German states.
Typical archive sizes: small city-states (Bremen, Hamburg, Saarland) ~20–60 MB, most states ~100–340 MB, Bavaria ~910 MB. The Update Mode drive is limited to 1 GB, so for combinations of display tiles and large routing archives you may need two sessions — see the Update Mode guide.
Transfer the archive to the scooter. The easiest way is Update Mode: drop the *tiles.tar into the maps/ folder of the USB drive that appears, eject, and the scooter installs it automatically. Alternatively, copy it directly to /data/valhalla/tiles.tar on the DBC over SSH. Do not extract the archive either way — Valhalla reads the tar directly via its tile_extract setting. When Valhalla is up and has data loaded, the Navigation menu becomes available on the dashboard automatically.
In Update Mode you only ever see the
maps/ folder on the USB drive — the scooter handles the rest. /data/valhalla/ is the path on the scooter's internal filesystem and only matters when you're SSH'd in. Don't try to create /data/valhalla/ through Update Mode, it won't work.
Pre-built routing tile packages currently cover all 16 German states. For other regions, you can build Valhalla tiles from an OpenStreetMap PBF extract using the standard Valhalla build process.
Remote (online) routing
You can configure Librescoot to use a remote Valhalla server instead of running one locally. The routing endpoint defaults to local (localhost:8002) but can be changed via lsc:
lsc settings set dashboard.valhalla-url https://your-valhalla-server.example/
Use lsc settings list to see the current value.
Map & Navigation settings
The rest of Menu → Settings → Map & Navigation covers how the map is drawn and how routes are costed. Most entries map to a single settings key and Map Updates drives two, so lsc can set the same things.
| Menu entry | Values (default first) | Settings key |
|---|---|---|
| Map View | 3D, 2D | dashboard.map.view-mode |
| Orientation | Heading, North | dashboard.map.north-oriented |
| Route | Fastest, Shortest | dashboard.route-preference |
| Avoid Cobblestone | Medium, Off, Low, High | dashboard.avoid-cobblestone |
| Map Updates | Off, Notify, Download | dashboard.maps.check-for-updates + dashboard.maps.auto-download |
| Map Type | Offline, Online | dashboard.map.type |
| Navigation Routing | Offline, Online | dashboard.valhalla-url |
- Orientation only shows while Map View is 2D. The 3D camera always follows the heading.
- Avoid Cobblestone is a detour budget rather than a hard ban: Low spends up to the travel time the rough stretch itself would have cost, Medium four times that, High eight times. Off switches the avoidance off entirely: the dashboard sends an explicit zero rather than omitting the option, so the router's default (which weighs the same as Medium) never comes into play. It needs routing tiles that classify sett and cobbles; older tiles ignore it. The entry is hidden while Route is Shortest, which costs by distance alone, and while routing runs against the public online Valhalla, which uses stock costing.
- Map Updates is one control over two keys. Notify sets the check on and auto-download off; Download sets both on. The automatic check runs at most weekly, and only once the modem reports a connection. Check for Updates below it asks immediately and shows how long ago the last check ran; that row only appears once maps are installed.
- Offline maps drawn from the current tile packages carry street name labels. Both label layers start at zoom 12: major roads are drawn from there, minor roads stay fully transparent until zoom 16.5 and reach full opacity at zoom 17. A tile file without a street label layer renders without names.
Transferring files via USB (Update Mode)
Update Mode exposes a virtual drive on your computer over USB Mass Storage. Copy map files to it, eject, and the scooter installs them automatically. See the Update Mode guide for full instructions.
In short: enter Update Mode from Settings → System → Update Mode, connect USB, copy your .mbtiles and/or *tiles.tar files into the maps/ folder, and safely eject.
Verifying it works
After transferring files, confirm navigation is active before riding:
- Open the menu (double-tap left brake). If Navigation Setup is no longer listed, your configuration is complete
- If it is listed, tap it to see which component is still unavailable (routing engine, offline display maps, or both)
- Under , the scooter shows the installed offline map and routing data with their coverage and age
For a deeper check over SSH, see the SSH transfer section below: the same connection lets you verify that Valhalla is running and has tiles loaded.
SSH transfer (advanced)
If you have SSH access, you can transfer files directly without Update Mode. The DBC (dashboard computer, at 192.168.7.2) is only reachable via the MDB as a jump host:
ssh -J root@<mdb-ip> root@192.168.7.2
The same connection is useful for diagnosing a half-finished setup. To check that Valhalla is running and has tiles loaded:
systemctl status valhalla curl -s http://localhost:8002/status | python3 -m json.tool
A healthy Valhalla returns {"version": "...", "tileset_last_modified": ...}. If it returns an error, Valhalla has no tiles loaded – check that /data/valhalla/tiles.tar exists. The installed display map should appear as map.mbtiles in /data/maps/.
Display tiles
- Copy the
.mbtilesfile to the DBC:scp -J root@<mdb-ip> tiles_berlin.mbtiles root@192.168.7.2:/data/maps/map.mbtiles
- On the DBC, restart scootui-qt to pick up the new file:
ssh -J root@<mdb-ip> root@192.168.7.2 "systemctl restart scootui-qt"
Valhalla routing tiles
Valhalla reads the .tar archive directly — don't extract it. Just place it at /data/valhalla/tiles.tar.
- On the DBC, create the target directory:
ssh -J root@<mdb-ip> root@192.168.7.2 "mkdir -p /data/valhalla"
- Copy the archive directly to its final location:
scp -J root@<mdb-ip> valhalla_tiles_berlin.tar root@192.168.7.2:/data/valhalla/tiles.tar
- Restart Valhalla:
ssh -J root@<mdb-ip> root@192.168.7.2 "systemctl restart valhalla"