Stable software. Tested on all three platforms against real hardware. Flashing firmware carries inherent risk; use at your own risk, with no warranty expressed or implied.
Part of the Librescoot open-source platform.
Cross-platform desktop app for installing Librescoot on unu scooters (MDB + DBC).
Step-by-step wizard for converting stock scooterOS to Librescoot:
- Download firmware and map tiles from GitHub releases (stable/testing/nightly)
- Connect to the MDB over USB RNDIS, detect hardware, read serial and firmware version
- Flash MDB: set U-Boot to mass storage mode, write image with
librescoot-flasher(bmap support for sparse writes) - Flash DBC: autonomous "trampoline" process where the MDB switches to USB host, flashes the DBC, and reboots
- Post-install: offline map tiles, Bluetooth pairing, keycard setup
Also handles Librescoot-to-Librescoot re-flashing (detects installed firmware, offers skip options).
Grab the latest build for your platform at downloads.librescoot.org.
| Platform | MDB Flash | DBC Flash | Notes |
|---|---|---|---|
| Linux | Yes | Yes | Primary, tested end-to-end |
| macOS | Yes | Yes | Uses authopen for raw disk access |
| Windows | Yes | Yes | Bundled RNDIS driver, diskpart for disk management |
- USB cable (laptop Mini-B to scooter MDB)
- PH2 or H4 screwdriver for the footwell screws
- About 20 minutes
The installer handles elevation, driver installation, and network config on its own.
| Mode | VID | PID | What |
|---|---|---|---|
| Ethernet (RNDIS) | 0525 |
A4A2 |
SSH access for bootloader config |
| Mass Storage (UMS) | 0525 |
A4A5 |
Direct eMMC access for flashing |
| Recovery (NXP) | 15A2 |
0061 |
DBC i.MX6SL boot ROM in SDP / serial-download mode (detected, not used) |
| Recovery (NXP) | 15A2 |
007D |
MDB i.MX6UL boot ROM in SDP / serial-download mode (detected, not used) |
lib/ # Flutter/Dart GUI
screens/installer_screen.dart # Wizard flow
services/
ssh_service.dart # SSH, bootloader config
flash_service.dart # Platform-specific writes
download_service.dart # GitHub releases, caching
trampoline_service.dart # Autonomous DBC flash
usb_detector.dart # USB device detection
network_service.dart # RNDIS interface config
assets/
tools/ # Platform binaries (flasher, fw_setenv)
FLASHER_VERSION # Pinned librescoot-flasher tag
drivers/ # Windows RNDIS driver
trampoline.sh.template # DBC flash script, runs on MDB
images/ # Instructional photos
scripts/
update-flasher.sh # Pull flasher binaries from upstream
The flash tool is maintained in librescoot/librescoot-flasher.
CI fetches the release artifacts pinned in assets/tools/FLASHER_VERSION
before each build; for local development run scripts/update-flasher.sh.
flutter pub get
scripts/update-flasher.sh # populate assets/tools/ with flasher binaries
flutter run -d linux # or macos, windowsRelease builds:
flutter build linux --release
flutter build macos --release
flutter build windows --releaseCross-compile the flasher:
cd flasher && make build-allThis project is dual-licensed. The source code is available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The maintainers reserve the right to grant separate licenses for commercial distribution; please contact the maintainers to discuss commercial licensing.
