Installation

This guide covers installing LibreScoot on your unu Scooter Pro.

Installer App (Recommended)

The installer is a desktop app that walks you through the entire process. It handles firmware downloads, flashing both boards, and setting up offline maps. You just need a USB cable and a screwdriver.

Beta software

The installer is in beta. While we have tested on all platforms against real hardware, things can still go wrong. In the worst case, your scooter might become inoperable without deeper intervention. Use at your own risk, no warranty expressed or implied. For support, try Discord, but keep in mind we're all volunteers.

What you need

  • unu Scooter Pro
  • USB cable (Mini-B on the scooter side)
  • PH2 screwdriver or H4 hex driver for the footwell panel screws
  • About 20 minutes

Download

Version 0.9.0 (beta) · All downloads · All releases · Source code

First launch notes

The macOS build is signed and notarized, so it opens with no warning. The Windows build is not yet code-signed.

  • Windows: SmartScreen will flag the installer. Click More info, then Run anyway.
  • Linux: Make the binary executable with chmod +x if needed.

The installer handles driver installation, network setup, and elevation on its own. On Linux, it needs to run as root for USB access. On macOS, it will prompt for your password. On Windows, it installs a USB Ethernet driver automatically.


Manual Installation

If the installer doesn't work for your setup, you can flash both boards manually using a serial adapter and U-Boot. This is more involved: you need physical access to both boards and their UART debug headers.

Before you begin

Manual installation requires comfort with the command line and serial terminals. If that's not you, use the installer app above or ask on Discord.

What you need

  • unu Scooter Pro (2020+ model)
  • 3.3V USB-to-serial adapter (do NOT use 5V, it will damage the boards)
  • USB cable (Mini-B on the scooter side)
  • Linux or macOS computer
  • Serial terminal (screen, minicom, or similar)
  • Tools:
    • PH2 Phillips or H4 hex driver for footwell panel screws
    • H5 hex driver to loosen the MDB mounting
    • Torx T10 for MDB case screws

Firmware files

Download the .sdimg.gz files for both MDB and DBC from downloads.librescoot.org or the GitHub releases page. Each release includes:

  • .sdimg.gz — compressed raw disk image (required)
  • .sdimg.bmap — block map for sparse writes (optional, speeds up flashing)

The .mender files in the release are for over-the-air updates to scooters already running LibreScoot. Don't use them for fresh installs.

If you want to use bmap (recommended, faster and checksummed), also grab librescoot-flasher from its releases page. Binaries are available for Linux (amd64, arm64, arm), macOS (arm64), and Windows (amd64).

Safety

Disconnect all batteries first

Before unplugging anything or removing the MDB, you MUST disconnect all batteries in this order:

  1. Remove both main batteries from their slots
  2. Disconnect the Connectivity Battery (CB) — front-left in the footwell
  3. Disconnect the AUX battery — back-right in the footwell

Failure to disconnect batteries can damage the MDB or cause electrical hazards.

Footwell panel with screws

Footwell panel (closed)

Footwell panel removed, internals visible

Footwell open

CBB connector disconnected

CB connector (disconnected)

AUX battery with terminals disconnected

AUX battery (disconnected)

Step 1: Flash the MDB

1

Remove and open the MDB

Remove the footwell cover, disconnect the batteries (see above), then remove the MDB from the scooter (H5 hex). Open the MDB case (Torx T10) to access the UART debug header.

2

Connect serial and interrupt U-Boot

Connect your 3.3V serial adapter to the MDB's UART header:

PinSignal
1GND
2TX (MDB transmits)
3RX (MDB receives)
MDB board with UART pinout labeled: Pin 1 GND, Pin 2 TX, Pin 3 RX

Open a serial terminal at 115200 baud, 8N1, no flow control:

screen /dev/ttyUSB0 115200

Power the MDB and press spacebar repeatedly to interrupt the boot and reach the U-Boot prompt.

3

Enter USB mass storage mode

At the U-Boot prompt, expose the eMMC as a USB storage device:

ums 0 mmc 1

