• PXT – Provides an in-browser emulator and a Blocks interface that generates JavaScript (TypeScript) code.
  • Microsoft Blocks – A Block interface that produces Touch Develop code. No longer in development and it’s recommended to use PXT instead.
  • Code Kingdoms – A graphical interface that provides a transitioning experience from ‘drag and drop’ to text-based programming (JavaScript).
  • Scratch for BBC micro:bit – Using micro:bit with Scratch / S2Bot as a Bluetooth ‘games controller’ (needs specific BLED112 Bluetooth dongle).
  • Open Roberta Lab – A block programming environment design for programming robots, it also supports the micro:bit by generating MicroPython.
  • ScratchX micro:bit extension – Lets you control your micro:bit wirelessly using Scratch programming blocks.


  • MicroPython – Port of MicroPython, a Python 3 implementation for microcontrollers and constrained environments.
MicroPython Editors
MicroPython Libraries
  • Servo – A simple class for controlling servos on the micro:bit via PWM.
  • PCA9685 – A simple class for using the PCA9685 16-Channel 12-bit PWM/Servo Driver via I2C.
  • MAX7219 – MicroPython module for using a 7-segment display driven by a MAX7219 chip via SPI.
  • SSD1306 – MicroPython library to control the OLED SSD1306 128×64 I2C with a micro:bit.
  • SSD1306 7seg – MicroPython library to use an SSD1306 OLED display as a 7 segment display.
  • SSD1306 SPI – MicroPython library to control the OLED SSD1306 128×64 display with a micro:bit via SPI.
  • HT16K33 – MicroPython library for the HT16K33 LED matrix driver in multiple configurations (16×8, 8×8 or 8x8x2).
  • HC-SR04 – Basic MicroPython library to read the distance from a HC-SR04 ultrasonic sensor using the SPI peripheral.
  • US-100 – Basic MicroPython library to read the distance from a US-100 ultrasonic sensor via UART.
  • KY038 – MicroPython library to calibrate and use a sound sensor KY038, including clap counter functionality.
  • Nokia 5110 PCD8544 LCD – A Fast Micro:bit MicroPython controller for Nokia 5110 LCDs.
  • MPL115A1 – MicroPython class to read the pressure and temperature readings from the NXP MPL115A1 SPI sensor.
  • 24LCxxx EEPROM – Example Micro:bit functions to read and write to a Microchip I2C EEPROM.
Python Libraries
  • 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.
Python Programming Tools
  • 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.
  • Jupyter kernel for the micro:bit – This package allows Jupyter interfaces to run MicroPython code directly on the micro:bit.

JavaScript and PXT

  • PXT – The Programming eXperience Toolkit for the micro:bit provides an in-browser emulator, a Blocks interface, and JavaScript (TypeScript) editor.
  • Espruino JavaScript – A JavaScript interpreter for microcontrollers. It also offers a WebIDE for written code and blocks.
  • Code Kingdoms – A graphical interface that provides a transitioning experience from ‘drag and drop’ to text-based programming (JavaScript).
Node.js Libraries
JavaScript Programming Tools
  • PXT Command Line Tool – Use the command line to program the micro:bit with PXT JavaScript. You can also run a local version of the PXT online editor.


  • 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.
C/C++ Editors
  • 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.
C/C++ Libraries
  • OneWire – micro:bit OneWire Library, based upon Erik Olieman’s mbed DS1820 lib.
  • neopixel – Library for using neopixels with the BBC micro:bit.

Other Languages

  • Touch Develop – A flexible, text-based programming language with an interactive visual component.
  • 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.
  • Forth – Forth, a stack-based language, for the BBC micro:bit.
  • Pascal – The Free Pascal compiler can also target the ARM embedded platform, including the micro:bit.
  • Ada – Instruction on how to setup the Ada development environment for the micro:bit.

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).
  • micro:bit uploader – Windows application that monitors your Downloads folder and flashes any new programs to the micro:bit.
  • Kodu Controller – Enables interacting with the microbit from Kodu Game Lab.
  • Simulink Coder Support Package – This package enables you to create Simulink models and automatically generate and deploy code on the micro:bit.
  • microbit 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 now the micro:bit via Bluetooth LE.
  • Microbit Unity – Unity scripts to allow the BBC Microbit 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.

Mobile Apps

  • 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.
  • micro:bit Blue (Source Code) – Android app that contains a series demos for interacting with the micro:bit 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.
  • Micro:bit Xamarin (Source code) – Android app that demonstrates communicating with BBC micro:bit over Bluetooth LE and getting sensor data. As an open source app, it’s a good example of using Xamaring 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.

Interface Chip

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.

  • 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.


  • 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 librarie from Proto-Pic for the micro:bit edge connectors.
  • Kicad micro:bit Connector – A 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.

CAD & 3D Printing


All these projects contain steps and resources required for reproduction.

  • Site Index – The 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 (123) – 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.
  • Connecting a thermal printer to a BBC microbit – Connecting the micro:bit to a thermal till-roll printer to print a random poems or Christmas cracker jokes.
  • 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 Microbit Balloon Tracker – Making a ballon tracker with a micro:bit connected to GPS and a LoRa transceiver to track and transmit its position.


Useful Articles for developing on the micro:bit.



Teaching Resources


  • 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.
  • micro:bit-o-matic – Easily create micro:bit illustrations with custom LED matrix messages.
  • Support – The support pages from the micro:bit Foundation is a great source of information, containing an extensive collection of FAQs, articles, and guides.