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 → SettingsMap & NavigationMap 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:

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.

Coverage note
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.

Two different paths, same file
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.
Coverage note
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 entryValues (default first)Settings key
Map View3D, 2Ddashboard.map.view-mode
OrientationHeading, Northdashboard.map.north-oriented
RouteFastest, Shortestdashboard.route-preference
Avoid CobblestoneMedium, Off, Low, Highdashboard.avoid-cobblestone
Map UpdatesOff, Notify, Downloaddashboard.maps.check-for-updates + dashboard.maps.auto-download
Map TypeOffline, Onlinedashboard.map.type
Navigation RoutingOffline, Onlinedashboard.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:

  1. Open the menu (double-tap left brake). If Navigation Setup is no longer listed, your configuration is complete
  2. If it is listed, tap it to see which component is still unavailable (routing engine, offline display maps, or both)
  3. Under Menu → Info → Maps, 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

  1. Copy the .mbtiles file to the DBC:
    scp -J root@<mdb-ip> tiles_berlin.mbtiles root@192.168.7.2:/data/maps/map.mbtiles
  2. 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.

  1. On the DBC, create the target directory:
    ssh -J root@<mdb-ip> root@192.168.7.2 "mkdir -p /data/valhalla"
  2. 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
  3. Restart Valhalla:
    ssh -J root@<mdb-ip> root@192.168.7.2 "systemctl restart valhalla"

← Installation USB File Transfer →