#arm #cortex-m #nrf #hal

no-std microbit-common

Implementation details for the BBC Micro:bit board support crates

3 unstable releases

0.11.0 Sep 13, 2021
0.10.1 May 25, 2021
0.10.0 May 13, 2021

#259 in Hardware support

21 downloads per month
Used in 2 crates

0BSD license

58KB
1K SLoC

microbit

microbit contains everything required to get 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 project. In order to run the examples you need to install probe-run and flip-link.

> cargo install probe-run 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 microbit using this crate can be found in the MicroRust book.

Other useful resources:

License

0-clause BSD license.

Dependencies

~0.1–2MB
~59K SLoC