no-std calliope-mini

Board support crate for the Calliope mini

1 unstable release

0.1.0 Mar 30, 2024

#686 in Hardware support

MIT license

69KB
1K SLoC

calliope-mini

calliope-mini contains everything required getting started using Rust to create firmwares for the Calliope mini microcontroller board. This little board has a lot built-in, even a capable debugging interface.

Important notes

  • this project is currently under active development, APIs are expected to change.
  • it is a fork of microbit, a Board Support Package (BSB) for the BBC micro:bit
  • currently supported is Calliope mini V1 exclusively, support for V2 and V3 is planned
  • using the crate you need to specify the version of the Calliope mini by activating the corresponding feature, e.g. v1

Calliope mini version

For determining the version of your board see the product page.

Getting started

All you need to start programming this device is:

  • A Calliope mini board
  • A computer: Linux is tested
  • A bit of open source software

Install dependencies

On Linux you have the options to use cargo install or nix-shell.

Cargo install

In order to run the examples you need to install flip-link and cargo-embed.

> cargo install flip-link cargo-embed

Nix

Start a Nix shell in the project's base directory

> nix-shell

Run an example

The first thing to try is one of the examples in this repository. Plug in your Calliope mini and run one of the commands below.

For Calliope mini V1

> cargo embed --release --manifest-path ./examples/display-blocking/Cargo.toml --features v1 --target thumbv6m-none-eabi

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 Calliope mini!

License

MIT

Dependencies

~0.1–2MB
~52K SLoC