You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Joe Finney f96a390366 Use schedule() not fiber_sleep(0) in MicroBitSerial.cpp (Fix #461) 3 years ago
inc Re-enumerate component ID values to align with CODAL 3 years ago
source Use schedule() not fiber_sleep(0) in MicroBitSerial.cpp (Fix #461) 3 years ago
.gitignore Merge branch 'pxtgc' into js-event-semantics 3 years ago
AUTHORS microbit-dal: Added AUTHORS, and removed unused file 7 years ago
CHANGELOG Update CHANGELOG 4 years ago
LICENSE microbit-dal: Added MIT license information. 7 years ago Clarify what dal stands for 3 years ago
module.json Bump to v2.1.1 4 years ago


The Device Abstraction Layer (DAL) provides the core set of drivers, mechanisms and types that make up the micro:bit runtime.


The micro:bit runtime provides an easy to use environment for programming the BBC micro:bit in the C/C++ language, written by Lancaster University. It contains device drivers for all the hardware capabilities of the micro:bit, and also a suite of runtime mechanisms to make programming the micro:bit easier and more flexible. These range from control of the LED matrix display to peer-to-peer radio communication and secure Bluetooth Low Energy services. The micro:bit runtime is proudly built on the ARM mbed and Nordic nrf51 platforms.

In addition to supporting development in C/C++, the runtime is also designed specifically to support higher level languages provided by our partners that target the micro:bit. It is currently used as a support library for all the languages on the BBC website; including the Javascript Blocks Editor and Micropython

micro:bit runtime docs | uBit | samples

Build Environments

Build Environment Documentation
ARM mbed online

Hello World!

#include "MicroBitDisplay.h"

MicroBitDisplay display;

int main()
    display.scroll("Hello world!");

BBC Community Guidelines

Microbit Community Guidelines