Kookabus-01 specifications

Board revision 2, datasheet revision 1.0. Preliminary: values not marked as measured are calculated from component datasheets.

Datasheet, PDF and schematic, PDF.

Operating conditions

Recommended operating conditions. Stay inside these for rated performance. Absolute limits are in the ratings section.

ParameterMinTypMaxUnitNote
Pack voltage, each input121825.2V5S primary (15.0 V flat to 21.0 V full). 6S full charge is the maximum. The ideal-diode controllers work from 3.2 V but the sense and LED circuits are meant for 5S to 6S.
Pack chemistryLithium-ion or LiPo, 5S or 6S. Any chemistry in the voltage range works; the board does not charge or balance.
Load current, continuous2.77A2.7 A is 40 W from a flat 5S pack. 7 A keeps every copper pour under a 10 °C rise (IPC-2221, 1 oz, external).
Load current, peak (10 s)6.710A6.7 A is 100 W from a flat 5S pack.
Load power from a 5S pack40100WContinuous, peak.
3V3 supply from the host3.03.33.6VQwiic/PiicoDev standard. Below 2.7 V the INA226 resets.
3V3 supply current drawn from the host24mAINA226, comparator and one lit LED.
I²C bus speed4002500kHzINA226 supports up to 2.94 MHz high-speed mode; 100 or 400 kHz is typical for Qwiic cabling.
Operating ambient temperature02550°CAt 100 W the FET rises about 30 °C above ambient in still air.

How the hot swap works

BATT AXT60 BATT BXT60 Fuse 10 ATVS 33 V Fuse 10 ATVS 33 V Ideal diode AMAX74700T AO4262E Ideal diode BMAX74700T AO4262E VBUS Shunt5 mOhm LOADXT60, 100 uF, TVS 26 V INA226V, I, P Qwiic x2I2C, 3.3 V in Pack dividersA and B ComparatorLED A, LED B

Only the pack with the higher voltage conducts. When the two packs are within about 20 mV of each other both stages conduct and share the load. When a pack is unplugged, the other pack's FET body diode conducts immediately and its controller then enhances the FET, so the bus never drops out. Current cannot flow back into a pack: a fully charged pack plugged in beside a flat one does not charge the flat one.

Nothing on the board needs to be told a swap is coming, and the hot swap works with nothing connected to J4 or J5. Only the LEDs and the I²C reading need the host's 3.3 V.

Close-up of the ideal-diode stage: the U1 controller and Q1 FET beside fuse F1
Ideal-diode stage for pack A: U1 controller and Q1 FET, downstream of fuse F1.

Unplug packs for storage. Each pack drains about 0.32 mA while plugged in with the host off, which empties a 5 Ah pack at 10 % charge in about 65 days.

Ratings

Absolute maximum ratings

Stresses beyond these values may cause permanent damage. These are limits, not operating conditions.

ParameterMinMaxUnitLimiting part or note
Battery input voltage, BATT A or BATT B to GND-2633VSMBJ33CA standoff. Negative: a reversed 6S pack is blocked by the ideal diode (FET VDS 60 V, worst case 50.4 V with a 25.2 V bus).
Transient on a battery input (clamped)53.3VTVS clamp at its rated 11.3 A surge, microseconds only.
Load output voltage, LOAD to GND-0.326VSMBJ26A standoff. Voltage applied to the output from the load side (regen) is absorbed only by the output capacitor and TVS.
Load current, continuous10AFuse rating. Above about 8 A the fuse and copper run hot.
3V3 pin (Qwiic connector) to GND-0.35.5VINA226 supply limit.
SDA, SCL to GND-0.35.5VPESD5V0S2BT clamps ESD; INA226 and pull-up rail set the DC limit.
ESD on SDA, SCL (IEC 61000-4-2, contact)8kVPESD5V0S2BT.
Operating ambient temperature-2070°CLimited by the electrolytic output capacitor and connectors. Not characterised over temperature.
Storage temperature-4085°CPacks unplugged.

Electrical characteristics

Calculated at 25 °C from component datasheets unless stated. VBUS is the ORed node after the ideal diodes; VLOAD is the load connector after the shunt.

Power path

