Opens in a new tab

Seeed Studio XIAO nRF52840 Pinout

Seeed Studio XIAO nRF52840 is a thumb-sized board (21 × 17.8 mm) with the Nordic nRF52840 chip: very low-power Bluetooth LE, native USB and a Li-Po charger. It’s well suited for wireless sensors, remote controls, wearables and Meshtastic and MeshCore network nodes.

The Sense version adds an LSM6DS3TR-C accelerometer with gyroscope and a digital microphone; the pinout is the same.

Specifications

  • nRF52840: Arm Cortex-M4F 64 MHz, 1 MB flash, 256 kB RAM
  • 2 MB external flash (QSPI)
  • Bluetooth LE 5, Thread and Zigbee (IEEE 802.15.4), NFC; ceramic antenna
  • 11 GPIO on the headers (D0–D10), 6 analog inputs (A0–A5); the NFC pads on the bottom can be used as 2 more GPIO
  • UART, I2C, SPI and PWM on any pins
  • USB-C with native USB (UF2 bootloader), RGB LED, RESET button
  • Li-Po charging at 50 or 100 mA, battery voltage measurement

In the Arduino IDE, add the Seeed boards (add the URL https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json to the Boards Manager). The Seeed nRF52 Boards core is recommended for Bluetooth and low power, Seeed nRF52 mbed-enabled Boards for the IMU, microphone and TinyML. Pin numbers D6–D10 and the default SS differ between the cores – use the names D0–D10 in your code.

Programs are uploaded over USB; double-press RESET to start the UF2 bootloader. Zephyr (board xiao_ble), CircuitPython and MicroPython work too.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
Seeed Studio XIAO nRF52840 – pinoutSeeed Studio XIAO nRF52840 – pinoutchiptron.eu · CC BY 4.0USB-CRSTUSRXIAO nRF52840nRF52840LED: P0.26 (RGB, lights at logic 0) 1 P0.02 D0/A0 AIN0 2 P0.03 D1/A1 AIN1 3 P0.28 D2/A2 AIN4 4 P0.29 D3/A3 AIN5 5 P0.04 D4/A4 SDA AIN2 6 P0.05 D5/A5 SCL AIN3 7 P1.11 D6 TX 14 5V ↔ 5 V from USB (VBUS), or 5 V power input 13 GND 12 3V3 → 3.3 V output from the regulator (250 mA) 11 P1.15 D10 MOSI 10 P1.14 D9 MISO 9 P1.13 D8 SCK 8 P1.12 D7 RX GPIO Arduino UART I2C SPI ADC (analog) Power Ground (GND)

Bottom side

Seeed Studio XIAO nRF52840 – pinout (bottom side)Seeed Studio XIAO nRF52840 – pinout (bottom side)chiptron.eu · CC BY 4.01142133124115106978 SWCLK SWD debug interface – clock GND P0.09 NFC1 P0.10 NFC2 SWDIO SWD debug interface – data RST ← Reset (P0.18) – connecting to GND restarts the chip BAT- Cell negative (GND) BAT+ ↔ 3.7 V Li-Po cell positive – the board charges it from USB GPIO Power Ground (GND) Control / reset
Download:PNGSVG
Download – Bottom side:PNGSVG
Pin table – Seeed Studio XIAO nRF52840
PinNameArduinoDirectionUARTI2CSPIADCNote
1P0.02D0/A0input/outputAIN0
2P0.03D1/A1input/outputAIN1
3P0.28D2/A2input/outputAIN4
4P0.29D3/A3input/outputAIN5
5P0.04D4/A4input/outputSDAAIN2
6P0.05D5/A5input/outputSCLAIN3
7P1.11D6input/outputTXUART TX (Serial1)
8P1.12D7input/outputRXUART RX (Serial1)
9P1.13D8input/outputSCK
10P1.14D9input/outputMISO
11P1.15D10input/outputMOSI
123V3output3.3 V output from the SGM2040 regulator (250 mA including the board's own consumption).
13GND–
145Vinput/output5 V directly from the USB connector (VBUS, before the diode). It can also power the board – ideally connect the supply through a diode so voltage does not flow back into USB.
Bottom sideSWCLK–SWD debug interface – clock
Bottom sideSWDIO–SWD debug interface – data
Bottom sideGND–
Bottom sideRSTinputReset (P0.18) – connecting to GND restarts the chip
Bottom sideBAT-–Cell negative (GND)
Bottom sideBAT+input/output3.7 V Li-Po/Li-Ion cell positive. The board charges it from USB at about 50 mA, with P0.13 at logic 0 about 100 mA.
Bottom sideP0.09input/outputNFC1 – after boot the pin is connected to NFC. A permanent write to UICR switches it to GPIO (Arduino: -DCONFIG_NFCT_PINS_AS_GPIOS, Zephyr: nfct-pins-as-gpios), reverted only by erasing UICR.
Bottom sideP0.10input/outputNFC2 – after boot the pin is connected to NFC. A permanent write to UICR switches it to GPIO (Arduino: -DCONFIG_NFCT_PINS_AS_GPIOS, Zephyr: nfct-pins-as-gpios), reverted only by erasing UICR.

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
P0.26RGB LED – red (LED_BUILTIN), lights at logic 0
P0.30RGB LED – green (AIN6)
P0.06RGB LED – blue
P0.13Charge current: input = 50 mA, logic 0 = 100 mA
P0.14Battery divider enable (logic 0)
P0.17Charge status (logic 0 = charging)
P0.31Battery voltage via divider (AIN7), VBAT = 2.96 × U
P0.20–P0.25QSPI flash 2 MB
P0.07/P0.27/P0.11/P1.08Sense: IMU SDA, SCL, INT1, power
P1.00/P0.16/P1.10Sense: microphone CLK, DATA, power

What to watch out for

  • GPIO are not 5V tolerant. Use a level shifter for 5V signals.
  • The RGB LED lights at logic 0: red P0.26, green P0.30, blue P0.06.
  • According to Nordic, pins D0–D3 and D6–D10 are intended for low-speed signals (up to 10 kHz). Fast SPI works on them but may degrade radio reception – fast signals belong on D4 and D5.
  • The NFC pads (P0.09, P0.10) are connected to NFC after boot. A permanent write to UICR switches them to GPIO (-DCONFIG_NFCT_PINS_AS_GPIOS in Arduino); you can switch back only by erasing UICR.
  • P0.13 selects the charging current: as an input about 50 mA, at logic 0 about 100 mA. Don’t set it to logic 1.
  • Battery voltage is measured on P0.31 (AIN7) through a 1 MΩ / 510 kΩ divider, which P0.14 enables at logic 0 (VBAT = 2.96 × the voltage at AIN7). Seeed recommends keeping P0.14 at logic 0.
  • Connect only a 3.7 V Li-Po/Li-Ion cell to the BAT pads.

nRF52840 on chiptron.eu/

Projects and guides on chiptron.eu/:

  • MeshCore – off-grid LoRa communication, a guide with the XIAO nRF52840 board and the Wio-SX1262 shield
  • MeshPocket – a power bank and LoRa node in one, with Bluetooth handled by the nRF52840

More pinouts

See all pinouts on the Pinouts page.

Related Articles