Myrddin Dundragon 1181759ace One major weekend coding session later...
I hate doing this as one giant commit, but I was under the gun and had
to just code as fast as I could, so some common software development
things had to be skipped. Mostly git commits.

Here we have several mini applications that reside on the microbit.
* Menu - The main app switching presentation.
* Badge - A name scroller.
* Snake - A snake game.

The switcher task is the main running task of the program. All the logic
goes through here. It will pass the running off to different apps. When
an app returns from its main function it will return the next app to
switch to.

The display task is a PWM LED matrix updater. It will turn on the LEDs
for what ever frame is passed to it. It keeps a backing frame for draw
calls that occur between new frames arriving.

There are several button listeners for input handling.

Everything is sent using channels, button input and presentation frames.
2025-07-18 10:47:10 -04:00
2025-07-18 08:42:32 -04:00
2025-07-18 08:42:32 -04:00

MicroBadge

License-Shield LinkedIn-Shield

MicroBadge is a software application suite for the BBC micro:bit v2, designed as a digital conference badge.


Table of Contents
  1. About The Project
  2. Project Structure
  3. Getting Started
  4. Copyright & License

About The Project

This project provides a modular and extensible application framework for the BBC micro:bit. It supports multiple interactive applications with a shared UI and rendering infrastructure. It uses message-passing channels and safe numeric arithmetic via bounded, clamped, and wrapped integer types.

Features

  • Modular application management with a switcher component.
  • Menu, Snake, Badge, and future NFC applications included.
  • Real-time rendering to the micro:bit LED matrix.
  • Button input driven by asynchronous event channels.
  • Renderer abstraction for pixel-level control.
  • Channel-based messaging for input and output decoupling.
  • Safe integer handling using bounded, clamped, and wrapped types.

Built With

Project Structure

src/
├── main.rs                 Entry point of the application.

Getting Started

Prerequisites

The Rust discovery book has a great section on how to setup a build environment.

Make sure you have the correct bulid target installed.

rustup target add thumbv7em-none-eabihf

Build and Flash

To build and flash the program to your Microbit just run:

cargo embed

Copyright 2025 CyberMages LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this library except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS

Description
MicroBadge is a software application suite for the BBC micro:bit v2, designed as a digital conference badge.
Readme 15 MiB
Languages
Rust 99.9%