SW102 Firmware
Open-source firmware that replaces the stock SW102 firmware entirely - a redesigned cockpit, a full settings menu, and Bluetooth OTA updates, built from scratch for genuine Bafang mid-drive controllers (BBS01/
Boot screen
Cockpit
Cockpit (large speed)
Data screen
Assist level, Type B
Rotated 180 degrees
Menu
Assist level programming
Speaks the standard Bafang display UART protocol directly - no intermediate box, no adapter.
Update the firmware over Bluetooth after the first flash - no need to open the display again. Watch how it works.
Battery voltage measured in 0.1 V steps. Optional Precise mode computes the battery percentage locally from that voltage, for controllers whose own reporting runs inaccurate.
A real energy-use model blends your riding history with your current style into a live range estimate - not a static number.
Built on top of the community anszom/SW102_LCD fork, itself GPL-3.0 licensed.
A Rust-based emulator compiles and runs the real firmware C code on a PC, for testing layout and logic without hardware.
Runs on the display's existing Nordic nRF51822 BLE SoC - no hardware modification needed.
BBS01/BBS01B, BBS02/BBS02B, BBSHD, M400, M420, M620/G510 Ultra - the standard Bafang display protocol family.
This is firmware, not an app - it has no internet connection of any kind. It talks to the motor controller over a wired UART cable, and to a phone over Bluetooth only for firmware updates (DFU) - nothing is ever sent anywhere online.
Free and open source, for genuine Bafang mid-drive controllers. Source, install instructions, and releases on GitHub.