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.
Crate | Board version | Board image | Docs | crates.io | target |
---|---|---|---|---|---|
microbit |
V1 | thumbv6m-none-eabi |
|||
microbit-v2 |
V2 | thumbv7em-none-eabihf |
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-link
The 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-eabi
For micro:bit V2
> cargo run --release --manifest-path ./examples/display-blocking/Cargo.toml --features v2 --target thumbv7em-none-eabihf
You 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 MicroRust book.
Other useful resources:
- micro:bit developer community
- micro:bit hardware overview
- nrf-hal the hardware abstraction layer (HAL) this repository is based on