Kookabus-02 specifications

Board revision 2, datasheet revision 0.2 (draft). Preliminary: no hardware has been built. Values are from design calculations and component datasheets, and items marked TBD depend on firmware that is not yet written.

Datasheet, PDF and schematic, PDF.

Operating conditions

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

ParameterMinTypMaxUnitNote
Servo supply voltage61212.6VST3215 supply range. A 3S lithium pack (9.0 to 12.6 V) or a 12 V supply.
Current per port, continuous0.22.7A0.2 A: an ST3215 holding position. 2.7 A: ST3215 stall at 12 V. The PTC holds 3 A at 25 °C but only 2.5 A at 40 °C.
Total current, continuous16A80 % of the 20 A fuse.
3V3 from a programmer (logic only, no 12 V)3.23.33.4VInto the 3V3 pin of J14 or J15.
Logic supply current45mAEstimate: STM32 at 72 MHz, LEDs, regulators. Drawn from 12 V through the 78L05, or from a programmer's 3V3.
Kookabus or I²C header 3V3 from the host3.03.33.6VPull-ups only; under 1 mA.
I²C bus speed400400kHzSTM32F103 fast mode. The board does not stretch the clock.
Servo bus speed11MbpsST3215 default. Other rates TBD in firmware.
Operating ambient temperature02540°CFor the full 2.7 A per port. Above 40 °C a stalled servo can trip its PTC.

How the power is distributed

XT6012 V in Reverse polarityMX74700T + FET FuseATO 20 A 12 V hub470 uF, TVS 8 x PTC3 A hold Ports 1-8V+, DATA 5 V LDO78L05 3.3 V LDOXC6206 Kookabus x2+ J2 header ESD, pull-upsPESD5V0S2BT STM32F103C8T672 MHzI2C, USART, ADC Translator3.3 to 5 V UART J14SWD J15

Servo power runs on the top copper from the XT60, through the reverse-polarity stage and the fuse to a central hub, and out to the eight ports on eight equal spokes. Each spoke has its own 3 A resettable fuse, so one stalled or shorted servo trips only its own port. The bottom layer is a ground plane.

The 5 V rail feeds the 3.3 V regulator and the servo side of the bus translator. With no 12 V, an ST-Link on J15 or a USB-serial adapter on J14 can power the logic through its 3V3 pin; the servo ports are then unpowered, so the board can be flashed and configured but cannot move servos.

Close-up of the power hub: the 470 µF capacitor, the 20 A blade fuse and the PTCs feeding the ports
The 12 V hub: bulk capacitor, 20 A blade fuse, and a PTC on each spoke.

Never connect a programmer's 3V3 while 12 V is connected. Both would drive the 3.3 V rail.

Ratings

Absolute maximum ratings

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

ParameterMinMaxUnitLimiting part or note
12 V input voltage (XT60) to GND-3015VPositive: SMBJ15A standoff. The TVS starts to conduct at 16.7 V and a sustained overvoltage blows the 20 A fuse. Negative: a reversed supply is blocked by the ideal-diode FET (30 V VDS).
Transient on the hub (clamped)24.4VTVS clamp at its rated 24.6 A surge. This equals the PTCs' 24 V maximum.
Total input current, continuous20AFuse rating.
Current per servo port40APTC maximum fault current. The PTC trips well before this.
DATA pin of a servo port to GND-0.512.6VClamped by the 5.6 V zener through 180 Ω, indefinitely. Negative voltage is not protected: R7 would exceed its 0.25 W rating.
SDA, SCL, UART RX to GND-0.35.5VSTM32 5 V tolerant pins; PESD5V0S2BT on SDA and SCL.
3V3 pin of a Kookabus connector or the I²C header to GND-0.35.5VFeeds only the I²C pull-ups; PESD5V0S2BT clamps above 5 V.
ESD on SDA, SCL (IEC 61000-4-2, contact)8kVPESD5V0S2BT.
Operating ambient temperature-2070°CLimited by the electrolytic capacitor, connectors and PTC derating. Not characterised over temperature.
Storage temperature-4085°C

Electrical characteristics

Calculated at 25 °C from component datasheets unless stated. VIN is the XT60 input; V12 is the hub after the ideal diode and fuse; SERVO_Vn is port n's V+ pin after its PTC.

Power path