Connect your laptop to the MDB's Mini-B USB port. The eMMC appears as a block device on your computer (e.g. /dev/sdX). Use lsblk to identify it — it should be about 7.3 GB.

USB cable connected to MDB Mini-B port
4

Flash the firmware

With librescoot-flasher (recommended — supports bmap sparse writes with per-block checksums):

# With bmap (faster, checksummed):
sudo ./librescoot-flasher \
  --image librescoot-unu-mdb-*.sdimg.gz \
  --bmap librescoot-unu-mdb-*.sdimg.bmap \
  --device /dev/sdX

# Without bmap:
sudo ./librescoot-flasher \
  --image librescoot-unu-mdb-*.sdimg.gz \
  --device /dev/sdX

With dd (fallback):

gunzip -c librescoot-unu-mdb-*.sdimg.gz \
  | sudo dd bs=4M of=/dev/sdX oflag=direct
sudo sync

Double-check your target device. Writing to the wrong /dev/sdX will destroy data on that drive.

Step 2: Flash the DBC

The DBC (dashboard computer) also needs to be flashed. Its UART header is accessible from the bottom of the unit, next to the main connectors — you don't need to open the case.

5

Connect serial to the DBC

The DBC has a 6-pin UART header (accessible from the bottom, next to the main connectors). Pin 1 is the square pad:

PinSignal
1 (square)GND
2
3
4RX (DBC receives)
5TX (DBC transmits)
6
DBC board with UART pinout labeled: Pin 1 GND, Pin 4 RX, Pin 5 TX

If you get no output, try swapping pins 4 and 5. Same settings as MDB: 115200 baud, 8N1, 3.3V. The DBC can be powered via its Mini-USB connector or through the 16-pin connector. Power it up and press spacebar to interrupt U-Boot.

6

Enter USB mass storage mode

At the U-Boot prompt:

ums 0 mmc 2

Note: the DBC uses mmc 2, not mmc 1.

7

Flash the DBC firmware

Same process as the MDB, using the DBC image files:

sudo ./librescoot-flasher \
  --image librescoot-unu-dbc-*.sdimg.gz \
  --bmap librescoot-unu-dbc-*.sdimg.bmap \
  --device /dev/sdX

Or with dd:

gunzip -c librescoot-unu-dbc-*.sdimg.gz \
  | sudo dd bs=4M of=/dev/sdX oflag=direct
sudo sync

Step 3: Reassemble and First Boot

Reinstall both boards, reconnect all batteries in reverse order of disconnection (AUX first, then CB, then main batteries), and power on the scooter.

The dashboard should display the LibreScoot boot animation. Once booted, you can connect via USB Ethernet (ssh root@192.168.7.1) or serial to verify:

lsc status

Reverting to stock

The installation does not back up your original firmware. If you need to revert, you can reflash with stock firmware images using the same process. Ask on Discord for details.

After Installation

Set Update Channel

Switch channels using the lsc CLI. stable is the recommended channel; testing gives you early access to new features, and nightly is for developers.

lsc ota channel stable    # or: testing, nightly
lsc ota check             # check for updates

Register Keycards

On a fresh install with no keycards registered, the keycard service starts in auto-learn mode. The first card you tap becomes the master keycard. After that, hold the master card to the reader to start teach-in mode, then tap any new card to register it. You can also add keycards manually by UID:

lsc keycard add 04:2A:3D:6A:0D:65:80

Install Offline Maps

If you want offline navigation, download map tiles and routing data for your region from downloads.librescoot.org and copy them to the DBC. See offline navigation for details.

Troubleshooting

  • No serial output — verify TX/RX aren't swapped (MDB and DBC have different pinouts), check baud rate (115200), confirm your adapter is 3.3V
  • Can't interrupt U-Boot — start pressing spacebar before powering on the board, press rapidly and repeatedly
  • eMMC doesn't appear as USB device — check the Mini-B cable, try a different USB port on your computer
  • Dashboard doesn't power on after reassembly — check DBC USB connection to MDB, verify battery reconnection order
  • OTA updates fail after install — check modem connectivity with lsc status

For more help, join the Discord community.

← Services Reference