JBD / Xiaoxiang Smart Bluetooth BMS

All the information I could find on JBD / Xiaoxiang Smart Bluetooth BMS

Table Of Contents


Xiaoxiang BMS
Apps

Wiring Diagram
Soft Switch
Bluetooth Module / UART (Serial)
Third Party Software

Credit:
Much of the information compiled here was found in threads on Endless-Sphere, in particular, this thread.

Xiaoxiang BMS

The Xiaoxiang Bluetooth Battery Management System (BMS) is a powerful and affordable chinese bms available on Aliexpress and Ebay.

Notable Features:

  • Available in 3s up to 25s configuration
  • Configurable balance turn on voltage (balancing works with 80/90% charger modes)
  • 1-3 temp probes for low temperature/high temperature cut off.
  • Software switch allows load/charge disconnect
  • Multiple chemistry support (Lithium-ion, LiFePO4)
  • Onboard UART allows configuring parameters on the fly and monitoring with the use of a UART to Bluetooth Module or UART to USB module.

Apps

Android

Other Android Versions:

As of 2020-02-07, the current latest version is 3.1.1013

No support for Android 10 as of 3.1.1013 (bluetooth pairing failure), JBD is working on a patch. ETA Eventually™

iOS

Windows


Wiring Diagram

Hookup guide (relabled, 13s example):

Below is a visual guide to connecting both battery management system (BMS) and battery to load and charger. Wiring example for a 13S bms and battery is shown.

Visual guide to connecting both battery management system (BMS) and battery to load and charger. Wiring example for a 13S bms and battery is shown.

Below is a visual guide to wiring 13s balance wires. Shows order of balance wires coming out of the balance connector. Your application may have more or less balance wires.

Visual guide to wiring 13s balance wires. Shows order of balance wires coming out of the balance connector.

I recommend labelling the balance wires with stickers showing their number order and doing the same on the battery. It will reduce errors when you go to install the wires.

After connecting the BMS to the battery, check the battery state in the app.

Finding voltage range box marked in red in xiaoxiang app.

Above: After pairing the app with the battery, press "voltage range" on the main screen (boxed in red in the above screenshot).

Example of cell groups with healthy voltages in xiaoxiang app.

Above: All cell groups show healthy voltage status.

Troubleshooting:

  • If any group is too high, you likely have the balance wire order mixed up. Check your balance wiring.
  • If any group reads 0V, you likely have loose or unconnected balance wires. If balance wires are correct on the battery side, try reseating the balance connector on the BMS.
  • If the first group reads 0V, battery main negative wire likely not connected to the BMS. Battery main negative wire is required to properly read voltages on all groups.
  • If issues continue to persist, it's likely one or more of the balance channels are defective and the BMS needs to be replaced.

Soft Switch

This Bluetooth BMS has the ability to be switched on using a physical switch. Switch functionality can be enabled by connecting a latching switch (toggle switch) to K1. K1 does not have a JST connector by default, either solder one or solder wires to the pads. Switch functionality must be enabled in Windows JBDTools or in Android Xiaoxiang App V3 or newer (Older versions are missing the toggle).

A switch can be connected to k1 on the BMS PCB, circled in red.

Above: 13S Xiaoxiang BMS with heatsinks removed. A switch can be connected to k1 on the BMS PCB, boxed in red.


Bluetooth Module / UART (Serial)

Bluetooth Module is an LH-BT05 bluetooth to serial module. It is connected to the UART on the BMS main microcontroller (Atmel 328p).

Using third party bluetooth to serial module:

UART port on Xiaoxiang BMS does not put out 3.3V or 5V on VCC! It is ~10V! Connecting VDD to a serial to USB adapter may fry the adapter and/or damage your computer's USB port. Leave VDD unconnected.


Third Party Software / API / Technical Information

Read BMS over Bluetooth using an ESP32:
https://github.com/kolins-cz/Smart-BMS-Bluetooth-ESP32

Interface BMS with Arduino (Wired):
https://github.com/bres55/Smart-BMS-arduino-Reader

Code for working with BMS protocol:
https://hackaday.io/project/162806-jbd-bms-protocol
https://hackaday.io/project/162806-jbd-bms-protocol/log/166769-code-for-working-with-bms

Reverse Engineering BMS protocol:
https://endless-sphere.com/forums/viewtopic.php?t=91672
https://www.dropbox.com/s/03vfqklw97hziqr/%E9%80%9A%E7%94%A8%E5%8D%8F%E8%AE%AE%20V2%20%28%E6%94%AF%E6%8C%8130%E4%B8%B2%29%28Engrish%29.xlsx?dl=0 (Protocol Description In Excel Spreadsheet)

Open Source Third Party BMS Firmware:
https://github.com/BotoX/xiaomi-m365-compatible-bms

Back To Top