Series

Rust on XIAO nRF52840 with Embassy

Let’s explore embedded Rust on the Seeed Studio XIAO nRF52840, also known as the XIAO BLE. It’s a tiny board built around Nordic Semiconductor’s nRF52840 microcontroller.

We’ll use Embassy, an embedded Rust framework that brings async and .await to microcontrollers. Starting with the onboard RGB LED, we’ll work our way through GPIO inputs, waiting for events, and running multiple tasks concurrently. Along the way, we’ll look at both the code and the hardware details that make it work.

The programming tutorials are written companions to videos, with source code in the xiao-ble-embassy repository. You can follow the walkthrough in writing or watch the corresponding video linked in each part.

Start with Installation and setup to prepare your toolchain and debug probe. Then follow Blinky, the first programming tutorial: initialize the board, cycle the RGB LED through red, green, and blue, and use an async timer between colors. You should be comfortable with basic Rust syntax, but you don’t need prior experience with Embassy.

  1. 01 Installation and setup
  2. 02 Blinky