Smart battery management · 6S–12S

MODB-BB

Every cell on the bus.

MODB-BB watches every cell of a 6S–12S drone pack, balances it on its own, and reports all of it to the flight controller over isolated CAN.

Rev A · Alpha build · firmware in development

MODB-BB Rev A board, 3D render
MODB-BB Rev A · KiCad render · 109 × 62 mm
6–12S
series cells · LiPo, LiHV, Li-ion
±5mV
cell accuracy at 25 °C (monitor IC)
100mA
balancing per cell, autonomous
CAN FD
isolated · 2 pass-through ports
2–5µA
ship mode · design estimate
−20…85°C
operating ambient · design target

01 / In plain words

It sees what the flight controller can’t.

MODB-BB sits on the pack’s balance lead and reports what a power module never shows: every cell voltage, five temperatures, balance state, charge and health. It speaks standard DroneCAN, so the flight controller needs no custom driver.

What it is

A monitor, balancer, fuel gauge and CAN node.

For 6S–12S packs. It mounts inside the pack as a smart-battery board, or on the airframe on the balance lead.

What it isn’t

A power switch.

No power MOSFETs and no main-current path on the board, so it cannot cut power in flight. It detects, reports and alarms. Switching and current sensing are plug-on modules.

02 / Applications

Where MODB-BB fits.

Smart battery packs

Crimp the cell harness to the board and it travels with the pack. Only the CAN lead and the wake-button lead leave the wrap.

Retrofit on the airframe

The board stays on the frame and plugs into the pack’s balance lead through an adapter matched to the cell count. Packs stay stock.

Drone docks

Powering the dock’s CAN bus wakes the pack. Cell data and balancing run through the whole charge with no button press.

Multi-pack and heavy-lift

One MODB-BB per pack on one bus. Each reports under its own battery_id, so ArduPilot tracks BATT, BATT2 and on.

Fleet maintenance

Cycle count, over-discharge count, SoH and fault log stay on the pack, so the history travels with the battery.

Storage and shipping

Ship mode draws 2–5 µA (design estimate). The BMS is never the reason a stored pack runs flat.

Beyond drones: robots, light EVs, LiFePO4 storage, marine and test benches

03 / How it works

One board. Three ground domains.

The BMS side is referenced to the pack’s cell negative. CAN and UART1 each sit on their own isolated island, so no ground current can flow between the pack and the flight controller through a data cable.

MODB-BB sits between the battery pack and the flight controller's CAN bus. Pack power goes straight to the motors and is never switched by the board.BATTERY PACKcells + balance leadMODB-BBmeasure · balanceSoC · SoH · fault logAFEMCUISOLATIONISOLATED CAN · DRONECANFlightcontrollerDronedockGCS /companionPACK power → ESCs and motors, straight. MODB-BB never switches it.
BMS DOMAIN

Measure and balance

Cell input, RC filters, 12 balancing channels, the monitor IC, five NTC ports and a stack-fed 3.35 V supply. Ground is the pack’s cell negative.

CAN ISLAND

Talk to the aircraft

Isolated CAN transceiver on the barrier, powered by the bus 5 V from the flight controller. Bus power present also wakes the board through optocouplers.

UART1 ISLAND

Optional telemetry

A second isolated port for a Pixhawk TELEM connection or a companion device, on its own digital isolator.

04 / Features

Reports. Balances. Stays out of the way.

01

Balances on its own

About 100 mA per cell through external FETs, during charge, at rest and in sleep — no host command. Up to 4 cells at once; firmware stops it above ~75 °C.

02

Isolated CAN, FD-capable

Two latching pass-through ports on one galvanically isolated bus. DroneCAN on classic CAN at 1 Mbit/s; the transceiver and MCU support CAN FD to 5 Mbit/s.

03

SoC, SoH and history

Charge from rest voltage per chemistry, or coulomb counting with the current module. Health, cycle count, over-discharge count and fault log in non-volatile memory.

04

Protection in silicon

Cell over/under-voltage, over/under-temperature on all 5 NTCs and open-wire detection run in the monitor IC. Detection keeps running without the MCU.

05

Pixhawk-native

JST-GH connectors in Pixhawk DS-009 pin order, so standard 1:1 cables fit. Standard DroneCAN battery messages; ArduPilot and PX4 need only stock parameters.

06

Micro-amp ship mode

2–5 µA in storage (design estimate). Wakes on a button press or when the CAN bus powers up.