ParameterConditionMinTypMaxUnit
Ideal-diode regulated forward drop (BATT to VBUS)Load below about 3 A132029mV
FET on-resistance (per stage)VGS about 12 V, 25 °C / 125 °C junction6.5 / 10.5mΩ
Total input to output drop, fuse to LOAD2.7 A (40 W)70mV
6.7 A (100 W), FET hot190mV
Series resistance, fuse to LOAD (excluding the regulated drop)Fuse 7.7 mΩ, FET, shunt 5 mΩ, copper, connectors30mΩ
Board dissipation2.7 A / 6.7 A0.18 / 1.25W
Pack sharing windowBoth stages conduct when packs are within20mV
Reverse current, VBUS into a packLower pack, or pack removed0A
Time to enhance the FET on first connectionBody diode carries the load until then2.3ms
Ideal-diode controller supply current, per packAlways, from the pack300µA
Standby drain per pack, host offController plus pack-voltage divider0.32mA
Output capacitance on VLOAD100 µF electrolytic plus 4.7 µF ceramic105µF
Input capacitance, each pack4.7 µF 50 V ceramic4.7µF

Monitor (INA226, U3)

ParameterConditionMinTypMaxUnit
Bus voltage measurement pointVLOAD, the load side of the shunt036V
Bus voltage LSBRegister 0x021.25mV
Bus voltage error relative to the live packSeries drop at 40 W / 100 W; add back I × 0.03 Ω if wanted-0.07 / -0.19V
Shunt resistance2512 alloy, 3 W, 50 ppm/°C, Kelvin sensed5mΩ, 1 %
Shunt voltage LSBRegister 0x012.5µV
Current full scale81.92 mV / 5 mΩ±16.4A
Current LSBCALIBRATION = 20480.5mA
Current offsetINA226 10 µV input offset2mA
Current gain errorShunt tolerance plus INA226 0.1 %1.1%
Power LSB25 × current LSB12.5mW
Conversion time, bus and shuntDefault 1.1 ms each, 1 sample0.141.18.2ms
Sense input filter10 Ω series, 100 nF differential80kHz

Indicators and I²C

ParameterConditionTypUnit
LED A (red) litPack A voltage above pack B, host 3.3 V present
LED B (yellow) litPack B voltage above pack A, host 3.3 V present
Indicator hysteresisOther pack must be higher by this amount before the LED changes over0.33V
Indicator channel mismatch1 % dividers; either LED may light when packs are closer than this0.2 (0.8 max)V
LED current1 kΩ from 3.3 V1.4mA
I²C pull-up, SDA and SCLTo 3V3 through jumper JP3 (fitted, bridged)4.7kΩ
I²C addressJP1 and JP2 as supplied0x40

Connectors and jumpers

Power connectors

RefLabelPartPin 1Pin 2Note
J1BATT AAmass XT60PW-M (male, PCB)GND+ (PACK_A)Mates with a female XT60 pack lead. Polarity is marked on the silkscreen.
J2BATT BAmass XT60PW-M (male, PCB)GND+ (PACK_B)As J1.
J3LOADAmass XT60PW-F (female, PCB)GND+ (VLOAD)Female so a pack lead cannot be plugged into the output. Its nose extends 7.8 mm past the board edge so the load plug's shroud slides over it.

All three connectors share one ground. There is no isolation between the packs, the load and the I²C host.

Close-up of the bottom edge: J4 and J5 bus connectors, U3 monitor, PU jumper and A0 A1 address jumpers
Bottom edge: J4 and J5 bus connectors, U3 INA226, PU jumper and the A0 and A1 address jumpers.

I²C connectors

RefPartPin 1Pin 2Pin 3Pin 4
J4, J5JST SH 1.0 mm 4-way horizontal (SM04B-SRSS-TB compatible)GND3V3 (in)SDASCL

The pin order is the Qwiic and PiicoDev standard, so any Qwiic cable connects directly. J4 and J5 are wired in parallel for daisy-chaining. The host must supply 3.3 V on pin 2: the board has no regulator of its own, and the monitor, comparator and LEDs stay off until it does. The hot-swap function does not depend on the host.

Solder jumpers

RefSilkscreenFunctionAs supplied
JP1A0INA226 address pin A0: three pads, centre to GND side or VS (3V3) sideGND side bridged
JP2A1INA226 address pin A1: three pads, centre to GND side or VS sideGND side bridged
JP3PUConnects the 4.7 kΩ SDA and SCL pull-ups to 3V3. Cut the trace between the pads to remove the pull-ups when the host or another board already provides them.Bridged (pull-ups on)

I²C address selection

