Seeed Studio XIAO nRF52840
Cortex-M4F board with an onboard RGB LED, SEGGER RTT logging, and the XIAO footprint
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.
Datasheet
Section titled “Datasheet”The nRF52840 product specification documents the peripheral register maps, PPI, and GPIOTE.
Silkscreen names map to the chip’s P0/P1 pads:
| Pin | Chip pad | Alternate function |
|---|---|---|
| D0–D3 | P0.02, P0.03, P0.28, P0.29 | also A0–A3 |
| D4 | P0.04 | SDA |
| D5 | P0.05 | SCL |
| D6 | P1.11 | TX |
| D7 | P1.12 | RX |
| D8 | P1.13 | SCK |
| D9 | P1.14 | MISO |
| D10 | P1.15 | MOSI |
| 3V3, 5V, GND | — | Power rails |
Peripherals
Section titled “Peripherals”| Peripheral | Support | Notes |
|---|---|---|
| GPIO (P0/P1) | ✅ | |
| GPIOTE | ✅ | Pin events and interrupts, including cross-MCU |
| UART | ✅ | uart0, uart1 |
| I2C (TWI) | ✅ | |
| SPI | ✅ | |
| PWM | ✅ | pwm0–pwm3 |
| Timers / RTC | ✅ | timer0–timer4, rtc0–rtc2 |
| RNG, ECB, WDT | ✅ | |
| PPI | ✅ | |
| USB device | ⚠️ | Present; enumeration is not modelled |
| Radio (BLE) | ❌ | Not simulated |
- ✅ Fully supported ⚠️ Partial / stub ❌ Not supported
Onboard RGB LED
Section titled “Onboard RGB LED”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.
Debug output
Section titled “Debug output”| Channel | Description |
|---|---|
uart0 | Serial output |
rtt | SEGGER 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" }).
Limitations
Section titled “Limitations”- 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