ParameterConditionMinTypMaxUnit
Ideal-diode FET on-resistanceBRCS016N03ZC2mΩ
FET dissipation8 A (eight servos moving) / 20 A0.13 / 0.8W
Reverse current, V12 back into the inputInput removed or reversed0A
Hub capacitance470 µF electrolytic plus 2 × 10 µF ceramic490µF
PTC hold currentNever trips at or below, 25 °C still air3.0A
PTC trip currentAlways trips at or above, 25 °C5.0A
PTC time to trip8 A20s
PTC resistanceNew / after a trip or reflow1248mΩ
Port voltage drop, hub to V+ pin2.7 A; PTC plus 2.4 to 6.7 mΩ of copper39148mV
Copper difference between portsInner ports 2, 3, 6, 7 against outer ports4mΩ
PTC dissipation when trippedSurface up to 125 °C2W

Logic power

ParameterConditionMinTypMaxUnit
5 V rail (78L05)From V12, 30 V input rating4.755.05.25V
5 V rail load capacity100mA
78L05 dissipation12 V in, 45 mA0.32W
3.3 V rail (XC6206)From the 5 V rail3.233.33.37V
POWER LED (yellow)On whenever 3.3 V is present, 1 kΩ1.3mA
STATUS LED (red)PC13 low, 1 kΩ from 3.3 V1.4mA

Servo bus

ParameterConditionTypUnit
Bus logic levelSN74LVC1T45 B side at 5 V, 10 kΩ pull-up to 5 V5V
Series resistance to DATA47 Ω, zener node, 180 Ω 1206227Ω
Edge time constant400 pF of servo cabling90ns
DATA shorted to 12.6 VClamp voltage / current / R7 dissipation6 / 35 / 0.23V / mA / W
Direction during resetPA4 pulled low by 10 kΩ: receive

Supply monitor

ParameterConditionTypUnit
Divider100 kΩ / 10 kΩ, 1 %, 100 nF filter, V12 to PB1 (ADC1_IN9)1 : 11
Full scale / resolution12-bit ADC, 3.3 V reference36.3 / 8.9V / mV
AccuracyDivider tolerance plus the 3.3 V regulator's 2 %±3%
Divider current from V1212 V0.11mA

Connectors and jumpers

Power input

RefSilkscreenPartRatingNote
J112 V INAmass XT60PW-M (male, PCB, right-angle)30 AMates with a female XT60 pack or supply lead.

Servo ports

RefPortPartPin 1Pin 2Pin 3
J4 to J111 to 8CJT A2501WV-3P, 2.5 mm, vertical (Molex 5264 compatible)GNDV+ (SERVO_Vn)DATA

All eight DATA pins are one bus: every servo needs a unique ID. Ports 1 to 4 are on the left edge and 5 to 8 on the right, numbered on the silkscreen. The latch side of each header faces the board edge, so plugs can be gripped and released.

Draft: the pin order is from Feetech-based sources and is still to be confirmed against a real ST3215 lead before the board is ordered.

Close-up of the I²C, UART and SWD pin headers with their silkscreen pin labels, and the BOOT and RESET buttons
I²C header J2, UART header J14, SWD header J15, and the BOOT and RESET buttons.

Control connectors

RefLabelPartPin 1Pin 2Pin 3Pin 4Pin 5
J12, J13KookabusJST SH 1.0 mm 4-way horizontalGND3V3 (pull-ups only)SDASCL
J2I2C2.54 mm 1 × 4 headerGND3V3 (pull-ups only)SDASCL
J14UART2.54 mm 1 × 4 headerGNDRX (in)TX (out)3V3
J15SWD2.54 mm 1 × 5 headerGNDNRSTSWCLKSWDIO3V3

J12 and J13 are wired in parallel for daisy-chaining and use the Qwiic and PiicoDev pin order. J2 is the same bus on a pin header, in the same pin order, for jumper wires when no Qwiic cable is at hand. Unlike Kookabus-01, the board does not draw power from the Kookabus 3V3 pin; it only feeds the I²C pull-ups (through JP3). The UART header's RX input is 5 V tolerant; TX drives 3.3 V.

Buttons and jumpers

RefSilkscreenFunctionAs supplied
SW1RESETResets the microcontroller.
SW2BOOTHolds BOOT0 high. Hold BOOT, tap RESET, release BOOT to enter the ROM serial bootloader on J14.
JP1A0Address bit A0 (PA0). Bridged adds 1 to the address.Open
JP2A1Address bit A1 (PA1). Bridged adds 2 to the address.Open
JP3PUConnects the 4.7 kΩ SDA and SCL pull-ups to the host's 3V3. Cut to remove them when the host or another board already provides them.Bridged (pull-ups on)

