/microbit

A Rust crate for BBC micro:bit development

Primary LanguageRustBSD Zero Clause License0BSD

microbit

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.

Getting started

All you need to start programming this device is:

  • A BBC micro:bit board
  • A computer (macOS and Linux work perfectly, Windows tested as well)
  • 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 docs.rs crates.io thumbv6m-none-eabi
microbit-v2 V2 docs.rs crates.io 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-rs and 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:

License

0-clause BSD license.