07

Stackable

Plug-on modules add current sensing, Bluetooth and a pack switch through the EXP and AUX ports. Several packs share one CAN bus.

08

Built for airframes

Latching connectors on every data port, 4-point M3 mounting, designed for −20 to +85 °C. Built toward RTCA DO-160G practice; not certified.

Modular roadmap

The MODB base board with planned plug-on modules: current sensor, Bluetooth link, and a pack switch. More packs join the same CAN bus.Base boardmeasure · balance · reportCurrent sensorcoulomb-counted charge,over-current detectionPLANNEDEXPPack switchhardware disconnect path,pre-chargePLANNEDEXPBluetooth linkset-up and telemetryfrom a phonePLANNEDUARTMore packsone board per pack,one CAN busBUILT INCAN

05 / Make it yours

Configured for your system, not the other way round.

A locked BMS fixes these at the factory. On MODB-BB they are settings you own — and where your application needs more, the lab builds it with you.

What can be configured on MODB-BB, and how
SettingRange on MODB-BBHow
Cell count6S to 12S · checked against the wiring at every bootSolder jumper
ChemistryLiPo 4.20 V · LiHV 4.35 V · Li-ionParameter
Pack capacityAny capacityParameter
Protection thresholds and delaysCell over/under-voltage · over/under-temperature per NTCParameter
BalancingThresholds and cells balanced at onceParameter
Temperature mapWhich NTC watches which cell or partParameter
Battery IDOne ID per pack on a shared busParameter
CAN terminationClosed on the last board on the busSolder jumper
UART1 supplyFC-powered (V01) or isolated 5 V out (V02)Build option
Current, Bluetooth, pack switchPlug-on modules (planned)Build option
ProtocolDroneCAN today · CANopen, J1939 or your ownWith the lab
Firmware logicApplication-specific behaviour · source accessWith the lab
  • Parameter set over CAN or the service port, stored on the board
  • Solder jumper set once at integration
  • Build option chosen when the board is assembled
  • With the lab engineered for your system

06 / Integration

Plugs into the aircraft you fly.

Standard connectors, standard messages. The flight controller treats each MODB-BB as a DroneCAN smart battery; a dock or ground station on the same bus reads the same data.

Daisy chain: the flight controller and several MODB-BB boards share one CAN bus with one cable per hop. Only the two ends are terminated.Flightcontroller120 Ω · bus 5 VMODB-BBID 1INOUTpack 1MODB-BBID 2INOUTpack 2MODB-BBID nINOUTpack nlast node: close JP601ONE JST-GH 4 CABLE PER HOP · TERMINATE ONLY THE TWO ENDS
CAN1 and CAN2 pass straight through. The FC’s bus 5 V powers each isolated CAN side and wakes the packs.

What the flight controller sees

BatteryInfo · 1092Pack voltage, current*, temperature, SoC, SoH, capacity, status flags, battery_id
BatteryInfoAux · 20004Every cell voltage, cycle and over-discharge counts, is_powering_off
NodeStatus · NodeInfoHealth, uptime, firmware version, board revision
param.*Cell count, capacity, chemistry, battery_id, thresholds, NTC map

* Without a current module, current is reported as not available (NaN), never as 0 A. Firmware is in development; this is the design specification, to be validated with ArduPilot and PX4 on Alpha units.

ArduPilot

CAN_P1_DRIVER    = 1
CAN_D1_PROTOCOL  = 1
BATT_MONITOR     = 8
BATT_SERIAL_NUM  = battery_id
# next pack: BATT2_MONITOR = 8, BATT2_SERIAL_NUM

PX4

UAVCAN_ENABLE   = 2
UAVCAN_SUB_BAT  = 1
FOR DOCK BUILDERS

Wake on contact

Powering the dock’s CAN bus wakes the pack. No button press.

FOR DOCK BUILDERS

Balance while docked

Balancing runs on its own during charge and at rest; the dock sends no command.

FOR DOCK BUILDERS

Charge on cell data

Every cell voltage and temperature is live on the bus. Terminate on the highest cell, not on pack voltage.

FOR DOCK BUILDERS

The dock owns the charger

The base board does not switch or limit charge current.

07 / Specifications

Electrical characteristics.

MODB-BB Rev A, variant V01. Monitor figures are from the TI BQ76952 datasheet. Values marked “design estimate” are calculated and will be confirmed on Alpha hardware.

Operating conditions