Fuses

F1 is an ATO/ATC blade fuse holder rated 30 A. Fit a 20 A, 32 V ATO blade fuse (Littelfuse 0287020.PXCN or equivalent). The fuse ships separately and must be fitted before use. F2 to F9 are BHFUSE BSMD2920-300-24V resettable PTCs, one per port, soldered in place. A tripped PTC resets by itself once the fault is removed and it has cooled.

Control interface

Draft: the firmware and its register map are not yet written. This section lists what the hardware provides and what the firmware is planned to do. Registers and commands are TBD.

Planned functions

  • Read position, speed, load, voltage and temperature from each servo.
  • Write target position, speed and acceleration, singly or to several servos at once.
  • Scan the bus for servos, and assign servo IDs without a separate programmer.
  • Read the 12 V supply voltage.
  • The same command set over I²C and the UART header.

I²C address

JP1 and JP2 select one of four addresses, so up to four Kookabus-02 boards can share one I²C bus. The addresses are clear of Kookabus-01 (0x40 to 0x45) and common Qwiic and PiicoDev devices. The table is also printed on the back of the board.

JP2 (A1)JP1 (A0)Address (7-bit)
OpenOpen0x14 (as supplied)
OpenBridged0x15
BridgedOpen0x16
BridgedBridged0x17

Microcontroller pin use

PinPortFunction
2PC13STATUS LED, active low
5, 6PD0, PD18 MHz crystal
10, 11PA0, PA1Address jumpers A0, A1 (internal pull-ups; bridged reads low)
12PA2USART2 TX, single-wire half-duplex servo bus (10 kΩ pull-up)
14PA4Servo bus direction: high = transmit (10 kΩ pull-down)
19PB1ADC1_IN9, V12 sense
20PB2BOOT1, 10 kΩ to GND
30, 31PA9, PA10USART1 TX, RX to J14; ROM bootloader
34, 37PA13, PA14SWDIO, SWCLK
42, 43PB6, PB7I2C1 SCL, SDA (Kookabus J12, J13 and header J2)
44BOOT0BOOT button, 10 kΩ to GND

Flashing with an ST-Link or a USB-serial adapter is covered on the code page.

Schematic

Kookabus-02 rev 2 schematic: 12 V input with reverse-polarity protection and fuse, the 12 V hub and eight servo ports, logic regulators, STM32F103 microcontroller, servo bus translator, and the I²C, UART and SWD connectors
Rev 2 schematic. Open the PDF for full resolution.

Sheet sections: the 12 V input with reverse-polarity protection (MX74700T and BRCS016N03ZC), the 12 V hub with its fuse, TVS and star distribution to the eight servo ports, the 5 V and 3.3 V logic regulators, the STM32F103 microcontroller, the half-duplex servo bus translator with its 12 V fault clamp, and the I²C connectors with ESD protection and pull-up jumper.

Protection and safety

EventResponse
Supply connected reversedBlocked by the ideal diode. No current flows and nothing is damaged (up to -30 V).
Short on one servo port, or a servo stalled above 3 AThat port's PTC trips and limits the port to a trickle. The other seven ports keep running. The PTC resets once the fault is removed and it cools.
Servo stalled at 2.7 ABelow the PTC hold current at 25 °C, so the port stays on; the servo's own overload protection must act. In a warm enclosure (40 °C and above) the PTC may trip instead.
12 V applied to a DATA pin (for example a miswired lead)Clamped to about 6 V through 180 Ω, indefinitely. The servo bus stops working during the fault; nothing is damaged.
Voltage transient on the supplyClamped by the SMBJ15A on the hub. A sustained overvoltage above about 17 V blows the 20 A fuse.
Short on the hub, or several ports faulted at onceThe 20 A blade fuse opens. Replace it with the same rating.
A programmer's 3V3 and 12 V connected togetherNot protected: the programmer and the on-board regulator both drive the 3.3 V rail. Connect the 3V3 pin only when 12 V is off.
Battery over-dischargeNot protected on the board. Read the supply voltage over I²C and stop the servos at the pack's minimum, or use a pack with its own cut-off.