JP2 (A1)JP1 (A0)Address (7-bit)
GNDGND0x40 (default)
GNDVS0x41
VSGND0x44
VSVS0x45

To change an address, cut the bridged trace on the GND side of the jumper, then bridge the centre pad to the VS side with solder. The table is also printed on the back of the board. Up to four Kookabus-01 boards can share one I²C bus.

Fuses

F1 (pack A) and F2 (pack B) are ATO/ATC blade fuse holders rated 30 A at 60 V. Fit a 10 A, 32 V ATO blade fuse in each (Littelfuse 0287010.PXCN or any equivalent). The fuses ship separately and must be fitted before use. A fuse on each pack, rather than one on the output, also protects against a short in that pack's input TVS, capacitor or FET. Blade fuses break more than 1 kA at 32 V, which a tool pack can deliver into a short.

I²C registers

The only I²C device on the board is the Texas Instruments INA226. Its register map applies unchanged; the values below are specific to this board's 5 mΩ shunt. Registers are 16 bits, most significant byte first.

AddressRegisterUse on Kookabus-01
0x00ConfigurationReset value 0x4127 (1 sample, 1.1 ms conversions, continuous). Write 0x4527 for 16 sample averaging, which steadies readings with a motor load.
0x01Shunt voltageSigned, 2.5 µV per LSB. Current in amps = value × 2.5e-6 / 0.005.
0x02Bus voltageUnsigned, 1.25 mV per LSB. Valid straight after power-up with no configuration.
0x03PowerUnsigned, 12.5 mW per LSB once CALIBRATION is written.
0x04CurrentSigned, 0.5 mA per LSB once CALIBRATION is written. Positive is current into the load.
0x05CalibrationWrite 2048 (0x0800) after every power-up of the host 3.3 V. Formula: 0.00512 / (0.0005 A × 0.005 Ω).
0x06, 0x07Mask/Enable, Alert limitUsable, but the ALERT pin is not brought out.
0xFE, 0xFFManufacturer ID, Die IDRead 0x5449 and 0x2260 to confirm the device is present.

The INA226 loses its configuration whenever the host's 3.3 V is removed. Write CALIBRATION (and CONFIG if changed) in the host's start-up code, not once at commissioning.

Ready-made host code for MicroPython, Arduino, Linux Python, Linux C and the kernel hwmon driver is on the code page.

State of charge

The bus voltage reads the live pack minus the series drop. For a percentage estimate, divide by the cell count and use a per-cell resting-voltage table rather than a straight line from 3.0 V to 4.2 V. Under load, correct for sag with the measured current and an estimate of pack resistance, which can be taken from the voltage step when the load changes. Integrating the current register gives a coulomb count for the pack that is currently supplying the load; the board cannot tell the host which pack that is, other than by the voltage reading itself.

Schematic

Kookabus-01 rev 2 schematic: pack inputs with fuses, two ideal-diode stages, INA226 current and voltage sense, active-pack indicator, I²C connectors and load output
Rev 2 schematic. Open the PDF for full resolution.

Sheet sections: pack inputs with fuses, the two ideal-diode stages (MX74700T and AO4262E), current and voltage sense (INA226 on the 5 mΩ shunt), the active-pack indicator (MCP6002 comparator and LEDs), the 3.3 V rail from the host, the I²C connectors with ESD protection and pull-up jumper, and the load output with its capacitor and TVS.

Protection and safety

EventResponse
Pack unplugged under loadThe other pack takes over with no interruption. The remaining pack's FET body diode conducts within nanoseconds; the controller then enhances the FET.
Pack plugged in reversedBlocked. The ideal-diode FET stays off (VDS up to 50.4 V with a 6S bus, rated 60 V) and the bidirectional input TVS is off at -25.2 V. No current flows and nothing is damaged.
Lower-voltage pack connected beside a higher oneNo current flows into the lower pack. It takes over when the higher pack discharges to within 20 mV of it.
Short on the load or a failed part on the boardThe 10 A fuse of the conducting pack opens. Replace it with the same rating.
Voltage transient on an input (lead inductance, motor noise)Clamped by the 33 V bidirectional TVS below the FET and controller limits.
Voltage rise on the output (regenerative braking)The ideal diodes block current back into the packs, so only the 100 µF output capacitor and the 26 V TVS absorb it. Run motor controllers with regenerative braking disabled, or fit a brake resistor.
Pack over-dischargeNot protected on the board. The FET body diode always conducts, so the board cannot disconnect a pack. The host must stop the load at the pack's minimum voltage, or the pack must have its own cut-off.
Over-current below the fuse ratingNot protected. Currents between 7 A and 10 A are allowed briefly but heat the fuse, FET and copper.

