Smart battery management · 3S–8S

MODB-SB

Measures, balances and reports. Never disconnects.

Every cell, the pack current and five temperatures — published to the flight controller, dock or ground station over isolated CAN FD and DroneCAN.

Rev A0 · layout complete · prototypes next

MODB-SB Rev A0 board, KiCad 3D render
MODB-SB Rev A0 · KiCad render · 105 × 68 mm
3–8S
series cells · Li-ion or LiFePO4
100A
continuous · 150 A burst
±5mV
cell voltage, typ at 25 °C
CAN FD
isolated · DroneCAN
16
modules per bus, stackable
<10µA
ship-mode draw

01 / In plain words

A drone battery is eight cells, not one voltage.

Most flight controllers read one pack voltage and one current from a power module. A weak, hot or drifting cell shows up only as sag under load, usually late in the flight. MODB-SB sits on the pack, watches every cell and puts that data on the CAN bus the aircraft already uses.

01

Monitors. Never disconnects.

No power MOSFETs, relay or contactor in the pack path. A BMS that opens the power path in flight turns a cell warning into a crash. MODB-SB detects and reports each fault; the flight controller decides whether to land, return or carry on.

02

Isolated from the airframe.

The CAN side has its own isolated 5 V supply and ground behind a 4 mm barrier. Ground offsets between packs, ESC returns and the flight controller stay off the bus.

03

Speaks DroneCAN.

Battery data goes out as standard DroneCAN battery messages, which ArduPilot and PX4 already read. Classic CAN 2.0B and CAN FD run on the same transceiver.

Compared with MODB-BB

Smaller packs, current built in.

MODB-SB covers 3S–8S and measures pack current on the board through a 100 µΩ shunt, so state of charge is coulomb-counted from day one. For 6S–12S LiPo and LiHV packs, see MODB-BB.

What it isn’t

A protection switch.

Pack negative passes through the shunt, and PACK+ never touches the board. Nothing is ever opened: acting on a fault is the host’s decision.

02 / Applications

In flight, on the dock, across the fleet.

Multirotor and VTOL packs

The flight controller sees the weakest cell, not the average, and can trigger failsafes on it — plus real pack current for accurate remaining-charge estimates.

Drone docks and swap stations

The dock reads SoC, cell spread and temperatures before it charges. Balancing runs while the pack sits.

Dual- and multi-pack airframes

Every pack reports its own cells, current, SoC and SoH under its own node ID, so each battery is tracked separately.

Series packs beyond 8S

Stack segments end to end: two 6S modules make a 12S pack. The isolated CAN side lets both share one bus.

Fleet maintenance

SoH and a 32-event fault log live on the pack, so packs are retired on data rather than guesswork.

Storage and shipping

Ship mode shuts down the monitor and every regulator: under 10 µA from the pack.

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

03 / How it works

Two domains, one 4 mm barrier.

The battery side is referenced to the pack and powered from the top cell tap — no separate supply wire. Only the CAN transceiver and an isolated DC-DC cross the barrier; the bus side makes its own 5 V, so nothing is powered from the harness.

MODB-SB 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-SBmeasure · balancecurrent · SoC · SoHAFEMCUISOLATIONISOLATED CAN · DRONECANFlightcontrollerDronedockGCS /companionPACK+ → straight to the load. Pack negative runs through the shunt; nothing is switched.

04 / Stackable architecture

One bus for every pack on the aircraft.

Each MODB-SB is a node on an isolated CAN bus, with a node ID set by four solder jumpers — 16 per bus. Two connectors carry the bus in and out of every module, so packs daisy-chain without a hub. Stack side by side for capacity, or end to end for voltage.

