Releases: invertium/bms-dash
Release list
BMS Dash 1.2.2
Scan screen improvements
Both from tester feedback (thanks!):
More packs recognized without "show all devices"
The likely-BMS filter previously only matched a handful of names. It now
also recognizes:
- LLT Power brandings,
- bare module model codes some firmwares advertise as their name
(SP04S034,AP21S002, ...), - and — regardless of name — any device advertising the JBD Bluetooth
service (0xFF00), which is the most reliable tell.
If your pack still only shows up under "show all devices", please mention
its advertised name in an issue so the filter can learn it.
A device list you can actually tap
The list was sorted by live signal strength, which changes with every
received advertisement, so rows kept swapping places — and briefly-quiet
devices vanished and reappeared. Rows now keep a stable order (likely BMS
first, then by name) for the duration of a scan while the dBm readout keeps
updating in place.
Install
Download bms-dash-1.2.2.apk below. You may need to allow installing from
unknown sources.
BMS Dash 1.2.1
Fix: the password prompt for protected packs never appeared
1.2.0 shipped support for password-protected Bluetooth modules, but with a
circular flaw: the unlock handshake only ran when a password was already
saved, and the password prompt was only triggered by a handshake failure.
So on first contact with a locked pack nothing probed it, nothing prompted,
and the pack looked dead — "Waiting for battery data...", then a disconnect
back to the connect screen. Thanks to the tester who reported exactly that.
The app now sends the harmless app-key probe on every connect, the same
frame the vendor app always sends. If the pack answers "password required",
you get the password dialog; packs that don't speak the auth protocol at
all (the normal, unprotected kind) simply don't answer and connect as
before, after a short 2-second probe.
Still to verify on real hardware
If your pack now prompts, accepts the password, but shows no readings,
please open an issue — that symptom points at one specific known-missing
step (the vendor's root handshake), which was left out on purpose because
it is factory-level access.
Safety
Unchanged: the unlock frames talk to the Bluetooth module, not the BMS
controller. They write no register, no EEPROM and no factory mode, so the
app still only ever writes register 0xE1 (volatile MOSFET on/off).
Install
Download bms-dash-1.2.1.apk below. You may need to allow installing from
unknown sources.
BMS Dash 1.2.0
Password-protected BMS support
Packs whose Bluetooth module asks for a password now connect directly — no
more opening the Xiaoxiang app first to unlock communication.
Enter the 6-character password when prompted. It is remembered per pack (in
the Android keystore, not in plain settings) so reconnects are automatic, and
a rejected password re-prompts instead of failing silently.
Important
This is untested on real locked hardware. The protocol was derived from
packet captures rather than from a pack I own. If yours unlocks but then
shows no data, please open an issue — that symptom points at one specific
known-missing step (the vendor's root handshake), which was left out on
purpose because it is factory-level access.
Unprotected packs are unaffected: the unlock path stays completely closed
unless a password is set for that device.
Safety
The unlock frames talk to the Bluetooth module, not the BMS controller. They
write no register, no EEPROM and no factory mode, so the app still only ever
writes register 0xE1 (volatile MOSFET on/off). Commands that would overwrite
the stored password or escalate to the vendor root key are deliberately not
implemented.
Install
Download bms-dash-1.2.0.apk below. You may need to allow installing from
unknown sources.
BMS Dash 1.0.0
First release of BMS Dash — a dark, glanceable Android dashboard for JBD / Xiaoxiang smart BMS over Bluetooth LE.
Highlights
- Dashboard: radial SOC gauge, voltage/current/capacity/temperature tiles, decoded protection warnings, device info, and a hardened single toggle for charge + discharge MOSFETs (confirm-and-retry against telemetry, confirmation prompt before cutting power).
- Cells: per-cell bars with relative zoom, min/max/delta/average, live balancing indicators.
- Monitor: gradient time-series graphs for voltage, current, power, SOC and temperature (1 m / 5 m / 15 m / All, touch tooltips, ~1 h history).
- Connectivity: BMS-first device filtering, auto-reconnect on launch, stale-telemetry watchdog.
- Demo mode: built-in simulated 10S pack — explore every screen without hardware.
Safety
The app only ever writes the volatile MOSFET on/off register (0xE1). It never enters factory mode or touches EEPROM/protection settings.
Install
Download the APK below and install it (enable "install from unknown sources" if prompted). Requires Android 5+ with Bluetooth LE; tested against a JBD SP17S005P17S80A.