• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Android app for Bafang BBS01/BBS02/BBSHD (UART, OEM + bbs-fw)

moskil

🧲 New user
Joined
Sep 17, 2025
Messages
3
Location
UE
Hello,

I made EggSPEED, an Android application for programming Bafang BBS01, BBS02, and BBSHD mid-drive controllers, communicating directly with the controller over UART via the standard USB OTG programming cable. It was built as a single tool covering both firmware ecosystems, so you don't need separate apps depending on what's flashed to your controller.

1.jpeg
Supported Firmware

The application supports two firmware variants, switchable in Settings: factory OEM Bafang firmware, and bbs-fw, the open firmware developed by Daniel Nilsson. Both are handled by the same app and the same cable - switching firmware on the controller only requires selecting the matching mode in the app, nothing else changes on the phone side.

Functionality

  • Live dashboard replacing the factory display (speed, battery level, power, brake status)
  • Full read and write access to controller configuration, including while riding
  • Dedicated configuration screens for bbs-fw, matching the layout of the official Windows configuration tool
  • Current and voltage calibration for controllers with a shunt mod or a known pack voltage offset
  • Battery range and energy usage estimates based on riding history
  • Named configuration profiles that can be saved, exported, and imported, with a check that blocks loading a profile onto the wrong firmware
  • Value validation before any write, with confirmation that the controller actually accepted it
  • No firmware flashing capability - configuration read/write only
UPDATE 31.08.2026
  • Language support expanded from 2 to 11 (German, French, Spanish, Portuguese, Italian, Dutch, Swedish, Czech, Slovak added), including the bbs-fw configuration screens
  • Battery SAG measurement: passive background estimate from normal riding, plus a guided rest/load/rest test for a controlled, repeatable reading
  • Speed calibration multiplier, same approach as the existing current calibration, with an optional GPS speed comparison on the dashboard
  • Lock screen / AOD display via a media-session notification, so the phone can sleep instead of keeping the screen lit while riding
  • Time-series charts for power, current, voltage, and speed, 0.5s sampling with 10 minutes of history, per-series toggles and a scrub cursor
  • Light theme and high-contrast mode for outdoor readability


Source and Download
Google Play


Source code and the latest builds are available at: GitHub - moskil2/EggSPEED

Feedback

Bug reports, corrections, and feature requests are welcome - happy to discuss functionality or help troubleshoot if you run into issues with your specific controller.
 

Attachments

  • 1.jpeg
    1.jpeg
    107 KB · Views: 2
  • 2.jpeg
    2.jpeg
    118.3 KB · Views: 2
  • 3.jpeg
    3.jpeg
    100.1 KB · Views: 1
  • 4.jpeg
    4.jpeg
    84.1 KB · Views: 1
  • 5.jpeg
    5.jpeg
    124.6 KB · Views: 1
  • 7.jpeg
    7.jpeg
    88.8 KB · Views: 1
  • 6.jpeg
    6.jpeg
    91.5 KB · Views: 1
  • 8.jpeg
    8.jpeg
    111.1 KB · Views: 1
  • 9.jpeg
    9.jpeg
    93.4 KB · Views: 2
Last edited:
Quick bump - been shipping a bunch of updates to EggSPEED lately, including a big translation pass (11 languages now: PL, EN, DE, FR, ES, PT, IT, NL, SV, CS, SK). If your language isn't in there, tell me and I'll add it.

Coming up next: Road/Offroad assist mode switching for OEM (factory Bafang) controllers, support for triggering assist level changes from a handlebar BT switch, and a BT module to replace the USB OTG cable entirely for a wireless connection to the controller.

Still free, no ads, on Google Play if you want to give it a try - link in the OP
 
Back
Top