Left: two packs in parallel, each with its own MODB-SB, sharing one CAN bus. Right: two 6S segments in series make a 12S pack; each segment has its own MODB-SB and the isolated CAN side lets both share one bus despite the 25 V offset.PARALLEL PACKS · MORE CAPACITYPOWER BUS +PACK 1SB · ID 0PACK 2SB · ID 1CAN → FCDual-battery airframes and swap docks:each pack reports under its own ID.SERIES SEGMENTS · MORE VOLTAGEcells 7–12GND = 25.2 Vcells 1–6GND = 0 V50.4 VSB · ID 1SB · ID 0ISOLATEDCAN → FCBeyond 8S: two 6S modules make a 12S pack,one bus despite the 25 V offset.
Daisy chain: the flight controller and several MODB-SB boards share one CAN bus with one cable per hop. Only the two ends are terminated.Flightcontroller120 Ω · bus 5 VMODB-SBID 1INOUTpack 1MODB-SBID 2INOUTpack 2MODB-SBID nINOUTpack nlast node: close TERMONE JST-GH 4 CABLE PER HOP · TERMINATE ONLY THE TWO ENDS
Only the two ends of the bus are terminated: close TERM on the last module, leave it open on the rest.

05 / Sensing and state estimation

Knows the state of every cell.

Cell voltages, pack current and temperatures feed a hardware coulomb counter and on-board firmware. The result is a charge and health estimate that does not drift over flights.

±5mV
cell voltage, typ 25 °C
±300A
current range, target
2.93ms
current sample period
5
temperature points · 4 cells + shunt
0.15%
shunt drift over a 60 °C swing
32
fault events kept in flash
STATE OF CHARGE

Counted, then re-anchored.

The monitor’s hardware integrator accumulates shunt current continuously. When the pack rests, the count is re-anchored to the cells’ open-circuit voltage for the configured chemistry, and to 100 % at end of charge — so counting error does not build up over flights.

STATE OF HEALTH

Capacity and resistance.

Usable capacity, measured from the charge counted between rest points against the rated capacity; and cell resistance, from the voltage step when the load changes. Both travel with the pack.

BALANCING

62 mA, or 170 mA with the external stage.

The monitor bleeds high cells through the tap resistors. For large packs or short dock turnarounds, a build option adds an external stage per cell. Balancing starts on its own above a set cell voltage and cell-to-cell difference, or on command.

FAULTS

Detect · report · log.

Cell over/under-voltage, over-current in charge and discharge, short circuit in discharge, over/under-temperature on cells and shunt. Each has its own threshold and delay. Reported on CAN within 100 ms (design target) and on the FLT LED.

06 / Make it yours

Configured for your system, not the other way round.

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

What can be configured on MODB-SB, and how
SettingRange on MODB-SBHow
Cell count3S to 8S · a mismatch with the wiring is flaggedSolder jumper
ChemistryLi-ion or LiFePO4Parameter
Fault thresholds and delaysCell OV/UV · charge and discharge over-current · short circuit · OT/UTParameter
BalancingStart voltage and cell-to-cell difference · automatic or on commandParameter
Balancing current62 mA internal, or 170 mA external stageBuild option
Telemetry ratesCurrent up to 10 Hz · cells and temperatures from 1 HzParameter
CAN bit rate250 k, 500 k or 1 Mbit/s · CAN FD data phaseParameter
Node ID and termination16 IDs per bus · termination at the bus endSolder jumper
Power connectionSoldered cables or M6 terminalsBuild 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

07 / Integration

First power-up in five steps.

  1. Set the cell count. Close the cell-count jumpers and set the matching firmware setting. A mismatch is flagged as a fault.
  2. Wire the current path. BATT to the pack negative, PACK to the load and charger. PACK+ bypasses the board.
  3. Plug in the taps and NTCs. Cell taps in any order — the input filters tolerate random hot-plug.
  4. Set the node ID. Close TERM on the last module on the bus only.
  5. Connect CAN. The pack appears on DroneCAN.

Telemetry on CAN

Pack current10 Hz
Cell and stack voltages1 Hz
Temperatures, 5 points1 Hz
SoC, SoH, capacity leftwith cell data
Balancing statuswith cell data
Faultson event · 100 ms target
Fault log, 32 eventson request

Target rates, configurable. Settings and the fault log are also reachable over the service port. The CAN connectors are not in Pixhawk DS-009 pin order: use a matching harness.

08 / Specifications

Electrical specifications.

