Skip to content

nrf-rs/microbit

Repository files navigation

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 (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.

CrateBoard versionBoard imageDocscrates.iotarget
microbitV1docs.rscrates.iothumbv6m-none-eabi
microbit-v2V2docs.rscrates.iothumbv7em-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.

About

A Rust crate for BBC micro:bit development

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 28

Languages