Skip to content

Seeed Studio XIAO nRF52840

Cortex-M4F board with an onboard RGB LED, SEGGER RTT logging, and the XIAO footprint

Seeed Studio XIAO nRF52840 board

The Seeed Studio XIAO nRF52840 puts Nordic’s nRF52840 — a Cortex-M4F with floating point — in the same thumb-sized XIAO footprint as the RP2040 and ESP32-C3 boards. It has an onboard RGB LED, a reset button, and eleven I/O pins.

Flash it with the ELF your linker produced, not an objcopy’d .bin/.hex — the simulator boots it the way real silicon does, so it needs the sections and symbols the ELF carries.

The nRF52840 product specification documents the peripheral register maps, PPI, and GPIOTE.

Silkscreen names map to the chip’s P0/P1 pads:

PinChip padAlternate function
D0–D3P0.02, P0.03, P0.28, P0.29also A0–A3
D4P0.04SDA
D5P0.05SCL
D6P1.11TX
D7P1.12RX
D8P1.13SCK
D9P1.14MISO
D10P1.15MOSI
3V3, 5V, GNDPower rails
PeripheralSupportNotes
GPIO (P0/P1)
GPIOTEPin events and interrupts, including cross-MCU
UARTuart0, uart1
I2C (TWI)
SPI
PWMpwm0pwm3
Timers / RTCtimer0timer4, rtc0rtc2
RNG, ECB, WDT
PPI
USB device⚠️Present; enumeration is not modelled
Radio (BLE)Not simulated
  • ✅ Fully supported ⚠️ Partial / stub ❌ Not supported

The RGB LED (P0.26 red, P0.30 green, P0.06 blue) is active low — cathodes at the pins, common anode at 3V3. It is not a header pin, so it can’t be wired; it lights in the editor and each colour is recorded as a state change you can read back in the logs.

ChannelDescription
uart0Serial output
rttSEGGER Real-Time Transfer. Requires the _SEGGER_RTT control block symbol in the ELF

Both stream to the terminal live and are separately addressable in the SDK — run.logs({ from: "mcu1:rtt" }).

  • Bluetooth / the 2.4 GHz radio is not simulated
  • USB device mode does not enumerate
  • The reset button restarts the machine; DFU and bootloader mode are not modelled