JFBMS Master User Manual

JFBMS Master User Manual

This guide explains how to connect, configure, test, and update the JFBMS Master. It is written for users who are new to VESC Tool and battery-management systems.

Important Safety Information

WARNING: JFBMS Master is intended for high-voltage lithium battery systems. Incorrect wiring or settings can cause electric shock, fire, battery damage, or serious injury.

  • Only work on the battery if you understand high-voltage battery safety.
  • Use suitable fuses, insulation, wiring, connectors, and protective equipment.
  • Never guess the order of the cell-balance wires.
  • Do not charge the battery until all cell voltages and temperatures are correct.

The firmware is still under active development. During initial use, closely monitor the battery system and report software bugs or unexpected behaviour to JetFleet.

1. What the JFBMS Master Does

The JFBMS Master is the main controller of the battery-management system. It receives cell-voltage and temperature data from the slave boards and uses this information to control charging, balancing, battery percentage, and communication with VESC motor controllers.

  • Monitors individual cell voltages and temperatures
  • Controls battery charging
  • Balances cells
  • Measures charging current
  • Calculates battery percentage, Ah, and Wh
  • Communicates with VESC controllers over the main CAN bus
  • Supports Bluetooth and WiFi
  • Automatically enters sleep and shutdown modes

The Master must be used with at least one JFBMS Slave board. The slaves measure the cells; the Master makes the decisions.

2. What You Need

  • JFBMS Master
  • One or more JFBMS Slave boards
  • Correct cell-balance wiring
  • Temperature sensors
  • USB-C data cable
  • Computer with VESC Tool installed
  • Battery information: cell count, capacity in Ah, chemistry, and charging limits

Download VESC Tool from the official VESC Project website. Use a USB data cable, not a charge-only cable.

3. How the System Is Connected

  1. The battery cells are connected to the Slave boards.
  2. The Slave boards are connected to the Master through the private Slave CAN bus.
  3. The Master is connected to the VESC controllers through the main CAN bus.

The BMS does not replace correct battery construction. The battery still requires appropriate fuses, insulation, wiring, connectors, and other safety components.

4. Configure the Slave Boards First

Configure every Slave board before configuring the Master. Connect and configure one Slave at a time through USB.

Slave IDs

Slave IDs must start at 1 and continue without gaps.

Slave Cells monitored Slave ID
Slave 1 Cells 1–32 1
Slave 2 Cells 33–64 2

For a 64S battery, Slave 1 monitors cells 1–32 and Slave 2 monitors cells 33–64. Never use duplicate IDs or leave gaps.

Connect a Slave to VESC Tool

  1. Connect one Slave directly to the computer using USB-C.
  2. Open VESC Tool.
  3. Select the correct USB port.
  4. Click Connect.
  5. The device should appear as JFBMS_SLAVE.

Slave Settings

Setting What it means What to set
Slave ID Address of the Slave board 1, 2, 3, etc.
CAN Baud Rate Speed of the private Slave bus 500K
Cells IC1 Cells connected to monitoring chip 1 Actual number, 3–16
Cells IC2 Cells connected to monitoring chip 2 Actual number, or 0 if unused
BQ1 External Temperature Sensor Sensor connected to IC1 Enable only if fitted
BQ2 External Temperature Sensor Sensor connected to IC2 Enable only if fitted
NTC Resistance Thermistor resistance Usually 10 kΩ
NTC Beta Thermistor B-value Usually 3435

The cell count must exactly match the cells connected to that Slave. After changing the settings, click Write, restart the Slave, and repeat the process for the next board.

Only enable temperature inputs that have a sensor physically connected. An enabled but disconnected sensor can block charging.

5. Connect the Master

  1. Connect the battery and all configured Slave boards correctly.
  2. Connect the Master to the computer using USB-C.
  3. If the Master is asleep or shut down, connect USB or the charger to wake it.
  4. Open VESC Tool.
  5. Select the correct USB port and click Connect.

The device should appear as JFBMS_MASTER. The default Bluetooth name is VESC BMS. Use USB for the first setup.

6. Master Settings

Open the BMS settings section and change the following values:

Setting What it means Recommended setting
CAN ID Master address on the main CAN bus Default 3, unless already used
CAN Baud Rate Speed of the main CAN bus to the ESCs Must match the ESCs, normally 500K
Number of Slaves Number of Slave boards in the system Actual number of Slaves
Ah Coulomb Counting Battery capacity used for battery percentage Actual battery capacity
Cell Voltage Empty Voltage considered empty Usually 3.10 V for standard Li-ion
Cell Voltage Full Voltage considered full Usually 4.20 V for standard Li-ion

Example for a 20 Ah, 64S Li-ion battery with two Slaves:

  • CAN ID: 3
  • CAN Baud Rate: 500K
  • Number of Slaves: 2
  • Ah Coulomb Counting: 20
  • Cell Voltage Empty: 3.10 V
  • Cell Voltage Full: 4.20 V

After changing the settings, click Write and restart the Master.

The CAN Baud Rate setting applies to the main CAN bus connected to the VESC controllers. The private Slave bus is fixed at 500K.

