board dev studio

Verified 2026-10

m5stack Fingerprint 2 Unit (A-K323CP)

Fingerprint unit with an A-K323CP 508 dpi sensor behind an STM32G031: one HY2.0-4P UART port at 115200 8N1, 100 templates, 5 V in, $11.50 USD.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Sourceshop.m5stack.com/products/fingerprint-2-unit-a-k323cp →

Specs

MCUSTMicroelectronics STM32G031G8U6

Pinout

4 pads, as the vendor numbers them.

#NameFunctionSignals
1GNDBlack wire of the HY2.0-4P cable - ground.ground
25VRed wire - 5 V supply in, split into 3V3_MCU and 3V3_SEN.supply
3UART_RXYellow wire - UART receive into the STM32G031 (net USER_RX, USART1).UART RX
4UART_TXWhite wire - UART transmit out of the STM32G031 (net USER_TX, USART1).UART TX

Buses

BusSignalsPinsVoltageNote
UART ×1UART_RX, UART_TXUART_RX, UART_TX

Power

Input5 V on HY2.0-4P pad 2
Typical draw40 mA

Notes

No datasheet_url: the A-K323CP sensor module has no published data sheet and the STM32G031G8U6's document is served only from st.com, which does not resolve from this host (measured again 2026-10-31, curl exit 000), so no unverified link is recorded. What the vendor does publish is the protocol specification PDF, cited in sources. Pad numbering comes from the PinMap colour column because the connector prints nothing. The 8230-byte image size in the vendor table is recorded in ai_context as a vendor arithmetic error, not corrected silently.

AI context

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

PART: M5Stack Fingerprint 2 Unit, SKU U203, a 40.0 x 24.0 x 8.0 mm (6.1 g) fingerprint unit. Two chips: an A-K323CP optical sensor (508 dpi, 80 x 208 pixels, 100 stored templates, 7262 bytes per template) and an STM32G031G8U6 that owns the unit's outer UART. The title carries the sensor, so part is null.\nADDRESSES: none. Both links on this board are UART; it has no I2C device on it.\nPINOUT: one HY2.0-4P socket, PORT.C: pad 1 GND (Black), pad 2 5V (Red), pad 3 UART_RX (Yellow), pad 4 UART_TX (White). The connector prints no pad numbers; 1-4 follow the vendor's colour column.\nSUPPLY: 5 V on pad 2. The schematic splits it into two 3.3 V rails - 3V3_MCU for the STM32G031 and 3V3_SEN for the sensor - each with 4.7 uF/16 V decoupling plus a 4.7 uF/16 V part. Published draw: 40 mA with the breathing LED on, 37.25 mA with it off, 14.11 mA asleep.\nLOGIC: 3.3 V on both UARTs. The vendor publishes no 5 V tolerance, so a 5 V host must level-shift the RX line into pad 3.\nCIRCUIT: the outer port is USART1 on the STM32G031 (nets USER_TX / USER_RX, 115200 bps 8N1); the sensor hangs off a second UART (SENSOR_RX / SENSOR_TX) and its own 3V3_SEN rail. The status LED is LED1 driven through R4 1 kOhm. No I2C pull-ups exist - there is no I2C. A separate 4-pin J1 header on the PCB is the sensor's own UART, which is how the STM32 reaches it.\nTRAPS: (1) Two 3.3 V rails, not one - a fault on the sensor rail does not necessarily show on the MCU rail. (2) The protocol is M5Stack's own binary fingerprint protocol, not a sensor-native one; the STM32 translates, so you talk to the STM32, not the A-K323CP. (3) The vendor's own image-size line reads '8230 Bytes (80 * 208 / 2 = 8320, 4 bits per pixel)', whose arithmetic does not agree with itself - 80 x 208 at 4 bits per pixel is 8320 bytes, so treat 8230 as a typo in the vendor table rather than a buffer size. (4) Capacity is 100 templates at 7262 bytes each, which is a fixed limit of the firmware, not of the host.

Provenance

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

Related boards