XIAO nRF52840 (Sense) Plus
Overview
The Seeed Studio XIAO nRF52840 Plus [1] is a XIAO form factor development board built around the Nordic Semiconductor nRF52840 SoC. It is electrically equivalent to the XIAO BLE (Sense) and adds nine pins, exposed as pads on the bottom side of the board, next to the 14 castellated pins of the XIAO form factor. The XIAO nRF52840 Sense Plus additionally embeds a 6-axis IMU and a PDM microphone.
The two boards are supported by the following board targets:
xiao_nrf52840_plusfor the XIAO nRF52840 Plusxiao_nrf52840_plus/nrf52840/sensefor the XIAO nRF52840 Sense Plus
Hardware
Nordic nRF52840 Cortex-M4F processor at 64 MHz, 1 MB flash, 256 KB RAM
2 MB QSPI flash
RGB LED
USB Type-C connector, nRF52840 acting as USB device
Battery charger BQ25101, with battery voltage measurement
Reset button
Bluetooth antenna, NFC antenna pins
LSM6DS3TR-C 6-axis IMU (Sense Plus only)
PDM microphone (Sense Plus only)
Supported Features
The xiao_nrf52840_plus board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
xiao_nrf52840_plus/nrf52840 target
On-target memory for this board target: 256 KiB of RAM, 1 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Nordic Semiconductor nRF family SAADC node1 |
|
ARM architecture |
on-chip |
Nordic UICR (User Information Configuration Registers)1 |
|
on-chip |
Nordic EGU (Event Generator Unit)6 |
||
on-chip |
Nordic nRF family ACL (Access Control List)1 |
||
on-chip |
Nordic nRF family MWU (Memory Watch Unit)1 |
||
Audio |
on-chip |
Nordic PDM (Pulse Density Modulation interface)1 |
|
Clock control |
on-chip |
Nordic nRF clock control node1 |
|
on-chip |
Nordic nRF HFCLK clock control node1 |
||
on-chip |
Nordic nRF LFCLK clock control node1 |
||
on-chip |
Nordic nRF high-frequency crystal oscillator (nRF52 series)1 |
||
Comparator |
on-chip |
Nordic nRF COMP (analog COMParator)1 |
|
Counter |
on-chip |
Nordic nRF timer node5 |
|
Cryptographic accelerator |
on-chip |
Nordic ECB (AES electronic codebook mode encryption)1 |
|
on-chip |
Nordic nRF family CCM (AES CCM mode encryption)1 |
||
on-chip |
ARM TrustZone CryptoCell 3101 |
||
Debug |
on-chip |
ARMv7 instrumentation trace macrocell1 |
|
Flash controller |
on-chip |
Nordic NVMC (Non-Volatile Memory Controller)1 |
|
on-chip |
Properties defining the interface for the Nordic QSPI peripheral1 |
||
GPIO & Headers |
on-chip |
NRF5 GPIOTE1 |
|
on-chip |
NRF5 GPIO2 |
||
on-board |
GPIO pins exposed on Seeeduino Xiao (and compatible devices) headers1 |
||
on-board |
GPIO pins exposed on the additional pads of Seeed Studio XIAO Plus boards1 |
||
I2C |
on-chip |
||
I2S |
on-chip |
Nordic I2S (Inter-IC sound interface)1 |
|
IEEE 802.15.4 |
on-chip |
Nordic nRF IEEE 802.15.4 node1 |
|
IIO |
on-board |
Voltage Divider1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Miscellaneous |
on-chip |
Nordic FICR (Factory Information Configuration Registers)1 |
|
on-chip |
Nordic nRF family PPI (Programmable Peripheral Interconnect)1 |
||
MTD |
on-chip |
Flash node1 |
|
on-board |
QSPI NOR flash supporting the JEDEC CFI interface1 |
||
Networking |
on-chip |
Nordic nRF family RADIO peripheral1 |
|
on-chip |
Nordic nRF family NFCT (Near Field Communication Tag)1 |
||
Pin control |
on-chip |
Nordic nRF family Pin Controller1 |
|
Power management |
on-chip |
Nordic nRF power control node1 |
|
PWM |
on-chip |
||
on-chip |
nRFx S/W PWM1 |
||
Regulator |
on-chip |
Nordic nRF5X regulator (fixed stage of the core supply)1 |
|
on-chip |
Nordic nRF52X regulator (high voltage stage of the main supply)1 |
||
Retained memory |
on-chip |
Nordic GPREGRET (General Purpose Register Retention) device2 |
|
RNG |
on-chip |
Nordic nRF family RNG (Random Number Generator)1 |
|
RTC |
on-chip |
Nordic nRF RTC (Real-Time Counter)3 |
|
Sensors |
on-chip |
Nordic nRF family TEMP node1 |
|
on-chip |
Nordic nRF quadrature decoder (QDEC) node1 |
||
Serial controller |
on-chip |
||
SPI |
on-chip |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Nordic nRF52 USB device controller1 |
|
Watchdog |
on-chip |
Nordic nRF family WDT (Watchdog Timer)1 |
xiao_nrf52840_plus/nrf52840/sense target
On-target memory for this board target: 256 KiB of RAM, 1 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Nordic Semiconductor nRF family SAADC node1 |
|
ARM architecture |
on-chip |
Nordic UICR (User Information Configuration Registers)1 |
|
on-chip |
Nordic EGU (Event Generator Unit)6 |
||
on-chip |
Nordic nRF family ACL (Access Control List)1 |
||
on-chip |
Nordic nRF family MWU (Memory Watch Unit)1 |
||
Audio |
on-chip |
Nordic PDM (Pulse Density Modulation interface)1 |
|
Clock control |
on-chip |
Nordic nRF clock control node1 |
|
on-chip |
Nordic nRF HFCLK clock control node1 |
||
on-chip |
Nordic nRF LFCLK clock control node1 |
||
on-chip |
Nordic nRF high-frequency crystal oscillator (nRF52 series)1 |
||
Comparator |
on-chip |
Nordic nRF COMP (analog COMParator)1 |
|
Counter |
on-chip |
Nordic nRF timer node5 |
|
Cryptographic accelerator |
on-chip |
Nordic ECB (AES electronic codebook mode encryption)1 |
|
on-chip |
Nordic nRF family CCM (AES CCM mode encryption)1 |
||
on-chip |
ARM TrustZone CryptoCell 3101 |
||
Debug |
on-chip |
ARMv7 instrumentation trace macrocell1 |
|
Flash controller |
on-chip |
Nordic NVMC (Non-Volatile Memory Controller)1 |
|
on-chip |
Properties defining the interface for the Nordic QSPI peripheral1 |
||
GPIO & Headers |
on-chip |
NRF5 GPIOTE1 |
|
on-chip |
NRF5 GPIO2 |
||
on-board |
GPIO pins exposed on Seeeduino Xiao (and compatible devices) headers1 |
||
on-board |
GPIO pins exposed on the additional pads of Seeed Studio XIAO Plus boards1 |
||
I2C |
on-chip |
Nordic nRF family TWIM (TWI master with EasyDMA)2 |
|
I2S |
on-chip |
Nordic I2S (Inter-IC sound interface)1 |
|
IEEE 802.15.4 |
on-chip |
Nordic nRF IEEE 802.15.4 node1 |
|
IIO |
on-board |
Voltage Divider1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Miscellaneous |
on-chip |
Nordic FICR (Factory Information Configuration Registers)1 |
|
on-chip |
Nordic nRF family PPI (Programmable Peripheral Interconnect)1 |
||
MTD |
on-chip |
Flash node1 |
|
on-board |
QSPI NOR flash supporting the JEDEC CFI interface1 |
||
Networking |
on-chip |
Nordic nRF family RADIO peripheral1 |
|
on-chip |
Nordic nRF family NFCT (Near Field Communication Tag)1 |
||
Pin control |
on-chip |
Nordic nRF family Pin Controller1 |
|
Power management |
on-chip |
Nordic nRF power control node1 |
|
PWM |
on-chip |
||
on-chip |
nRFx S/W PWM1 |
||
Regulator |
on-chip |
Nordic nRF5X regulator (fixed stage of the core supply)1 |
|
on-chip |
Nordic nRF52X regulator (high voltage stage of the main supply)1 |
||
on-board |
Fixed voltage regulators2 |
||
Retained memory |
on-chip |
Nordic GPREGRET (General Purpose Register Retention) device2 |
|
RNG |
on-chip |
Nordic nRF family RNG (Random Number Generator)1 |
|
RTC |
on-chip |
Nordic nRF RTC (Real-Time Counter)3 |
|
Sensors |
on-board |
STMicroelectronics LSM6DSL 6-axis accelerometer and gyrometer accessed through SPI bus1 |
|
on-chip |
Nordic nRF family TEMP node1 |
||
on-chip |
Nordic nRF quadrature decoder (QDEC) node1 |
||
Serial controller |
on-chip |
||
SPI |
on-chip |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Nordic nRF52 USB device controller1 |
|
Watchdog |
on-chip |
Nordic nRF family WDT (Watchdog Timer)1 |
Connections and IOs
The XIAO nRF52840 wiki [2] has detailed information about the board, including pinouts and schematics.
The 14 castellated pins follow the standard XIAO pinout and are exposed through the xiao_d
GPIO nexus node (see seeed,xiao-gpio) and the xiao_i2c, xiao_spi,
xiao_serial and xiao_adc node labels.
The nine additional pads are exposed through the xiao_plus_d GPIO nexus node (see
seeed,xiao-plus-gpio), which uses the pad number as index, so
<&xiao_plus_d 17 0> refers to D17. The secondary UART and SPI buses routed to these pads are
available as xiao_plus_serial and xiao_plus_spi. Both are disabled by default.
Pin |
GPIO |
Function |
Notes |
|---|---|---|---|
D11 |
P0.15 |
I2S SD |
|
D12 |
P0.19 |
I2S SCK |
|
D13 |
P1.01 |
I2S WS |
|
D14 |
P0.09 |
|
NFC1, see below |
D15 |
P0.10 |
|
NFC2, see below |
D16 |
P0.31 |
AIN7 |
Battery voltage divider, see below |
D17 |
P1.03 |
|
|
D18 |
P1.05 |
|
|
D19 |
P1.07 |
|
D14 and D15 are the NFC antenna pins of the nRF52840. To use them as GPIOs or as UART pins, the
nfct-pins-as-gpios property must be set in the uicr node, which disables NFC:
&uicr {
nfct-pins-as-gpios;
};
D16 is connected to the battery voltage divider. The battery voltage can be read using the
vbatt node (voltage-divider), for example with the
sensor get battery-divider command of the sensor shell. The driver connects the divider to
ground by driving P0.14 low while the vbatt device is active.
Note
The XIAO ESP32S3 Plus places D17 and D19 at swapped positions compared to the XIAO nRF52840
Plus. The xiao_plus_d indices always follow the pad names of the module pinout.
LEDs
LED0 (red) = P0.26
LED1 (green) = P0.30
LED2 (blue) = P0.06
The red charge LED is driven by the battery charger. Its status can be read on P0.17.
Programming and Debugging
The xiao_nrf52840_plus board supports the runners and associated west commands listed below.
| flash | debug | rtt | debugserver | attach | reset | |
|---|---|---|---|---|---|---|
| blackmagicprobe | ✅ | ✅ | ✅ | |||
| jlink | ✅ | ✅ (default) | ✅ | ✅ | ✅ | ✅ |
| nrfjprog | ✅ | |||||
| nrfutil | ✅ | |||||
| openocd | ✅ | ✅ | ✅ | ✅ | ✅ | |
| pyocd | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| uf2 | ✅ (default) |
The board ships with the Adafruit nRF52 Bootloader [3], which supports flashing using UF2 [4] and is the default runner. Flashing using the bootloader does not support debugging the device, for debugging use an External Debug Probe connected to the SWD pads on the bottom side of the board.
Flashing
To enter the bootloader, connect the USB port of the board to your host and double tap the reset button. A mass storage device should appear on the host. Build and flash the application in the usual way, for example for the Hello World application:
# From the root of the zephyr repository
west build -b xiao_nrf52840_plus samples/hello_world
west flash
# From the root of the zephyr repository
west build -b xiao_nrf52840_plus/nrf52840/sense samples/hello_world
west flash
The application console is available on the USB CDC ACM serial port.
Alternatively, copy the zephyr/zephyr.uf2 file from the build directory to the mass storage
device. The board resets and runs the new application once the copy is complete.