Series cells6 to 12Solder jumpers plus a parameter; supplied as 12S
Cell chemistryLiPo · LiHV · Li-ion4.20 V · 4.35 V · down to 2.5 V per cell
Stack voltage15.0 to 52.2 V6S × 2.5 V to 12S × 4.35 V
Input protection58 V TVS, 0.5 A 63 V fuse
Operating temperature−20 to +85 °CDesign target, not yet tested
Storage temperature−40 to +85 °C

Measurement

Cell voltage accuracy±5 mV at 25 °C±10 mV 0 to 60 °C · ±15 mV −40 to +85 °C (monitor IC)
Cell ADC16 bit · 2.93 ms per conversion
Temperature inputs5 × NTC 10 kΩ, B 3435 KOT and UT on all 5 in hardware
Board temperatureBalancer NTC and monitor die
Pack currentWith the MODB-CS module (planned)Shunt into the monitor’s SRP/SRN; not on the base board

Cell balancing

Balance current~100 mA per cell at 4.2 V82 mA external + 18 mA internal
MethodExternal N-FET and 51 Ω, 1 W resistor per cell
Cells at onceUp to 4 (default limit)
Active inCharge, rest and sleep — autonomous, no host command
Thermal stop75 °C, from the balancer NTC

Supply and power states

SupplyFrom the cell stackLoads all cells equally; buck to 3.35 V
ACTIVE23 mA at 3.3 VMonitor running, CAN on, balancing. Stays ACTIVE while the CAN bus is powered
STANDBY35–50 µA + MCU STOPBalancing continues. Wakes on button, bus power, alert or timer
SHIP2–5 µAEverything off. Wakes on button or bus power
AUX 3.3 V out150 mA max
EXP 3.3 V out100 mA, PTC-protected

Currents are design estimates. SHIP follows a 5 s button press, a CAN command, a long idle or a low-cell storage limit, after publishing is_powering_off.

Isolated interfaces

CAN transceiverISO1044B, 3 kVrms part ratingFunctional, not safety, isolation
CAN data rate1 Mbit/s classic CAN at launchHardware is CAN FD-capable to 5 Mbit/s
CAN bus-side supply4.5–5.5 V from the bus 5 V pinUp to 70 mA while transmitting
CAN bus protection±58 V fault · ±12 V common mode · TVS per line
UART1ISO7721 digital isolator
Barrier spacing2.5 mm, copper to copper, every layer

Detection

Cell OV / UVMonitor hardware
OT / UT, NTC1–5Monitor hardware
Open cell tapMonitor hardware
Over-current, short circuitMonitor, with the MODB-CS module
NTC open / shortedFirmware, reported as sensor fault
Cell count vs settingFirmware, every boot
Config, stale data, hangRead-back, CRC, watchdog

08 / Hardware

The silicon that matters.

Parts chosen for accuracy, low standby current and stock at LCSC/JLCPCB, with second sources identified. Only the decisions that change what the board can do are listed here.

Cell monitorTI BQ769523–16S monitor / protector16-bit cell ADC, ±5 mV. Over/under-voltage, temperature and open-wire detection run in hardware, independent of the MCU. I²C link with CRC.
MicrocontrollerST STM32G0B1Arm Cortex-M0+ · FDCANThe STM32G0 line with a CAN FD controller. Runs DroneCAN, SoC/SoH, the fault log and power states. HSE crystal for CAN bit-timing accuracy.
CAN interfaceTI ISO1044BIsolated CAN FD transceiverGalvanic isolation between pack ground and flight-controller ground; CAN FD to 5 Mbit/s, bus fault tolerant to ±58 V.
SupplyTI LMR365060.6 A synchronous buckStack-fed 3.35 V rail with ultra-low quiescent current, so standby and ship-mode draw stay in micro-amps.
UART isolationTI ISO7721Dual-channel digital isolatorPuts UART1 on its own ground island for telemetry or companion devices.
MODB-BB top view render
Top · all parts on one side
MODB-BB bottom view render with cell-count jumpers and test points
Bottom · cell-count jumpers, test points, pin legends
PCB4 layers · 1.6 mm · FR-4 TG155 · ENIG
Height7 mm at the cell header · 4.5 mm elsewhere
Mounting4 × M3 on a 101 × 54 mm pattern
CoatingAcrylic conformal coat (IPC-CC-830) for flight builds; Alpha units ship uncoated

09 / Connectors and mechanical

Outline and pinout.

