unu Scooter Pro - Technical Documentation¶
Reverse-engineered technical documentation of the unu Scooter Pro.
What changed in v1.3.1¶
- Timed wake from hibernation works again. pm-service keeps the nRF52 wake-timer acknowledgement across an inhibitor bounce and restores the modem after an aborted suspend, and nRF firmware v2.10.0-ls starts the wake timer when hibernation starts instead of leaving it disarmed.
- update-service refuses a full
.menderfor the version the board already runs before writing anything, and keeps the DBC's pending-reboot flag across the power-off, so a dashboard install is not lost when its power drops. - bluetooth-service applies the same-version refusal to a BLE OTA bundle at START,
answering
START_ACK 0x14in one round trip instead of at install time. - The USB import stage accepts
.deltaupdate files and drops therpms/tree, which nothing used. A UMS-initiated MDB or DBC install now reports its reboot wait and result instead of ending silently. - alarm-service suppresses the alarm for the duration of a USB mass-storage session, which would otherwise trip the any-motion engine when the cable is plugged or unplugged, and motion-service drops to its idle profile meanwhile.
- The dashboard gains a configurable speedometer scale with warn and overspeed
thresholds, configurable road-name and speed-limit visibility, and battery
capacity and low-SOC rows. battery-service publishes that capacity, fault code
and low-SOC data, and
lscprints battery detail and UMS cycle results. - modem-service follows SIM insertion and removal, hardens GPS source startup, and serializes GPS recovery with modem shutdown.
- vehicle-service publishes the saved vehicle state before hardware init, so a BLE client sees a state seconds earlier. uplink-service collects canonical board versions for telemetry.
- The MDB's PPP link to the DBC uses UART3 with SDMA.
lsd, the web management interface, is deferred and not part of this release.
nRF firmware¶
Ships nRF firmware v2.10.0-ls, up from v2.9.0-ls in v1.3.0.
- The wake timer is armed when hibernation starts, so a scheduled hibernation wake fires on time. This is the firmware half of the timed-wake fix above.
System Architecture¶
The unu Scooter Pro uses a distributed architecture with several key systems:
Core Electronics¶
- Middle Driver Board (MDB) - Central control system
- Manages power distribution and system communications
- Coordinates motor control and battery management
- Provides cellular connectivity via SIM7100E module
- USB gadget, connected to DBC, exposes USB Ethernet
-
Handles wakeup/sleep states
-
Dashboard Controller (DBC)
- Freescale i.MX6 processor
- Manages display and user interface
- NFC reader for keycard authentication
-
USB host, connected to MDB
-
Electronic Control Unit (ECU)
- BOSCH/Lingbo motor controller
- unu 4kW: 4kW peak / 2.7kW continuous
- unu 3kW: 3kW peak / 1.9kW continuous
- Encrypted CAN bus communication
- Controls motor and regenerative braking
Power Systems¶
- Main Battery System
- 14s7p configuration using INR22/71-7 cells
- 50.8V nominal, 58.2V max charging voltage
- 35Ah/1778Wh capacity
- NFC communication for data channel
-
LED status ring
-
Auxiliary Power
- 12V auxiliary lead-acid battery for core systems
- DC/DC converter for system power
- Connectivity Box Battery (CBB, Lithium-Ion) for cellular/GPS
Communication Interfaces¶
- Bluetooth LE - Local device connectivity
- Service UUIDs documented in Bluetooth Docs
- Device control and status monitoring
-
Firmware updates over BLE (OTA transfer protocol)
-
Cellular - Remote connectivity
- SIM7100E module on MDB
- Remote diagnostics and updates
-
User app connectivity
-
Redis - Internal communication
- Runs on 192.168.7.1:6379 (MDB)
- Inter-process communication
- System state management
- Full Redis documentation
Hardware Details¶
Detailed documentation available for:
Software Services¶
The MDB runs several system services that coordinate vehicle operations. For detailed documentation of each service, see Services Documentation.
Librescoot Services¶
Librescoot provides open-source replacement firmware for unu Scooter Pro systems, including:
- Core System Services: alarm, battery, bluetooth, ECU, keycard, modem, power management, settings, vehicle
- Dashboard Services: backlight control, illumination monitoring
- Update Services: OTA updates, version tracking
- Communication Services: nRF52 UART protocol
For complete Librescoot service documentation, see Librescoot Services.
System States¶
The scooter operates in several power states:
- Hibernating
- Booting
- Stand-By
- Parked
- Ready
- Shutting Down
State transitions are triggered by:
- User actions (lock/unlock)
- Power management events
- System commands
Detailed state diagrams and transitions
Command-Line Tools¶
lsc - Librescoot Control CLI¶
lsc is a comprehensive command-line tool for controlling and monitoring Librescoot systems. It provides easy access to:
- Vehicle control (lock/unlock, hibernate)
- Service management (start/stop/logs)
- Battery and GPS monitoring
- Alarm system control
- Settings management
- OTA updates
- System diagnostics
See lsc documentation for complete command reference.
Quick examples:
lsc status # Show overall system status
lsc lock # Lock the scooter
lsc battery # Show battery information
lsc svc list # List all services
lsc svc logs vehicle -f # Follow vehicle service logs
Development Access¶
- MDB UART, Pin 1 = GND, Pin 2 = TXD, Pin 3 = RXD
- MDB access: 192.168.7.1
- DBC access: 192.168.7.2 - connect via SSH (root@192.168.7.2) from MDB
- Redis: 192.168.7.1:6379