microbit contains everything required getting started using Rust to create firmwares for the fabulous BBC micro:bit microcontroller board. This little board has everything and a kitchen sink built-in, even a capable debugging interface.
All you need to start programming this device is:
- A BBC micro:bit board
- A computer (known to work with macOS, Linux and Windows)
- A bit of open source software
The micro:bit comes in different versions. There is a separate crate for each major board version. See the table below to identify which crate you need to use.
The examples make use of some of the fantastic tooling from the knurling and probe-rs projects.
In order to run the examples you need to install probe-rs
and flip-link.
> cargo install probe-rs-tools flip-linkThe first thing to try is one of the examples in this repository. Plug in your micro:bit and run one of the commands below.
For micro:bit V1
> cargo run --release --manifest-path ./examples/display-blocking/Cargo.toml --features v1 --target thumbv6m-none-eabiFor micro:bit V2
> cargo run --release --manifest-path ./examples/display-blocking/Cargo.toml --features v2 --target thumbv7em-none-eabihfYou should see a lot of build output, the orange LED on the back of the micro:bit should flash quickly, and a message should appear on the LED display.
Congratulations! You've flashed your first Rust program onto your micro:bit!
A guide to embedded development with Rust on the micro:bit using this crate can be found in the Discovery Book.
Other useful resources:
- micro:bit developer community
- micro:bit hardware overview
- The awesome micro:bit list of resources, including its Rust-specific sections.
- nrf-hal the hardware abstraction layer (HAL) this repository is based on