7. Battery Chemistry and Charging

The default voltage settings are intended for standard Li-ion or Li-polymer cells. Do not use Li-ion settings for LiFePO₄ cells.

For LiFePO₄ or another chemistry, use the voltage and temperature limits specified by the cell manufacturer.

In the Charging section, check the maximum charge current, charge voltage, and temperature limits. The charge current must not exceed the limit of the BMS, charger, battery cells, wiring, connectors, or cooling system.

The default maximum charge current is approximately 12 A. Do not increase it unless the complete system is designed and cooled for the higher current.

8. Sleep and Shutdown

Block Sleep Mode

Leave Block Sleep Mode enabled during initial setup. This keeps the Master awake while you configure and test the system.

After the system has operated correctly for approximately one hour, Block Sleep Mode should clear automatically on supported firmware. If it remains enabled, check for missing Slaves, incorrect cell counts, temperature faults, or CAN communication problems.

Shutdown Time

The default shutdown time is approximately 15 days. After this period without use, the Master enters an extremely low-power shutdown mode.

The timer is reset by an enable signal, connecting to the system, or connecting the charger. To wake the Master from full shutdown, connect the charger.

9. First Test

After writing the settings and restarting the Master, open the BMS live-data page and check:

  • All expected Slave boards are visible
  • Every cell has a realistic voltage
  • No cell shows 0 V
  • Cell voltages are in the correct order
  • Temperatures are realistic
  • Total pack voltage is correct
  • No communication or sensor faults are shown

Do not ride or charge the battery if a cell shows 0 V, a Slave is missing, the cell order is incorrect, or a temperature fault is present.

10. Programming the JFBMS Master

Configuration changes are made in VESC Tool using Write. Programming means replacing the software on the device. Only program the Master when you have the correct files for the exact hardware.

The current Master uses an ESP32-C6. The programming layout shown below is the correct layout for the Master:

Flash address File
0x0000 bootloader.bin
0x8000 partition-table.bin
0x20000 master_26.7.2026.bin

Use the newest Master firmware file supplied by JetFleet. The filename may change with future releases.

Full Firmware Programming

  1. Connect the Master to the computer using USB-C.
  2. Open the ESP web flasher.
  3. Click Connect and select the Master USB/COM port.
  4. Confirm that the device is detected as ESP32-C6.
  5. Click Erase Flash and wait until the erase is complete.
  6. Set the first flash address to 0x0000 and select bootloader.bin.
  7. Set the second flash address to 0x8000 and select partition-table.bin.
  8. Set the third flash address to 0x20000 and select the latest Master application file.
  9. Click Add File if required by the ESP Tool interface.
  10. Leave Flash Mode, Flash Frequency, and Flash Size set to Keep.
  11. Click Program.
  12. Wait until programming has completely finished before disconnecting USB.

Upload the Lisp Software

JFBMS Master uses a .lisp file instead of the .vescpkg package used by JFBMS32. This allows faster software updates during development.

  1. Open VESC Tool and connect to the Master.
  2. Open the LispBM/Lisp programming section.
  3. Load the correct .lisp file supplied by JetFleet.
  4. Upload the file to the Master.
  5. Restart the Master.
  6. Reconnect and verify that the BMS settings and live data work correctly.

If you are only updating the Lisp software, do not erase the flash or reprogram the bootloader unless JetFleet specifically instructs you to do so.

Never install JFBMS32 firmware or a JFBMS32 package on the JFBMS Master.

11. Troubleshooting

No cell voltages

Check the Number of Slaves, Slave IDs, cell counts, Slave CAN wiring, and balance-wire connections.

A Slave is missing

Check that the IDs are unique and continuous, the Slave CAN baud rate is 500K, the Master Number of Slaves setting is correct, and the Slave has power.

A cell shows 0 V

Check the balance-wire order, missing wires, cell-count settings, and the Slave assigned to that cell group. Do not charge until corrected.

Temperature fault

Check that the thermistor is connected, the correct input is enabled, and the resistance and beta values match the sensor.

The battery discharges during storage

Check that Block Sleep Mode is disabled and that no communication or sensor fault is preventing sleep.

The Master will not wake up

Connect the USB cable or charger and wait several seconds. Then refresh the USB port list in VESC Tool.

Bluetooth cannot find the Master

The default Bluetooth name is VESC BMS. Use USB if Bluetooth is disabled or the name has been changed.

12. Audible Warnings

Beep pattern Meaning
Two short beeps Power on
One long beep Power off
Three short beeps Charging complete
Four fast beeps Shutdown is about to begin
One beep, pause, repeat Over-temperature
Two beeps, pause, repeat Cell voltage too high
Three beeps, pause, repeat Cell voltage too low
Four beeps, pause, repeat Over-current
Five beeps, pause, repeat BQ communication fault

13. Contacting Support

When contacting JetFleet, include the battery configuration, battery chemistry, capacity, number of Slaves, Slave IDs, screenshots of the BMS live data and settings, displayed error messages, and photos of the wiring if relevant.

Open the JFBMS Slave manual