board dev studio

Verified 2026-10

m5stack Unit ChainBUS

Chain-bus to Unit converter on an STM32G031G8U6: IN/OUT UART at 115200 8N1, one top Unit socket usable as I2C/GPIO/ADC, WS2812C status LED, 17.72 mA at 3.3 V - $4.50 USD, no I2C pull-ups fitted.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Sourceshop.m5stack.com/products/unit-chainbus-stm32g031 →

Specs

MCUSTMicroelectronics STM32G031G8U6

Pinout

12 pads, as the vendor numbers them.

#NameFunctionSignals
1GNDTop expansion socket (PORT), Black wire - ground.ground
25VTop expansion socket (PORT), Red wire - 5 V rail, regulated on board to 3.3 V.5 V rail
3SDA/IO/ADCTop expansion socket (PORT), Yellow wire - I2C SDA or GPIO or ADC, set by firmware.I2C SDA, GPIO, ADC input
4SCL/IO/ADCTop expansion socket (PORT), White wire - I2C SCL or GPIO or ADC, set by firmware.I2C SCL, GPIO, ADC input
5GNDLeft socket (PORT.IN), Black wire - ground.ground
65VLeft socket (PORT.IN), Red wire - 5 V rail.5 V rail
7UART1_RXLeft socket (PORT.IN), Yellow wire - Chain UART1 receive, PA3 (RXD1).UART1 RX, PA3
8UART1_TXLeft socket (PORT.IN), White wire - Chain UART1 transmit, PA2 (TXD1).UART1 TX, PA2
9GNDRight socket (PORT.OUT), Black wire - ground.ground
105VRight socket (PORT.OUT), Red wire - 5 V rail.5 V rail
11UART2_TXRight socket (PORT.OUT), Yellow wire - Chain UART2 transmit, PB6 (TXD2).UART2 TX, PB6
12UART2_RXRight socket (PORT.OUT), White wire - Chain UART2 receive, PB7 (RXD2).UART2 RX, PB7

Buses

BusSignalsPinsVoltageNote
UART ×2TX, RXUART1_TX, UART1_RX, UART2_TX, UART2_RX3.3 V VTwo Chain UARTs at 115200 bps 8N1: UART1 (PA2/PA3) on the left IN socket pads 7-8, UART2 (PB6/PB7) on the right OUT socket pads 11-12. The daisy-chain is IN to OUT across units.
I2C ×1SDA, SCLSDA/IO/ADC, SCL/IO/ADC3.3 V VTop expansion socket pads 3-4 only, firmware-selectable, and with no pull-up resistors fitted (R3/R4 are NC).

Power

Input5 V on the Red wire of any HY2.0-4P socket
Typical draw17.72 mA

Notes

The three HY2.0-4P sockets print no pad numbers; pads 1-12 follow the vendor's own colour column (Black, Red, Yellow, White) within each socket, top expansion first, then the left IN socket, then the right OUT socket. No I2C pull-ups are fitted on the expansion port (R3 and R4 are NC in the schematic). No datasheet_url: the STM32G031G8U6 data sheet is served only from st.com, which did not resolve from this host, so no link is recorded rather than an unverified one. The HY2.0-4P connector prints no pad numbers; pads 1-4 here follow the vendor's own colour column (Black, Red, Yellow, White) in the order its PinMap table lists them.

AI context

Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.

PART: M5Stack Unit ChainBUS, SKU U212, a 29.8 x 24.0 x 8.0 mm (3.9 g) Chain-series protocol converter built on an STM32G031G8U6 (U1, 28-pin, PA0-PA15/PB0-PB8/PC6/PC14/PC15 broken out on the symbol). It turns the Chain UART daisy-chain into a Unit expansion port: the left and right HY2.0-4P sockets are Chain bus IN and OUT, the top socket is a Unit port that the firmware can drive as I2C, GPIO in/out, ADC or interrupt source. Vendor title carries the silicon, so part is null.
ADDRESSES: none published. The ChainBus has no I2C address of its own; the top port is a pass-through to whatever Unit is plugged into it, so the address that answers is the Unit's.
PINOUT: three HY2.0-4P sockets, twelve pads, numbered 1-12 here in the vendor's colour order within each socket (Black, Red, Yellow, White): top expansion PORT 1 = GND, 2 = 5V, 3 = SDA/IO/ADC, 4 = SCL/IO/ADC; left PORT.IN 5 = GND, 6 = 5V, 7 = UART1_RX, 8 = UART1_TX; right PORT.OUT 9 = GND, 10 = 5V, 11 = UART2_TX, 12 = UART2_RX. On the MCU the Chain UARTs land on PA2/PA3 (UART1 TXD1/RXD1, the IN socket) and PB6/PB7 (UART2 TXD2/RXD2, the OUT socket).
LED: one WS2812C-2020 (U4) driven from PA8 through the net RGB, for status.
SUPPLY: 5 V in on the Red wire of each socket, regulated to 3.3 V by U2 ME6211A33M3G; 3.3 V decoupling is C3 10 uF, C5 10 uF, C8 10 uF and C7 100 nF, with C1 1 uF and C2 100 nF at the MCU. Measured draw 17.72 mA at 3.3 V with the RGB LED at maximum white brightness.
LOGIC: 3.3 V throughout - the STM32G031 runs at 3.3 V and the vendor publishes no 5 V-tolerant claim for the port. The Chain UART is 115200 bps, 8N1.
CIRCUIT: R2 10 kOhm sits on NRST. The expansion port has NO fitted I2C pull-ups: R3 and R4 are drawn on SCL/IO and SDA/IO and both are marked NC on the shipped board, so a Unit plugged in here must bring its own pull-ups or inherit them from somewhere else on the bus.
TRAPS: (1) The top socket carries I2C, GPIO, ADC and interrupts on the same two wires (SDA/IO/ADC and SCL/IO/ADC), so which function a pad has is a firmware choice, not a board one. (2) No pull-ups on that socket. (3) A J4 5-pin SWD header (MCU_SWCLK, MCU_SWDIO, NRST, 3V3, GND) is exposed for reflashing; it is not part of the Chain bus. (4) The vendor's own data sheet for the STM32G031 could not be reached from this host (st.com did not resolve), so no datasheet_url is recorded rather than a dead link.

Provenance

Every figure on this page was read from the 4 sources below and last checked on Oct 30, 2026.