Warning. Lithium-ion packs can deliver hundreds of amps into a short circuit. Fit the fuses before connecting a pack, keep loose metal away from the XT60 pins, and never bridge the two battery inputs. The board does not charge, balance or disconnect packs. Unplug packs for storage.

Mechanical

Board size64.0 × 62.0 mm, 3 mm corner radius
Thickness1.6 mm FR-4, 2 layers, 1 oz copper both sides
FinishLead-free HASL, green solder mask, white silkscreen
Mounting holes4 × 3.2 mm for M3, centres 3.0 mm from each edge (58.0 × 56.0 mm pattern), isolated from copper, 3.6 mm radius clear for screw heads
Component height, topAbout 20 mm at the ATO fuses, 13 mm at the electrolytic capacitor, 8.5 mm at the XT60s
Component height, bottomNone. Through-hole leads protrude up to 1.5 mm.
Connector overhangBATT A and BATT B: 0.5 mm past the left edge. LOAD: 7.8 mm past the right edge. An enclosure needs cut-outs at both edges.
MassAbout 25 g with fuses (estimate)
BATT ABATT BLOADF1F2J4J5 4 x 3.2 dia 64.0 58.0 (holes) 62.0 56.0 (holes)
Outline, top view, millimetres. Connector body sizes are approximate; the LOAD nose overhang is not shown.

Connector positions

Board-local coordinates, origin at the top-left corner of the outline as viewed from the top, x to the right, y down.

RefCentre x (mm)Centre y (mm)Note
J1 BATT A15.8518.5Pins on 7.2 mm pitch along y; face at the left edge
J2 BATT B15.8538.5As J1, 20 mm below
J3 LOAD56.4547.0Pins on 7.2 mm pitch along y; face at the right edge
J4 Qwiic29.558.6Opening at the bottom edge
J5 Qwiic38.058.6Opening at the bottom edge
F1, F2 fuses21.214.9, 34.9Blade slots along y
H1 to H4 holes3.0, 61.03.0, 59.03.2 mm

Application notes

Host firmware checklist

  • Write CALIBRATION = 2048 at every start-up, and CONFIG = 0x4527 if averaging is wanted.
  • Poll bus voltage and current at a few hertz. Stop the load, or warn, when bus voltage falls to the pack's minimum (about 15 V for a 5S pack, 3.0 V per cell).
  • Detect a swap as a step in bus voltage. The higher-voltage pack always carries the load, so the voltage reading always describes the pack in use.
  • Disable regenerative braking in the motor controllers, or fit a brake resistor on the load side.

Using the board without a host

The hot swap works with nothing connected to J4 or J5. Only the LEDs and the I²C reading need the host's 3.3 V. For a bench check, any Qwiic host or a 3.3 V supply on pin 2 of J4 lights the LED of the conducting pack.

Thermal

At 40 W continuous the board dissipates about 0.18 W and barely warms. At the 100 W peak the pass FET of the conducting pack dissipates up to 0.47 W and rises about 30 °C above ambient in still air; the fuse and shunt each add about 0.3 W. No heatsink is required for the rated duty. Sustained operation above 7 A is outside the rating.

Revisions

Board revDateChange
124 September 2026First design: 30 A continuous, INA228, on-board 3.3 V regulator, 2 oz copper.
225 September 2026Re-rated to 100 W peak and 40 W continuous for low cost and hand assembly. INA226, MX74700T, AO4262E, 5 mΩ shunt, 10 A blade fuses, no on-board regulator (3.3 V from the host), 1 oz copper, 64 × 62 mm. Named Kookabus-01.
Document revDateChange
1.025 September 2026First release, for board revision 2. Preliminary: calculated values, not yet measured on hardware.

Information on this page is believed to be accurate at the date of publication but is provided without warranty. Values marked as calculated have not been verified by measurement. Adventures in Silicon Pty Ltd accepts no liability for damage or injury arising from the use of this product, which connects to lithium-ion batteries capable of high fault currents. The user is responsible for fusing, pack protection, enclosure and compliance with local regulations. Product names are trademarks of their respective owners.