Preliminary, Rev A0. Design figures from the component datasheets, 6S Li-ion at 25 °C unless noted — to be replaced by measured data after prototype tests.

Operating conditions

Series cells3 to 8Solder jumpers + firmware setting · Li-ion or LiFePO4
Stack voltage8 to 33.6 V36 V absolute design limit (TVS stand-off)
Pack current100 A continuous · 150 A burstBurst duration TBC
Ambient−20 to +65 °CDesign target
Modules per CAN bus16
ESD, connector pins±8 kV contact, IEC 61000-4-2Design target

Measurement

Cell voltage error±5 mV typ at 25 °C
Current range±300 A targetReported in 10 mA units
Current error±1 % above 10 A, averaged, after calibration
Shunt100 µΩ · ±25 ppm/°C · 7 WKelvin sense lines
Current conversion2.93 ms
Temperature inputs4 cell NTCs + shunt sensor10 kΩ, B 3380 K

Balancing

Internal62 mA per cell at 4.2 VFirmware limits internal balancing to 3 cells at once
External option170 mA per cell at 4.2 VNPN + 22 Ω, 1 W per cell

Power modes · from the stack, 6S

Active22–36 mAAlways on, CAN live
Light sleep10 mAWakes on CAN activity
Deep sleep< 100 µAWakes on pack current or service port
Ship< 10 µAWakes on the WAKE button

Active draw includes the isolated CAN side, which stays powered so the bus is always live. Ship mode shuts down the monitor and every regulator.

Communication and isolation

CAN nominal bit rate250 k, 500 k or 1 Mbit/s
CAN FD data phaseup to 5 Mbit/s
Isolation, bus to battery1500 VDC, 1 minIsolated DC-DC rating · transceiver 3 kVrms
CAN bus protectionTVS on CANH/CANL · transceiver tolerates ±58 V
TerminationSplit 2 × 62 Ω + 4.7 nF, by solder jumper

09 / Hardware

Core silicon.

Parts chosen from JLCPCB and LCSC stock, with alternates in the BOM. These are the choices that set what the board can do.

Cell monitorTI BQ769423–10S monitor · coulomb counterCell ADC with hardware coulomb counter, integrated balancing and fault comparators. I²C with CRC to the MCU.
MicrocontrollerTI MSPM0G3507Cortex-M0+ · 80 MHz · CAN FD128 KB flash, 32 KB RAM and a CAN FD controller. Runs SoC/SoH, fault logic and the log, and the DroneCAN stack; ROM bootloader for field updates.
CAN interfaceTI ISO1044Isolated CAN FD transceiverCAN FD to 5 Mbit/s, 3 kVrms, more than 4 mm creepage.
Isolated supplyB0505XT-1WR31 W isolated DC-DCMakes the bus-side 5 V on board (1.5 kVDC), so the CAN side needs nothing from the harness.
Current sense100 µΩ shunt±25 ppm/°C · 7 WLow-drift metal shunt with Kelvin sense lines. Current path on wide pours across both 2 oz outer layers.
MODB-SB Rev A0 front copper layout plot, 105 by 68 millimetres
Rev A0 front layout · 105 × 68 mm · isolation slot on the right
Outline105 × 68 mm
Height7.25 mm above the PCB · 13 mm with M6 terminals
PCB4 layers · 1.6 mm · 2 oz outer copper
Mounting4 × M2.5 on 98 × 61 mm
Mass40 g, estimate
AssemblyParts on top only; jumpers and test pads below · conformal-coat compatible

10 / Interfaces and configuration

Connectors on the edges, settings on the back.

Hover a connector in the list to find it on the board.