Data ports on latching JST-GH in Pixhawk pin order. The isolation barrier runs down the right edge: everything past it belongs to the flight controller’s ground.

MODB-BB Rev A top-view outline: 109 by 62 millimetres, four M3 holes on a 101 by 54 millimetre pattern. NTC1 to NTC5, UART1 and AUX along the top edge; EXP on the left; CAN1 and CAN2 on the right beyond the isolation barrier; CELL, SWD, button and WAKE along the bottom edge.UART1 islandCAN islandNTC1NTC2NTC3NTC4NTC5UART1AUXEXPCAN1CAN2CELLSWDBTNWAKELEDs109.0101.0 hole pitch62.04 × Ø3.2 mmM3 · 54.0 pitchpin 1barrierALL DIMS MMTOP VIEW
Pinouts CELL · CAN · UART1 · NTC · EXP · AUX · BTN · SWD

CELL · J201 JST-XH 13

  1. B0, pack −
  2. B1 … B(N−1)
  3. BN, pack top

N-cell harness. 12S uses pins 1–13 in order.

CAN1 · CAN2 JST-GH 4

  1. 5 V from FC
  2. CAN_H
  3. CAN_L
  4. GND, isolated

Pass-through; 1:1 Pixhawk CAN cable.

UART1 · J751 JST-GH 6

  1. 5 V in (V01)
  2. RX, from FC TX
  3. TX, to FC RX
  4. NC
  5. GND, isolated

1:1 cable to a Pixhawk TELEM port.

NTC1–5 JST-GH 2

  1. NTC
  2. GND (BMS)

10 kΩ, B 3435 K. NTC1–3 also on bottom pads.

EXP · J806 JST-GH 10

  1. SRP, shunt +
  2. SRN, shunt −
  3. VSS
  4. 3V3, PTC
  5. SDA
  6. SCL
  7. MOD_ID
  8. DCHG
  9. DDSG
  10. PACK_SENSE

BMS ground. For MODB modules only.

AUX · J701 JST-GH 6

  1. 3V3 out, 150 mA
  2. TX
  3. RX
  4. SCL
  5. SDA
  6. GND (BMS)

Not isolated. Modules only — never the FC.

BTN · J401 JST-SH 2

  1. WAKE_BTN
  2. GND (BMS)

Pin 1 rests near stack voltage: use an insulated switch.

SWD · J501 JST-SH 6

  1. 3V3
  2. CON_TX
  3. CON_RX
  4. SWDIO
  5. SWCLK
  6. GND

Pixhawk Debug Mini. Bench use only.

Status LEDs PWR · STAT · IMB · FLT · CAN · 5V
PWR · green3.3 V rail on
STAT · green1 Hz heartbeat in ACTIVE
IMB · amberOn: imbalance over limit. Blink: balancing
FLT · redOn: latched fault. Blink code: fault class
CAN · orangeFrame traffic
5V · blueCAN bus 5 V present
Setting the cell count 6S–12S

Boards ship as 12S (JP226 bridged at the factory). For 6S–11S: cut JP226, close the jumpers listed for your cell count on the bottom side, and set the matching cell-count parameter. The firmware checks the wired cell count against the setting at every boot and flags a mismatch.

6SJP205–JP210 · source JP220
7SJP206–JP210 · source JP221
8SJP207–JP210 · source JP222
9SJP208–JP210 · source JP223
10SJP209, JP210 · source JP224
11SJP210 · source JP225
12Snone · source JP226 (factory)

10 / Variants and status

Start with the base board.

MODB-BB-A-V01

Standard

UART1 is powered by the flight controller’s TELEM 5 V.

MODB-BB-A-V02

Sensor supply

Isolated 5 V out on UART1 pin 1 for sensors. Never connect it to a flight controller.

ALL VARIANTS

Set at assembly

Cell count 6S–12S, default 12S. Firmware: DroneCAN first; CAN bootloader, Cyphal and CAN FD follow.

Preliminary: MODB-BB Rev A Alpha build, layout R3, firmware in development. Specifications are design targets and may change. Coming next: MODB-SB, the compact 3S–8S board with current sensing — see MODB-SB.

Need it changed for your system? Every change starts with your problem. How we work

Contact

Building a drone or a dock? Put every cell on the bus.

Alpha units, integration help for ArduPilot and PX4, custom cell counts and harnesses.

Datasheets

Preliminary documents. Figures are design targets until measured on Alpha hardware.

WhatsApp