jezdean / awesome-microbit

A curated list of micro:bit resources.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome micro:bit Awesome

micro:bit logo

A curated list of resources for the BBC micro:bit, a pocket-sized programmable board with a Bluetooth capable microcontroller, accelerometer, magnetometer, LED matrix, a couple of buttons, and accessible GPIO.

Inspired by the Awesome lists.

Table Of Contents:

Visual Programming Languages

  • Microsoft Blocks - A Block interface that produces Touch Develop code.
  • Code Kingdoms - A graphical interface that provides a transitioning experience from 'drag and drop' to text-based programming (JavaScript).
  • PXT - The Programming eXperience Toolkit for the micro:bit provides a Blocks interface with more capabilities than Microsoft Blocks.
  • Scratch for BBC micro:bit - Using micro:bit with Scratch / S2Bot as a bluetooth 'games controller' (needs specific BLED112 Bluetooth dongle).

Written Programming Languages

  • MicroPython - Port of MicroPython, a Python 3 implementation for microcontrollers and constrained environments.
  • C/C++ runtime - Guidance on how to start using the runtime in C/C++ including full documentation of the APIs, drivers, and types that make up the micro:bit runtime. Bluetooth documentation includes a link to the original *.hex file that ships on the micro:bit devices.
  • Touch Develop - A flexible, text-based programming language with an interactive visual component.
  • PTX TypeScript - The Programming eXperience Toolkit is based on a subset of TypeScript, which in itself is a superset of JavaScript.
  • Espruino JavaScript - A JavaScript interpreter for microcontrollers. It also offers a WebIDE for written code and blocks.
  • Rust on BBC micro:bit - Describes the experience and steps of compiling Rust code for the micro:bit with and without interaction with the runtime DAL.

Online Code Editors

Desktop Code Editors

  • Mu - A "micro" editor for MicroPython and the BBC micro:bit.
  • Atom microbit-python package - Flash Python code to your micro:bit directly from the Atom text editor.
  • Micro:Pi - A C/C++ editor with serial monitor and deploy functionality. Written in Python with an installer (ATM Linux only, but could be manually installed in any OS) that includes all dependencies.

Programming Tools

  • Vagrant C/C++ Development Environment - With a single command it creates a virtual machine with all the toolchain required to compile and flash C/C++ programs to the micro:bit (including MicroPython).
  • uFlash - A utility for flashing the micro:bit with Python scripts and the MicroPython runtime.
  • MicroFs - A simple command line tool and module for interacting with the limited file system provided by MicroPython on the micro:bit.
  • micro:bit uploader - Windows application that monitors your Downloads folder and flashes any new programs to the micro:bit.
  • PXT Command Line Tool - Use the command line to program the micro:bit with javascript using PXT.
  • Jupyter kernel for the micro:bit - This package allows Jupyter interfaces to run MicroPython code directly on the micro:bit.
  • Simulink Coder Support Package - This package enables you to create Simulink models and automatically generate and deploy code on the micro:bit.

Apps

  • Official App (Android, iOS) - Pair, program and flash programs to the micro:bit via Bluetooth.
  • micro:bit Blue (Android) - Contains a series demos for interacting with the microbit using Bluetooth.
  • Bitty Software Apps - A diverse collection of Android and iOS apps, going from data logging to audio pranks, you'll certainly find something of interest.
  • Insight Mr Bit (iOS) - Create simple programs in plain English to control the BBC micro:bit to do lots of useful things.

Interface Chip

The Interface Chip is the microcontroller placed close to the battery connector. It provides the USB mass storage capability to load the micro:bit firmware using the Operating System file explorer.

  • DAPLink on micro:bit - The DAPLink is the default software running on the Interface Chip, this page contains information, update instructions, and the latest firmware.
  • DAPLink source code - Source code for the mbed DAPLink, contains the build configuration for the micro:bit.
  • J-Link OB Firmware - Offers the same flashing functionality than the DAPLink and expands it to include J-Link debugging.

Libraries

Python

  • MicroPeri - Run Python programs on your computer with the same micro:bit MicroPython API and connecting a micro:bit as an external peripheral device or sensor.
  • microbit_stub - A Python package that emulates the micro:bit as defined by the micro:bit MicroPython API.
  • bluezero - A Python package to interface with Bluetooth devices, with examples for the micro:bit.

Node.js

Projects

All these projects contain steps and resources required for reproduction.

  • microbit.co.uk Site Index - The microbit.co.uk website contains an extensive list with all their projects and tutorials.
  • hackster micro:bit community - This hackster community contains user submitted projects for the micro:bit.
  • PXT Projects - List of micro:bit projects you can do with the PXT editor.
  • Quiz:bit - micro:bit programs and a matching application for providing a quiz-voter-style service using micro:bits as the controls.
  • JUST DO IoT - Connect the micro:Bit to the LoRaWAN network, includes open source hardware microbit connector board.
  • Micro:Bob - A simple bipedal robot controlled by a micro:bit.
  • Coffee Timer (1, 2, 3) - Three part article describing how to augment a coffee maker with an micro:bit indicator, options for low power communication, and creating a custom enclosure.
  • Thermal Printer - Connecting and using a Sparkfun thermal till-roll printer.
  • Telescopic Light Sword - Project shows how to make your own Light Sword with the micro:bit, electronics, and 3D printed parts.

Articles

Useful Articles for developing on the micro:bit.

Videos

Teaching Resources

Miscellaneous

  • Kodu Controller - Enables interacting with the microbit from Kodu Game Lab.
  • microbit Fritzing Part - Richard Hayler collection of Fritzing parts contains a model for the micro:bit.
  • micro:bit broadcast - Free newsletter to stay up-to-date with the latest micro:bit news, articles, projects, and resources.
  • CAD Resources - Free micro:bit CAD model from Kitronik.
  • micro:bit-o-matic - Easily create micro:bit illustrations with custom LED matrix messages.

License & Trademarks

CC0

To the extent possible under law, the authors have waived all copyright and related or neighbouring rights to this work.

This projects is not endorsed, sponsored or associated with the BBC. "BBC”, “micro:bit”, and their logos are trademarks of the BBC.

About

A curated list of micro:bit resources.

License:Creative Commons Zero v1.0 Universal