Myrddin Dundragon aabcfc6a9a Added the generated design docs.
Also explained how to generate them in the README.md file.
2025-07-18 12:25:52 -04:00
2025-07-18 12:25:52 -04:00
2025-07-18 08:42:32 -04:00
2025-07-18 08:42:32 -04:00
2025-07-18 12:25:52 -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

Documentation

Design Doc

The [Design Doc][./docs/design.pdf] is generated with pandoc from the markdown file.

   pandoc ./docs/design.md -o ./docs/design.pdf

Software Design Doc

The [Software Design Doc][./docs/sdd.pdf] is generated with pandoc from the markdown file.

   pandoc ./docs/sdd.md -o ./docs/sdd.pdf

UML

[UML][./docs/uml/] is generated using Plant UML on the *.puml files.

   plantuml ./docs/uml/*.puml

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%