GitHub - nrf-rs/microbit: A Rust crate for BBC micro:bit development (original) (raw)
microbit
microbit contains everything required getting started using Rust to create firmwares for the fabulousBBC micro:bit microcontroller board. This little board has everything and a kitchen sink built-in, even a capable debugging interface.
Getting started
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
Know your version
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 |
Install dependencies
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-rsand flip-link.
cargo install probe-rs-tools flip-link
Run an example
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!
Further reading
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