MODB-SB board with numbered connector callouts
  1. 1J1 · Cell tapsJST-XH 2.5 mm · 9-pin · B0–B8
  2. 2J2 · ThermistorsJST-PH 2.0 mm · 8-pin · NTC1–4
  3. 3J3 · CAN inJST-GH 1.25 mm · 4-pin · isolated
  4. 4J4 · CAN outJST-GH 1.25 mm · 4-pin · isolated
  5. 5J5 · SWD1.27 mm · 2×5 · programming
  6. 6J6 · Service portJST-GH · 6-pin · UART + I²C, 3.3 V
  7. 7J7 · BATT−M6 terminal or solder pad
  8. 8J8 · PACK−M6 terminal or solder pad
  9. 9SW1 · SW2Wake and reset buttons
  10. 10D5–D7 · LEDsPWR · FLT · BAL
  11. 11R3 · Shunt100 µΩ · 25 ppm/°C · Kelvin sensed
  12. 12Isolation barrier4 mm · CAN side on its own 5 V
Pinouts J1 · J2 · J3/J4 · J6 · J5

J1 · Cell taps XH 9

  1. B0, cell 1 negative
  2. B1 … B7
  3. B8

Wire B0 up to BN; leave higher taps empty.

J2 · Thermistors PH 8

  1. NTC1 … NTC4
  2. GND

10 kΩ, B 3380 K.

J3 · J4 · CAN GH 4

  1. GND_ISO
  2. CANL
  3. CANH
  4. VBUS*

*Open unless the 0 Ω link R52 is fitted. Not Pixhawk DS-009 order — use a matching harness.

J6 · Service GH 6

  1. 3V3
  2. GND
  3. TX
  4. RX
  5. SDA
  6. SCL

UART0 (bootloader) + I²C1, 3.3 V up to 250 mA. Not isolated.

J5 · SWD 1.27 mm 2×5

  1. 3V3
  2. SWDIO
  3. GND
  4. SWCLK
  5. nRST

Programming and debug.

J7 · J8 · Power M6 / pad

  1. BATT−, to pack negative
  2. PACK−, to load and charger

M6 terminal (120 A, test builds) or soldered cable on a 20 × 12 mm pad.

Configuration jumpers cell count · node ID · termination
Cell count3S–8S by the JS/JPC solder jumpers on the back, plus the matching firmware setting. Full table on datasheet page 7.
Node IDJID0–JID3 form a 4-bit node ID, 0–15. A closed jumper is a 0.
TerminationTERM closed adds the split termination. Close it on the last module only.

11 / Enclosure

Six layers, one heat path.

A printed ASA shell on an aluminium base. Heat from the shunt goes down through a gap pad and a heat pedestal into the base plate, then into whatever it is bolted to: an airframe, a robot chassis or a battery box.

MODB-SB enclosure taken apart into six layers: lid, board with its battery cables, frame, gap pad, heat pedestal and aluminium base plate
Scroll to take it apart · drag to turn
  1. 01LidPrinted ASA · LED light pipes · WAKE button
  2. 02BoardMODB-SB with 8 AWG BATT− and PACK− cables
  3. 03FrameHolds the board, clamps the cables
  4. 04Gap pad2 mm, insulating, under the shunt
  5. 05Heat pedestal2.5 mm aluminium
  6. 06Base plate3 mm aluminium · M3 mounting ears
Outside110.6 × 73.6 × 19.2 mm
Mounting2 × M3 slots, 134.6 mm across the ears
MaterialsPrinted ASA shell · aluminium base plate and heat pedestal · 2 mm insulating gap pad
Power cables2 × 8 AWG, soldered and clamped in the shell
FitsSoldered-cable build (not the M6 terminals)

Design figures, Rev A0. Thermal performance will be published after testing.

12 / Build options

Built to live on the pack.

OptionStandardAlternative
Power connectionSoldered cables on 20 × 12 mm pads · 7.25 mm tallM6 terminals, 120 A · 13 mm tall
BalancingInternal, 62 mA per cellExternal stage fitted, 170 mA per cell
EnclosureBare board, open-frame mounting on 4 × M2.5Printed ASA case on a 3 mm aluminium heat base · 110.6 × 73.6 × 19.2 mm · soldered-cable build
Cell count, node ID, terminationSolder jumpers, set at integration

Preliminary: Rev A0 schematic and layout complete; prototype samples and measured data follow. Specifications may change without notice.

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

Contact

If the battery layer is in your way, write to us.

Prototype samples, dock integration, series-stacked packs and custom harnesses.

Datasheets

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

WhatsApp