A curated list of resources for the BBC micro:bit, a tiny programmable computer designed to make learning and teaching easy and fun! This embedded board has a Bluetooth capable microcontroller, USB interface, accelerometer, magnetometer, light and temperature sensors, 5x5 LED matrix, buttons, and GPIO accessible via the edge connector.
- You can "Watch" this repository if you'd like to get notfications when a new entry is added to the list.
- And now you can also follow @awesomemicrobit on Twitter and get updates in your timeline! ๐ฃ
Inspired by the Awesome lists.
Contributions are welcome! Not sure how to submit a contribution? Have a look at our guide.
- ๐ฉโ๐ป Programming
- ๐ ๏ธ Programming Tools
- ๐ฑ Mobile Apps
- ๐ต ChromeOS Apps
โ๏ธ Interface Chip- ๐ฉ Hardware
- ๐จ๏ธ 3D Printing
- ๐ CAD
- ๐จ 2D Design
- ๐๏ธ Projects
- ๐๏ธ Articles
- ๐ฅ Videos
- ๐ Books
- ๐ซ Teaching Resources
- ๐ช Community
- ๐ Events
- ๐คท Miscellaneous
- โ๏ธ License
- MakeCode - Provides an in-browser emulator and a Blocks interface that generates JavaScript (TypeScript) code (part of Microsoft's PXT).
- MakeCode Beta - Beta version of the MakeCode editor to test the latest features.
- MakeCode Windows 10 App - Windows 10 application for micro:bit MakeCode.
- Scratch 3.0 - The new version of Scratch is officially compatible with the micro:bit via their Scratch Link plug-in.
- Code Kingdoms - (No longer maintained) Graphical interface that provides a transitioning experience from 'drag and drop' to text-based programming (JavaScript).
- Open Roberta Lab - Block programming environment design for programming robots, it also supports the micro:bit by generating MicroPython.
- EduBlocks - Blocks interface that provides a transitioning experience from Scratch to Python.
- MicroBlocks - A visual programming language inspired by Scratch that runs right inside microcontroller boards such as the micro:bit.
- Workbench - A multi-device coding canvas for block-based programming that connects with BLE devices via Chrome Web Bluetooth.
- Mind+ - Desktop application to program hardware devices, like the micro:bit, with blocks, Python, or the C language.
- mBlock 5 - Desktop application supporting block-based and Python-based programming on multiple hardware platforms, including the micro:bit.
- CodeMao Kitten Editor - Block programming platform to create games, includes micro:bit support.
- eBlock - A Scratch 2 based application (forked from mBlock 3) to visually code the BBC micro:bit and other devices.
- Scratch for BBC micro:bit - Using micro:bit with Scratch / S2Bot as a Bluetooth 'games controller' (needs specific BLED112 Bluetooth dongle).
- ScratchX micro:bit extension - Lets you control your micro:bit wirelessly using Scratch programming blocks.
- s2m - A Python program that acts as a bridge between the Scratch 2 off-line editor and the micro:bit via USB.
- s2microbit BLE - Scratch 2 (offline) extension for BBC micro:bit bluetooth connection with a Windows PC.
- MicroPython - Port of MicroPython, a Python 3 implementation for microcontrollers and constrained environments.
- microbit.org Python Editor - The official online Python editor from the micro:bit foundation website.
- microbit.org Python Editor Beta - Beta version of the Python editor to test the latest features.
- Mu - "Micro" editor for MicroPython and the BBC micro:bit.
- create.withcode.uk - Python online editor and simulator that supports the micro:bit MicroPython (instructions).
- Atom micro:bit MicroPython package - BBC micro:bit MicroPython support package for the Atom editor.
- Thonny micro:bit - Plug-in for Thonny, a Python IDE for beginners.
- JetBrains IDEA/PyCharm IDE plugin - Support for MicroPython devices in IntelliJ IDEA and PyCharm.
- uPyCraft - A micro:bit compatible MicroPython IDE for Windows/Mac, designed with a simple and convenient interface.
- CodeSpace - From Firia Labs, an online MicroPython IDE for micro:bits, with bundled learning resources.
- EduBlocks - Blocks interface that provides a transitioning experience from Scratch to Python.
- Open Roberta Lab - Block programming environment design for programming robots, it also supports the micro:bit by generating MicroPython.
- Servo - Class for controlling servos on the micro:bit via PWM.
- PCA9685 - Class for using the PCA9685 16-Channel 12-bit PWM/Servo Driver via I2C.
- MAX7219 7-segment - Module for using a 7-segment display driven by a MAX7219 chip via SPI.
- MAX7219 matrix - Module for using a 8x8 Leds Matrix driven by a MAX7219 chip via SPI.
- SSD1306 - Library to control the OLED SSD1306 128x64 I2C with a micro:bit.
- SSD1306 7seg - Library to use an SSD1306 OLED display as a 7 segment display.
- SSD1306 SPI - Library to control the OLED SSD1306 128x64 display with a micro:bit via SPI.
- SSD1306 - Library to control the SSD1306 display via I2C.
- HT16K33 - Library for the HT16K33 LED matrix driver in multiple configurations (16x8, 8x8 or 8x8x2).
- HC-SR04 - Library to read the distance from a HC-SR04 ultrasonic sensor using the SPI peripheral.
- US-100 - Library to read the distance from a US-100 ultrasonic sensor via UART.
- KY038 - Library to calibrate and use a sound sensor KY038, including clap counter functionality.
- Nokia 5110 PCD8544 LCD - Fast controller for Nokia 5110 LCDs.
- 24LCxxx EEPROM - Example micro:bit functions to read and write to a Microchip I2C EEPROM.
- ULN2003 - Module to drive stepper motors via ULN2003 darlington transistors.
- Bosch BME280 - Module for Bosch BME280 Pressure, Temperature and Humidity Sensor via I2C.
- Pixy - Interface module for using the Pixy cam with the BBC micro:bit.
- MB1013 - Module for the MB1013 ultrasonic sensor controlled via UART.
- MY9221 - Library for 10 segment LED bar graph modules using the MY9221 LED driver.
- AM2320 - Library for interfacing with an Aosong AM2320 temperature and humidity sensor over I2C.
- DHT12 - Library for interfacing with an Aosong DHT12 temperature and humidity sensor over I2C.
- TM1637 - Library for quad 7-segment LED display modules using the TM1637 LED driver.
- micro:bit MIDI - Module to enable talking to MIDI devices on the BBC micro:bit.
- Kitronik Motor Driver Board - Class to control the Kitronik motor driver board.
- microbit python libs - Growing collection of modules, including TM1637/TM1650 7-seg LEDs, OLED 128x64, LCD1602, AT24XX EEPROM, DS1302/DS1307/DS3231 RTC, NeoPixel drivers, APDS9930 Digital Proximity and Ambient Light Sensor, BME280 humidity and pressure sensor, BMP280/BMP180 pressure sensors.
- RAK811 - RAK811 Python library for use with LoRa pHAT & MicroBIT Node.
- Micropython-MakeCode compatible Radio - Class MakeRadio which includes all the functionality of the MicroPyhton radio module, while being compatible with MakeCode blocks.
- Cutebot - Library providing functions to work with Cutebot kit for BBC micro:bit.
- 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 - Python package that emulates the micro:bit as defined by the micro:bit MicroPython API.
- bluezero - Python package to interface with Bluetooth devices, with examples for the micro:bit.
- bitio - BBC micro:bit I/O library for Python. It allows you to run code in Python on a PC/Mac/Linux/Raspberry Pi and interact directly with the micro:bit.
- uFlash - Utility for flashing the micro:bit with Python scripts and the MicroPython runtime.
- MicroREPL - A REPL client for MicroPython running on the BBC micro:bit.
- MicroFs - Simple command line tool and module for interacting with the limited file system provided by MicroPython on the micro:bit.
- Jupyter kernel for the micro:bit - Package that allows Jupyter interfaces to run MicroPython code directly on the micro:bit.
- MakeCode - This block and text editor for the micro:bit provides an in-browser emulator, a Blocks interface, and JavaScript (TypeScript) editor.
- MakeCode Beta - Beta version of the MakeCode editor to test the latest features.
- MakeCode Windows 10 App - Windows 10 application for micro:bit MakeCode.
- Espruino JavaScript - JavaScript interpreter for microcontrollers. It also offers a WebIDE for written code and blocks. The motion sensors from v1.5 of the micro:bit are currently not implemented.
- How to Build MakeCode Extensions - Guide to create your own MakeCode extensions.
To add an extension to MakeCode find the "Extensions" option in the Settings menu or in the "Advance" toolbox category.
The link below contains a list of the officially approved extensions, and they can be loaded by by searching for their name in the "Extensions" screen.
- MakeCode Extensions Gallery - Official list of extensions available directly within MakeCode.
The following extensions can be added into MakeCode by copying the GitHub URL and pasting it into the search box of the "Extensions" screen.
- BlueDot - PXT package to support the BlueDot app - beta.
- Kitronik Servo Lite - Blocks that support Kitronik Servo:Lite board for the micro:bit.
- Lego Power Functions - Control your LEGOยฎ Power Functions motors using your micro:bit with an infrared LED.
- Invent robot - This library provides a Microsoft PXT package for Invent robot.
- ubirch NB-IoT - Package for sending signed data messages to the ubirch backend.
- CCS811 - Makecode Package for the CCS811 Air Quality Sensor.
- DS1307 - Tinkercademy MakeCode package for using the DS1307 RTC (Real-Time Clock).
- HT16K33 - Tinkercademy MakeCode Package for the HT16K33 I2C Alphanumeric Display (beta).
- HoneyBit - A Honeycomb kits package for micro:bit MakeCode.
- Bluetooth beacons - Allows the micro:bit to act as iBeacon / AltBeacon advertiser.
- LumexOLED - Package designed for Lumex OLED display.
- MakeCode Extensions - Growing collection of packages, including TM1637/TM1650 7-seg LEDs, OLED 128x64, LCD1602, AT24XX EEPROM, DS1302/DS1307 RTC, APDS9930 Digital Proximity and Ambient Light Sensor, BH1750 digital ambient light sensor, BME280 humidity and pressure sensor, BMP280/BMP180 pressure sensors.
- BMP085 - Package to control the BMP085 or BMP180 pressure and altitude sensors.
- SHT2X - Driver for SHT20, SHT21, SHT25 digital sensor, enabling the the micro:bit to obtain temperature and relative humidity from these sensors.
- VL53L0X - Package to calculate distances using a VL53L0X Time-of-Flight ranging sensor.
- PCA9685 - Package to control the PCA9685, a 16-channel PWM controller, with included servo support.
- dfplayer - Play mp3 files with a DFPlayer mini module.
- KeiganMotor - Controller for KeiganMotor KM-1 Series, an all-in-one brushless gearless electric motor module.
- MLX90614 - I2C driver for Infra Red Thermometer MLX90614.
- Adafruit Motor Driver Board - Driver to control the DC motors on the Adafruit Motor Shield v1.
- ESP-01 - Control an ESP8266 module via serial AT commands.
- TCS3200 - Control a TCS3200 color sensor.
- IR - Control IR (infrared) transmitter/receiver modules.
- DSTemp - Read the temperature from one or multiple DS18B20 sensors (currently in alpha).
- DS18B20 - DFRobot extensions to read the temperature from a DS18B20 sensor.
- node-bbc-microbit - Control a micro:bit from Node.js using BLE.
- node-bbc-microbit-io - Johnny-Five (JavaScript Robotics and IoT programming framework) micro:bit IO Plugin.
- microBit.js - JavaScript library to interact with BBC micro:bit using web bluetooth API.
- microbit-web-bluetooth - Web Bluetooth library implementing the micro:bit Bluetooth Profile.
- microbit-web-components - Web Components for all the micro:bit features exposed via BLE.
- PXT Command Line Tool - Use the command line to program the micro:bit with MakeCode JavaScript. You can also run a local version of the MakeCode online editor (part of Microsoft's PXT).
- 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. - Arduino nRF5 - Arduino Core for Nordic Semiconductor nRF5 based boards, including the micro:bit.
- Micro:Pi - C/C++ editor for the micro:bit 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.
- PlatformIO - Embedded IDE with support for the micro:bit using the Arduino or Mbed software stack.
- OneWire - BBC micro:bit OneWire Library, based upon Erik Olieman's Mbed DS1820 lib.
- neopixel - Library for using NeoPixels with the BBC micro:bit.
- micro:bit Screen - Arduino LED Screen library for micro:bit.
- Adafruit Arduino micro:bit library - Wrapper code and examples for using micro:bit with Arduino IDE.
- RTCC MCP7941X - Program to interface BBC micro:bit to a MCP79410 RTCC (Real Time Clock Calendar) module.
- AS-289R2 - AS-289R2 thermal printer Mbed library for micro:bit.
- SHT2X - Driver for SHT20, SHT21, SHT25 digital sensor, enabling the the micro:bit to obtain temperature and relative humidity from these sensors.
- VL53L0X - Driver for the VL53L0X Time-of-Flight ranging sensor.
- KY-040 - Library for using the KY-040 rotary encoder.
- PCA9685 - Driver for the PCA9685, a 16-channel PWM controller, with included servo support.
- DS3234 - Driver in example project using the DS3234 RTC via SPI.
- HTU21D - Mbed library for the HTU21D digital humidity and temperature sensor.
- Distintiva micro:bit library - Arduino library to code the micro:bit using the Arduino IDE.
- ChibiOS - A complete development environment for embedded applications including RTOS, a HAL, peripheral drivers, support files, and tools.
- Mynewt - Open-source operating system for tiny embedded devices. Its goal is to make it easy to develop applications for microcontroller environments where power and cost are driving factors.
- RIOT - A friendly, real-time, multi-threading operating system that supports a range of devices that are typically found in the Internet of Things (IoT).
- Zephyr - A scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind.
Other programming languages capable to program the micro:bit.
- Rust - Article describing the experience and steps of compiling Rust code for the micro:bit with and without interaction with the runtime DAL.
- Forth - Forth, a stack-based language, for the BBC micro:bit.
- Pascal - Free Pascal compiler that can target the ARM embedded platform, including the micro:bit.
- Ada - Instruction on how to setup the Ada development environment for the micro:bit.
- Sniff - Sniff is a "Scratch-like" programming language that's designed to help Scratchers move gently from Scratch to more conventional languages.
- uLisp - A Lisp interpreter for the classic AI programming language for the BBC micro:bit.
- C# / F# - IL2C is a translator implementation of .NET intermediate language to C language, with C# and F# examples for the micro:bit.
- TinyGo - (examples) Project to bring Go to microcontrollers and small systems, with out-of-box support for the BBC micro:bit.
- Tiny BASIC - Port for the micro:bit, including commands to use the on-board features, based on the Arduino port of the Tiny BASIC dialect.
These languages do not program the micro:bit directly, but can be used to create programs that interface with a micro:bit.
- Kodu Controller - Enables interacting with the micro:bit from Kodu Game Lab.
- Simulink Coder Support Package - Package that enables you to create Matlab and Simulink models and automatically generate and deploy code on the micro:bit.
- micro:bit for Dyalog APL on the Pi - Tools for using the micro:bit (via MicroPython serial connection) with the Dyalog APL programming language on the Raspberry Pi.
- Gobot - Framework for the Go programming language to program devices in the real world. It can access the micro:bit via Bluetooth LE.
- Microbit-Unity - Unity scripts to allow the BBC micro:bit to be used as a Unity Controller.
- Haxe node BBC micro:bit - Control a BBC micro:bit from Node.js using BLE and the Haxe programming language.
- App Inventor + IoT - Control a micro:bit via Bluetooth with App Inventor, a visual programming environment for Android applications.
- BlockyTalkyBLE - MakeCode and App Inventor extension that makes it easy to connect AppInventor mobile phone apps with the BBC micro:bit wirelessly over Bluetooth.
- DroidScript micro:bit Plugin - Allows you you to control the BBC micro:bit remotely from your own DroidScript apps (Android apps written in JavaScript).
- CBMicroBit - CoreBluetooth wrapper in C++ that connects a micro:bit to a computer running macOS using BLE and outputs over OSC (can be used standalone, or as a C++ or Objective C library).
- Swift - An application programming interface written in Swift for use with the micro:bit. It allows programs written for Apple devices to communicate with the micro:bit using BLE.
- Node-RED - A node-red (flow-based visual programming) module that wraps some of the functionality of the Python/MicroPython Bitio Library.
- Vagrant Development Environment for C/C++, MicroPython and Makecode - Creates a virtual machine with the toolchain required to create C/C++ programs, develop/compile MicroPython, and create packages for MakeCode.
- micro:bit uploader - Windows application that monitors your Downloads folder and flashes any new programs to the micro:bit.
- Official Android App - (Source Code) Pair, program and flash programs to the micro:bit via Bluetooth.
- Official iOS App - Pair, program and flash programs to the micro:bit via Bluetooth.
- Official Swift Playgrounds - (Source Code) Swift Playgrounds is an app for the iPad that helps teach people to code in the Swift language using interactive 'books'.
- micro:bit Blue - (Source Code) Android app that contains a series demos for interacting with the micro:bit using Bluetooth.
- Bitty Software Apps - 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.
- micro:bit Xamarin - Open source Android app that communicates with the micro:bit over BLE and gets sensor data. A good example of using Xamarin (a cross platform mobile framework) with the micro:bit.
- bitty blue - iOS and Android app that provides a collection of fun things to do with a BBC micro:bit (or compatible device) and Bluetooth.
- micro:bit logger - Android app that enables users to log data from the BLE services and export it to a file.
- Kitronik Move - Android app that presents a D-Pad interface to control a micro:bit over Bluetooth LE.
- nRF Connect - A generic tool for Android that allows you to scan, advertise and explore BLE devices. It supports the micro:bit by including information on the micro:bit services, custom macros and more.
- Tickle - iOS app to program a large selection of devices, including the micro:bit, connecting them all together, so that they can interact with each other.
- Serial Bluetooth Terminal - Android app capable to send and receive micro:bit Bluetooth UART data.
- micro:bit Slither - Multiplayer snake game on Android, controlled with micro:bits via Bluetooth.
- Micro:bit Explorer - A Swift Playground Book that introduces computer fundamentals in a visual way, it allows you to enter machine code or assembly and see how it executes and how the micro:bit registers are affected.
- BirdBlox - A tablet-based programming option for the Hummingbird, a robotics board kit for the micro:bit.
- Quiz:bit - (Source Code) BBC micro:bit programs and a matching application for providing a quiz-voter-style service using micro:bits as the controls.
- bitty blue - Play with 3D "PolySquiggles", use as a compass, have fun with the buttons, send images or text to the LED display, connect and control electronic circuits, and all via Bluetooth.
- bitty data logger - Capture and chart accelerometer, magnetometer and temperature data from your micro:bit's internal sensors over Bluetooth.
- microbit-chrome - Prototype chrome add-on that exposes the micro:bit's serial output to web pages like the MakeCode editor.
The USB 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.
- microbit.org Developer Community Info - This micro:bit Developer Community page contains information about the Interface Chip DAPlink and the USB interface.
- 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.
- pyOCD - Python library for programming and debugging ARM Cortex-M microcontrollers, like the one included in the micro:bit, using the CMSIS-DAP provided by the Interface Chip.
- DAP.js - JavaScript (Node.js and WebUSB) interface to DAP-CMSIS over USB/HID, meant to provide a subset of the PyOCD functionality.
- Hardware Design - Schematics and bill of materials for the BBC micro:bit.
- micro:bit Reference Design - Hardware design files for a board 100% binary compatible with the micro:bit. Created to help make your own micro:bit derived designs.
- micro:bit Badge - Open Source PCB for the micro:bit with a battery holder, buzzer, extension edge connector and pins breaks out.
- Eagle micro:bit Edge Part - Eagle library from Proto-Pic for the micro:bit edge connectors.
- Kicad micro:bit Connector - KiCad component library and footprint library for a micro:bit edge-connector socket.
- SparkFun Breakout Board - Open source files for the SparkFun micro:bit Breakout Board.
- SparkFun moto:bit - Open source files for the SparkFun moto:bit, a board to provide a robotics platform.
- SparkFun weather:bit - Open source files for the SparkFun weather:bit, a board to provide a weather station.
- SparkFun gamer:bit - Open source files for the SparkFun gamer:bit, a board to provide a game system.
- NeoBit - Open source board that lets you hook up NeoPixel and DotStar LEDs to a BBC micro:bit, also contains a headphone jack and a couple of slide potentiometers for input.
- Microbot Case - Case for the micro:bit in the shape of a robot.
- micro:bit Stand - Stand for the micro:bit.
- micro:bit Rover - Multiple 3D printable parts to build a micro:bit robot rover.
- micro:Racing - Driving wheel case for the micro:bit.
- Binary Watch - Watch case and strap for the micro:bit.
- micro:bit Compass - Compass case for the micro:bit.
- A4 folder holder - Device holder to store your micro:bit in a A4 school folder.
- mibot drawing robot - Chassis for a painting robot powered by a BBC micro:bit and its motor driver board.
- Robottillo:bit - Case which looks like a small robot. Two versions available, with a rear protective cover or with a perforated cover for the pins.
- Battery pack holder - Simple battery clip for the BBC micro:bit.
- micro:bit holder - Stand that holds 20 micro:bit boards vertically, useful in a classroom setting.
- BBC micro:bit Case V2 - A slim, nice looking, and functional snap-together case that protects all sides and corners.
- Otto Robot - Otto chassis for the microbit to make a bidepad robot with a robitbit accessory.
- micro:bit Tracking Car - A line follower chassis for the micro:bit.
- Walking Robot V1 - Add-on to the bit:booster that makes a simple walking robot using two continuous servos.
- Humbot mi:sumo robot - Chassis for a sumo robot.
- Laser Cut micro:bit Box - Two laser cut designs, one for 10 micro:bits and another for 20.
- Shiun robot (micro:bit biped robot) - Using micro:bit as control board and very simple 3D design, you can easy to assembly and program the biped robot.
- miniPOW [Bulldozer], [Tank Base], [WALL-E] - Models using a Power Board for the BBC micro:bit.
- micro:bit pinball - A 3D printed pinball machine with one or more micro:bits controlling it.
- micro:bit class rack - Stand that holds 14 micro:bits and battery packs.
- micro:bit Hand Controller - Nunchuck style single-hand controller for a micro:bit with an external thumb joystick and two buttons.
- WalkerBot:bit - Two servo walking robot controlled by a BBC micro:bit.
- Jump Lead Adapter - 3D print part for the micro:bit to insert the male end of jumper cables to the edge connector.
- Gamer Case - A gamer case for your BBC micro:bit that is easy to print, handle and can attach the battery box at the back.
- Kitronik CAD Resources - BBC micro:bit CAD model from Kitronik.
- Proto-PIC CAD Resources - Proto-PIC products CAD resources.
- micro:bit Fritzing Part - Richard Hayler collection of Fritzing parts contains a model for the micro:bit.
- micro:bit-o-matic - Easily create micro:bit illustrations with custom LED matrix messages.
- micro:bit SVG - A detailed SVG (Scalable Vector Graphics) drawing of the BBC micro:bit.
- MonkMakes micro:bit Diagramming Kit - An SVG file template for drawing BBC micro:bit wiring diagrams using alligator clips.
- Pixel Art - micro:bit-inspired fan art made with "Make 8 Bit Art".
All these projects contain steps and resources required for reproduction.
- JUST DO IoT - Connect the micro:bit to the LoRaWAN network, includes an open source hardware micro:bit connector board.
- Micro:Bob - Simple bipedal robot controlled by a micro:bit.
- Coffee Timer - (Part 2, Part 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.
- Micro Simon - Programming and connecting a micro:bit to a vintage MB Simon game.
- Alexa Weather On micro:bit - Creating an Amazon Alexa skill where the current weather can be asked and the result displayed on the micro:bit.
- BBC micro:bit Balloon Tracker - Making a balloon tracker with a micro:bit connected to GPS and a LoRa transceiver to track and transmit its position.
- SonicPixels - BBC micro:bit and Max frameworks for triggering multiple speakers in a grid arrangement.
- Little Bug Bit - Low cost micro:bit buggy.
- HandShake - Project designed to enable unique gesture recognition for people with limited control of their motion.
- Mega:Bit - Scaled up micro:bit with the 5x5 LED matrix and buttons, connected to a real micro:bit.
- Scrolling display - Create a display screen using a number of micro:bits communicating via radio.
- Ironman Arc Reactor - Choose between two different versions (Mk I and Mk II) ready to 3D print and build.
- microbit-beacon-finder - The micro:bit finds various types of BLE Beacons, and displays their ID to the LEDs.
- Build A Klawsome micro:bit Controlled Tank - Tutorial on how to design a build a perspex micro:bit tank.
- micro:bit Hovercraft - A hovercraft, which runs both in the water and on the ground. Uses 2 motors to blow air underneath to support the hovercraft body and 2 motors in the end to control its direction.
- ZIP Halo Compass - A Christmas themed micro:bit ZIP Halo Compass, with a 3D printed and laser cut case.
- Micro:Boy - Hardware project to code and play arcade games on the micro:bit.
- Alexa, Ask micro:bit to Turn LED Light - Project walk through to control with Alexa an RGB LED connected to a micro:bit.
- OpenGestureControl - A Linux application which interacts with the BBC micro:bit to give hand prosthesis users the ability to control their desktop computer using gestures.
- micro:bit spectrum - Circuit and code to display an audio spectrum bar chart on the BBC micro:bit.
- micro:bit TVPong - Play the classic Pong game on a TV - using BBC micro:bits as paddles, Bluetooth also supported.
- Bluetooth Low Energy Remote Control for Spotify - This project allows you to configure your micro:bit to work as a Bluetooth Low Energy remote control for Spotify on macOS.
- Stirling Blue - An extensive project to examine Stirling engine operation and performance. A micro:bit is used to create a custom keyboard and LCD interface that communicates with other parts of the project.
- Micro:Gamer - A portable game console based on the micro:bit board. It features a 128x64 monochrome OLED screen, six buttons, a buzzer for sound, and a 2xAAA battery holder.
- ยตBOSS - Turning a BBC micro:bit into a test instrument by displaying all the sensor readings on an LCD and packaging it into a 3D printed box.
- DIY 3D Virtual Reality System - Using two micro:bits for head and hand orientation tracking.
- Robot Arm Rover - A gesture controlled Robot Arm Buggy using the micro:bit accelerometer and radio.
- Musical Instrument Controller - A micro:bit instrument that communities with an iPad via Bluetooth into MIDI controller app that can play music via GarageBand.
- Inexpensive Remote Controlled Robot - Guide to create an inexpensive robot, easily assembled from a set of off the shelf parts.
- Natural Disaster Sensor - Wind, seismic, and temperature data monitoring from remote micro:bits.
- Bike Light - A rear bike light with a Kitronik Zip Tile (8x8 RGB LED matrix) and 3D printed case.
- IoT Pill Reminders with SAP Cloud Foundry and Google Sheets - How to build an IoT โPill Reminderโ device to remind the patient to take their pills and update their status in Google Sheets.
- Pong-Like Retro Clock Using TinyGo and Microbit - Use an RGB matrix and a micro:bit to display the time with an awesome game of PONG. Made with love and TinyGo.
- Racing Car Timing Gate - Create a speed trap for toy cars with three micro:bits, torches, radio and the MicroPython REPL.
- Robot Unicorn - Gesture controlled robot unicorn made of cardboard, glitter, a 3D printed horn, and micro:bits.
- The Christmas Joy Spreading Machine - Project inside a box representing a metaphor of the most popular Christmas symbols. Maybe it's a bit distopyc but it moves, lights and reacts to music.
- micro:bit Guitar - A micro:bit guitar using the Noise Pack Add-on for the Kitronik Inventors Kit.
- Gesture Controlled Lamp - Building a colourful 3D printed lamp with the BBC micro:bit that responds to gestures.
- micro:bit Magic Wand - This project uses two micro:bit, a few small electronic parts, and some everyday objects from around the house to create our very own magical wand.
- MicroBike - Turn your micro:bit into a game controller.
- LightBit - This project lets you do things on your computer by sliding your hand left and right, just like in a Sci-Fi movie.
- Programmable Rainbow Light Up Sign - A laser-cut, 3D printed, micro:bit powered programmable sign with rainbow lights.
- Connected Flowerpot - 3D printed flowerpot with a micro:bit to detect soil moisture and display its status in an RGB LED ring.
- Voice Controlled Robot Car - Robot car controlled by voice commands using Amazon Alexa, Node-RED on a Raspberry Pi Zero, and micro:bit.
- Obstacle Detecting White Cane - A warning system for unpredictable obstacles for those who are visually impaired.
- micro:bit Quiz System - A wireless LED quiz button system with sound.
- hackster micro:bit community - This hackster community contains user submitted projects for the micro:bit.
- MakeCode Projects - List of micro:bit projects you can do with the MakeCode editor.
- Tinkercademy Projects - Collection of projects using the micro:bit and Tinkercademy Tinker Kit.
- Raspberry Pi micro:bit Projects - Collection of Raspberry Pi and micro:bit projects from the Raspberry Pi Foundation.
- Hackaday.io micro:bit Projects - Projects using the micro:bit tag in Hackaday.io, a collaborative hardware development community.
- Maker.io micro:bit projects - All the micro:bit projects posted to Maker.io, a playground for makers.
- Electromaker micro:bit projects - All the micro:bit projects posted to Electromaker, a platform for makers to showcase their projects.
- Saturday Science & BBC micro:bits - Practical science and engineering projects with the micro:bit, explore physical properties with cool experiments.
- Maker Pro micro:bit Projects & Tutorials - The micro:bit section of Maker Pro, a place for makers to share designs, collaborate, and learn how to take your product to market.
Useful Articles for developing on the micro:bit.
- Offline C/C++ Development With The micro:bit
- Sending 'commands' from a micro:bit over Bluetooth
- Modelling micro:bit data with the Bitty Data Logger App
- Getting Started with the micro:bit Bluetooth IO Pin Service
- Using MQTT-SN over BLE with the BBC micro:bit
- The First Video Game on the BBC micro:bit [probably] - Creating a game for the micro:bit, the MicroPython changes needed to increase performance and a general profile of its resources.
- Custom BLE services with micro:bit - Build your own Bluetooth low energy services and bundle them as PXT/MakeCode blocks that beginners can use.
- Excel and micro:Bit - Hacking for fun and creativity! - Experiment to have some basic sensor data collected using the micro controller and then visualized in Excel.
- Writing the second video game for the micro:bit in Rust - Updating a micro:bit game and porting it to the Rust language.
- Adding a new module to MicroPython - Article describing an experiment to add a new module into MicroPython for the micro:bit.
- Become a Time Lord with the BBC micro:bit - Using different timing mechanisms to run multiple things in MicroPython.
- Debugging the micro:bit with pyOCD and GDB - Shows how to debug a micro:bit program using PyOCD and GDB.
- Exploring the BBC micro:bit Software Stack - Whatโs in it, what it does and how it all fits together.
- Building the 1,000 BBC micro:bit Display - Building a screen to show images from a thousand BBC micro:bits.
- micro:bit Radio Packets - Explanation of the MakeCode radio packet specification (built on top of the micro:bit runtime specification) and how to communicate between MakeCode and MicroPython programs via radio.
- Synchronized Music on micro:bits - Building a micro:bit mesh network so they can play music synchronized across a large area.
- Using the Built-in Sensors - Learn how to use the micro:bit's built-in accelerometer and magnetometer.
- Read micro:bit data from Linux via Bluetooth (BLE) - Random notes and examples about micro:bit BLE and Linux.
- Measure pressure with your micro:bit - An inexpensive and easy to build device to perform pressure measurements and demonstrate Boyle's law with the micro:bit and BMP280 pressure/temperature sensor.
- IoT Cloud Access with Micro:bit over BLE for Remote Sensing - Program BBC Micro:bit with mbed OS and remotely send data to cloud by utilizing BLE to smartphone/PC IoT cloud gateway.
- Network Rivalry: a Low-Latency Game for the BBC micro:bit - Tutorial explaining how to implement a basic multiplayer game on the BBC micro:bit.
- Circuit Lumber Punking - Creating micro:bit circuit boards in timber.
- Measuring the BBC micro:bit LED current draw - Looking at the voltage and current supplied to the BBC micro:bit for different numbers of active LEDs.
- micro:bit <-> Raspberry Pi - An introduction on how you can exchange information between a micro:bit and a Raspberry Pi using Bluetooth Low Energy (BLE).
- WiFi Web Server on BBC micro:bit and ESP-01 - Create a micro:bit web server via AT commands to an ESP8266 which can respond to web browser requests over WiFi.
- Connect BBC micro:bit to Sigfox - Walking through the steps for creating your own BBC micro:bit IoT device connected to the Sigfox network.
- Visualising BBC micro:bit sensors with thethings.iO - Sending and plotting sensor data to the thethings.iO via Sigfox network.
- IoT Cloud Access with micro:bit over BLE for Remote Sensing - Program the BBC micro:bit with Mbed OS and remotely send data to the cloud by utilizing BLE to smartphone/PC IoT Cloud Gateway.
- How to connect your Mini.mu to PureData - Connecting the micro:bit to PureData (visual programming language to crate interactive computer music) via radio and serial MIDI.
- Using micro:bit and MakeCode with Data Streamer - How to use the MakeCode to write a simple program that sends live data from the BBC micro:bit to Microsoft Excel using the Microsoft Data Streamer add-in.
- 3D Rendering on a Children's Toy - Implementing a ray tracer, an algorithm which simulates light rays to render a 3D scene, to render a pyramid in the micro:bit display.
- The ThreadBoard: micro:bit E-Textile Prototyping Board - Developing a tool that will adapt to the unique set of constraints that e-textile creators face when fabricating an e-textile project.
- MultiWingSpan - Large collection of examples, instructions, and direction on how to use electronic components.
- SparkFun micro:bit tutorials - Collection of tutorials from SparkFun, including comprehensive experiment guides for their kits.
- BitIO blogs - Collection of blogs written about using the BitIO Python module to control the micro:bit.
- micro:bit learning - Blog with a section for articles showing how to use a wide selection of sensors with the micro:bit and the Arduino software.
- Adafruit Learn micro:bit section - Adafruit Learning System section for the BBC micro:bit.
- BBC micro:bit - Kitronik University - A varied collection of micro:bit resources by Kitronik.
- Maker.io micro:bit blog posts - All the micro:bit articles posted in Maker.io, a playground for makers.
- Physical computing with the BBC micro:bit - How to use different electronic components with the micro:bit.
- ElecFreaks Learn - ElecFreaks collection of experiments, tutorials and material for the micro:bit.
- Little Bird How To Guides - Detailed tutorials showing how to use a wide range of sensors and accessories with the micro:bit.
- MicroMonsters - YouTube channel with tutorials to learn to code with your family.
- micro:bit and Bluetooth - YouTube playlist with Martin Woolley's Bluetooth videos.
- Video Series from The Maker Movies - List of short, introductory videos for anyone wanting to get started with the micro:bit.
- SparkFun video resources - Growing list of video resources for the micro:bit.
- SamCodes YouTube Playlist - Video tutorials showing how to use different electronic components and features of the micro:bit.
- Fun with Zephyr Project and BBC micro:bit - This presentation shows how Zephyr empowers the BBC micro:bit devices and its Bluetooth chip to do fun things.
- Behind the MakeCode Hardware - Collection of videos explaining the basics on how different hardware components work.
- MicroPython for micro:bit Workshop - Collection of videos explaining how to use the micro:bit features with MicroPython.
- Grade 10 micro:bit Tutorials - Collection of short videos showing how to use micro:bit MakeCode blocks and features.
- micro:bit to Firebase - Send data from a BBC micro:bit to Googleโs Firebase cloud database with a Python script. Retrieve the data and create a simple IoT demo model.
- Scratch micro:bit Tutorials - Tutorials and project ideas for the micro:bit with Scratch.
- The Learning Circuit - Element14 video series to learn about basic electronics. Some of the episodes cover different ways to learn and explore with the BBC micro:bit.
- Online Learning with MakeCode - A list of helpful resources, including live video streams, that students can access to continue their computing education outside the classroom now that many schools are closed.
- Creative Coding with micro:bit - Creative activities with the micro:bit from Kids Code Jeunesse.
- micro:bit IoT In C - Using the C langague to gain full access to the micro:bit features and external devices.
- Programming with MicroPython - Embedded Programming with Microcontrollers and Python.
- Getting Started with the micro:bit - Coding and Making with the BBC's Open Development Board.
- The Official BBC micro:bit User Guide - The go-to guide to getting started with the BBC micro:bit and exploring all of its amazing capabilities.
- Programming the BBC micro:bit - Getting Started with MicroPython
- Networking with the micro:bit (ebook) - Presents a series of activities to teach the basics of computer networks.
- micro:bit in Wonderland - A project book for the BBC micro:bit inspired by the classic story of Alice in Wonderland.
- Beginning BBC micro:bit - A Practical Introduction to micro:bit Development.
- BBC micro:bit Recipes - Learn Programming with Microsoft MakeCode Blocks.
- Micro:bit for Mad Scientists - The 30 simple projects and experiments in this book will show you how to use the micro:bit to build a secret science lab, as you learn basic coding and electronics skills.
- microbit.org Teaching Resources
- Code Club micro:bit projects
- Make with the micro:bit by Technology Will Save Us
- IET micro:bit Teaching Resources - A series of resources created by the IET (Institution of Engineering and Technology) as part of their highly successful IET Faraday brand.
- IET micro:bit case studies - Booklets and video content to bring a variety of real-life applications of the micro:bit to life in your classroom.
- Grok Learning - Provides an online MicroPython code editor, Blockly visual programming, full micro:bit simulator, curriculum-aligned teaching material and auto-marked problems.
- micro:bit For Primary Schools - Fully-customisable scheme of work and resources for use in the primary classroom.
- 101 Computing BBC micro:bit category - Computing challenges with the micro:bit to boost your programming skills or spice up your teaching of computer science.
- micro:bit of Things - Notes on micro:bit project ideas for Key Stage 2 and 3.
- FunWithMicrobit - A 6 hours workshop made by kids for the kids.
- Year 7 micro:bit lessons - Lessons used to introduce students to the micro:bit and Python.
- UCLโs BBC micro:bit Tutorials - Tutorial sheets that introduce micro:bit features with practical examples provided to invite students to design solutions to problems.
- BBC micro:bit and Kodu Interact - Kodu is a visual programming language made specifically for creating games and allow interaction with the micro:bit.
- Build A Robot Wars Buggy - This fun learning resource has been put together to provide teachers with an all in one design and technology challenge that you can set for your students over the course of a term or a year.
- CPC UCreate micro:bit resources - Collection of micro:bit resources made for CPC.
- Year 7 BBC micro:bit topic - BBC micro:bit lessons from Bourne Grammar school.
- Microsoft 14 Week Curriculum - Targeted to middle school grades 6-8 (ages 11-14 years). It is also written for teachers who may not have a Computer Science background, or may be teaching an "Intro to CS" for the first time.
- micro:bit in science teaching - How clean is my pond - Using a micro:bit to monitor the level of algal growth in a pond and to control a filter pump.
- Kitronik Inventors Kit Resources - A a great way to get started with programming and hardware interaction with the micro:bit. Includes 12 experiments using LEDs, motors, LDRs and capacitors.
- CLOQQ Activities - (more) Activities with different difficulty levels, target age, and duration.
- Learn micro:bit - Code and materials for learning to program with the BBC micro:bit.
- Lessons Aligned to Code.org's CS Fundamentals - Lesson plans aligned to Code.org's Computer Science Fundamentals curriculum for primary and elementary school students.
- First steps in using micro:bits with PCs - This very comprehensive article explores ways in which the micro:bit can send data via USB cable or wirelessly to PC applications.
- Science Experiment Lessons - Geared for students in middle and early high school, these Science Experiment lessons are designed help gain a greater understanding of the forces and behaviour of the physical world.
- micro:bit Basics for Teachers - (Part 2, Part 3) - Are you a teacher who wants to use micro:bit in your classroom, but doesn't know where to start? We'll show you how!
- micro:bit Lessons - Basic lessons on Python programming with a BBC micro:bit.
- Pimoroni Education - Educational resources with the micro:bit from Pimoroni.
- British Council micro:bit for Teachers - This course with interactive video learning and progress tracking will guide you through 12 modules to get to know the micro:bit and block code editor (needs sign-up).
- Arm School Program Resources for Schools - A suite of teaching and learning resources to help teachers deliver engaging and inspirational lessons in Computing (K-12).
- Welcome to the micro:bit - Live Lesson - Learn how to create games, animations and robots using simple code.
- Doctor Who and the micro:bit - Live Lesson - The BBC micro:bit will be put to the test at the controls of the TARDIS in this special BBC Live Lesson in collaboration with the team behind Doctor Who.
- Strictly micro:bit - Live Lessons - The full BBC Live Lesson exploring the basics of coding, with help from the stars of Strictly Come Dancing and the BBC micro:bit.
- micro:bit: Mission to Mars - Live Lesson - Reach for the stars with our latest Live Lesson on the BBC micro:bit, which investigates how computer science can be used to aid man's exploration of space.
- Tackle time and space with Doctor Who and the BBC micro:bit - Join The Doctor on an adventure of courage, cunning and coding!
- Part 1: Mission Sonic - What plan does the Doctor have in mind to save the Universe from the Reality Bomb?
- Part 2: Mission Decode - The Doctor has intercepted some seriously strange data from the Daleks; it's up to you to help decode it.
- Part 3: Mission Hack - It's the final mission! Click here to get hacking and infiltrate the Dalek spaceship.
- Official micro:bit Slack Channel
@microbit_edu
on twittermicrobitfoundation
on Facebook- micro:bit Python mailing list (archived)
- micro:bit Sri Lanka User Group
- Croatian Makers
- Arabic micro:bit Community
- MakeCode Gitter
- MakeCode Forum
Do you know about any free event with micro:bits? Please add them here, PRs are encouraged!
- micro:bit Live 2019 - The very first annual gathering of the global micro:bit community of educators and partners. Call for proposals is open, so don't hesitate to submit one!
- micro:bit broadcast - (Discontinued, archived) newsletter to stay up-to-date with the latest micro:bit news, articles, projects, and resources.
- microbit.org Support - The support pages from the micro:bit Foundation is a great source of information, containing an extensive collection of FAQs, articles, and guides.
- Radiobit, a BBC micro:Bit RF firmware - Radiobit is composed of a dedicated MicroPython-based firmware and a set of tools allowing security researchers to sniff, receive and send data over Nordic's ShockBurst protocol, Enhanced ShockBurst protocol, Bluetooth Smart Link Layer and sniff raw 2.4GHz GFSK demodulated data.
- micro:bit Poster - Element14 has put together this detailed, beautifully rendered, cross-section micro:bit poster highlighting all of the device's key functions and components.
- Bluetooth troubleshooting guide - Tips on how to solve common and not so common micro:bit Bluetooth problems.
- Micro World Tour - Before the micro:bit was released a few went on a tour to the world-wide Python community. A lot of interesting content and ideas on these micro:bit adventures.
- Parent's Complete Guide To The BBC micro:bit - Free resource to help parent's get actively involved in helping their children learn how to code, even with no prior coding experience.
- BBC micro:bit composer - Write music and get the corresponding micro:bit micropython code, a tool made with Scratch.
- micro:mag - The Unofficial micro:bit Community Magazine.
- micro:bit Out Of Box Experience - (Source Code) The default program running on a brand new micro:bit.
- Accessory Guide - A constantly updated list of accessories for the micro:bit.
- BtleJack - Based on the micro:bit, it provides everything you need to sniff, jam and hijack Bluetooth Low Energy devices.
- Hardware Simulation with QEMU - Emulation support for the micro:bit is available from QEMU 4.0 and can be used for low-level software testing and development.
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.