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 +xif 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:
- Remove both main batteries from their slots
- Disconnect the Connectivity Battery (CB) — front-left in the footwell
- Disconnect the AUX battery — back-right in the footwell
Failure to disconnect batteries can damage the MDB or cause electrical hazards.
Footwell panel (closed)
Footwell open
CB connector (disconnected)
AUX battery (disconnected)
Step 1: Flash the MDB
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.
Connect serial and interrupt U-Boot
Connect your 3.3V serial adapter to the MDB's UART header:
| Pin | Signal |
|---|---|
| 1 | GND |
| 2 | TX (MDB transmits) |
| 3 | RX (MDB receives) |
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.
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.
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.
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:
| Pin | Signal |
|---|---|
| 1 (square) | GND |
| 2 | — |
| 3 | — |
| 4 | RX (DBC receives) |
| 5 | TX (DBC transmits) |
| 6 | — |
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.
Enter USB mass storage mode
At the U-Boot prompt:
ums 0 mmc 2
Note: the DBC uses mmc 2, not mmc 1.
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.