Warning. Lithium packs and bench supplies can deliver hundreds of amps into a short circuit. Fit the 20 A fuse before connecting power, and keep loose metal away from the servo headers. Do not supply more than 12.6 V: the PTCs are rated 24 V and the TVS clamps at 24.4 V, so there is little margin above the servos' own limit. A tripped PTC runs at up to 125 °C; do not touch it.

Mechanical

Board size75.0 × 75.0 mm, 3 mm corner radius
Thickness1.6 mm FR-4, 2 layers, 2 oz copper both sides
FinishLead-free HASL, green solder mask, white silkscreen
Mounting holes4 × 3.2 mm for M3, centres 3.5 mm from each edge (68.0 × 68.0 mm pattern), 3.6 mm radius clear of copper for screw heads
Component height, topAbout 20 mm at the ATO fuse, 10.5 mm at the electrolytic capacitor, 8.5 mm at the XT60 (to be measured)
Component height, bottomNone. Through-hole leads protrude up to 1.5 mm.
Connector overhangXT60: about 0.5 mm past the bottom edge.
MassTBD
1234 5678 J12J13XT60 F1 20 A I2CUARTSWD BOOTRST MCUC 4 x 3.2 dia 75.0 68.0 (holes) 75.0 68.0 (holes)
Outline, top view, millimetres. Connector body sizes are approximate.

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.

Refx (mm)y (mm)Note
J4 to J7, ports 1 to 4 (pin 2)12.76, 6.68, 6.68, 12.7616.5, 29.5, 42.5, 55.5Pins on 2.5 mm pitch along y; 13 mm between ports
J8 to J11, ports 5 to 8 (pin 2)62.24, 68.32, 68.32, 62.2416.5, 29.5, 42.5, 55.5Mirror image of ports 1 to 4
J1 XT6052.059.15Pins on 7.2 mm pitch along x; face at the bottom edge
J12, J13 Kookabus11.9, 20.53.4Opening at the top edge
J2 I²C header (pin 1)33.83.3Pins on 2.54 mm pitch along x
J14 UART (pin 1)45.23.3Pins on 2.54 mm pitch along x
J15 SWD (pin 1)56.57.5Pins on 2.54 mm pitch along y
SW2 BOOT, SW1 RESET50.812.6, 18.4
F1 fuse37.547.5Blade slots along y
H1 to H4 holes3.5, 71.53.5, 71.53.2 mm

Application notes

Typical connection

  1. Fit a 20 A ATO fuse in F1.
  2. Give every servo a unique ID first. Out of the box, ST3215 servos all use ID 1, so connect them one at a time for this step.
  3. Plug the servos into any ports.
  4. Connect the host's Qwiic or PiicoDev port to J12 or J13 (or jumper wires to the J2 header). Use the other connector to chain further I²C boards.
  5. Connect 12 V to the XT60. The POWER LED lights.

Sizing the supply

An ST3215 draws about 0.2 A holding position and up to 2.7 A stalled at 12 V. Size the supply for the servos that move together and are heavily loaded, not for eight stalls: eight servos moving under moderate load draw about 8 A.

Thermal

At 8 A the ideal-diode FET dissipates about 0.13 W and each moving port's PTC under 0.1 W. The 78L05 dissipates about 0.3 W from 12 V. No heatsink is needed. The PTCs' hold current falls as they warm (2.5 A at 40 °C, 2.3 A at 50 °C), so in a closed enclosure a servo held near stall for a long time can trip its port. Ventilate the enclosure, or keep sustained loads below the derated hold current.

Revisions

Board revDateChange
128 September 2026First design: eight ports, STM32F103 with native USB, three parallel 12 V inputs. The MCU area was re-laid out after review: crystal beside the MCU, decoupling capacitors on their pins, shorter reset line.
228 September 2026Cost-down: USB-C removed (with its ESD chip, CC and pull-up resistors and the BAT54C OR diode); XT60 is the only 12 V input (screw terminal and barrel jack removed); new 2.54 mm I²C pin header J2; address jumpers moved to PA0/PA1, addresses set to 0x14 to 0x17; website address on the front and the address table and Adventures in Silicon logo on the back.
Document revDateChange
0.128 September 2026First draft, for board revision 1. Calculated values only; firmware interface to be defined.
0.228 September 2026Updated for board revision 2. I²C addresses defined.

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 supplies and batteries capable of high fault currents. The user is responsible for fusing, supply protection, enclosure and compliance with local regulations. Product names are trademarks of their respective owners.