14e0923b2SJames Devine# microbit
24e0923b2SJames Devine
3916ca74fSJames DevineA collection of the commonly used components of the micro:bit runtime with a
4916ca74fSJames Devinestandard configuration, to provide an easy to use interface for programming the micro:bit in C/C++.
54e0923b2SJames Devine
6916ca74fSJames Devine## Overview
74e0923b2SJames Devine
8916ca74fSJames DevineThe 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.
94e0923b2SJames Devine
10916ca74fSJames DevineIn 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 www.microbit.co.uk website, including Microsoft Block, Microsoft TouchDevelop, Code Kingdoms JavaScript and Micropython languages.
114e0923b2SJames Devine
12916ca74fSJames Devine## Links
134e0923b2SJames Devine
14916ca74fSJames Devine[micro:bit runtime docs](http://lancaster-university.github.io/microbit-docs/) | [microbit-dal](https://github.com/lancaster-university/microbit-dal) |  [samples](https://github.com/lancaster-university/microbit-samples)
154e0923b2SJames Devine
16916ca74fSJames Devine## Build Environments
174e0923b2SJames Devine
18916ca74fSJames Devine| Build Environment | Documentation |
19916ca74fSJames Devine| ------------- |-------------|
20916ca74fSJames Devine| ARM mbed online | http://lancaster-university.github.io/microbit-docs/online-toolchains/#mbed |
21916ca74fSJames Devine| yotta  | http://lancaster-university.github.io/microbit-docs/offline-toolchains/#yotta |
224e0923b2SJames Devine
234e0923b2SJames Devine
244e0923b2SJames Devine
25916ca74fSJames Devine## Hello World!
264e0923b2SJames Devine
27916ca74fSJames Devine```cpp
28916ca74fSJames Devine#include "MicroBit.h"
294e0923b2SJames Devine
30916ca74fSJames DevineMicroBit uBit;
314e0923b2SJames Devine
32916ca74fSJames Devineint main()
33916ca74fSJames Devine{
34916ca74fSJames Devine    uBit.init();
354e0923b2SJames Devine
36916ca74fSJames Devine    uBit.display.scroll("Hello world!");
37916ca74fSJames Devine}
384e0923b2SJames Devine```
394e0923b2SJames Devine
40916ca74fSJames Devine## BBC Community Guidelines
414e0923b2SJames Devine
42916ca74fSJames Devine[BBC Community Guidelines](https://www.microbit.co.uk/help#sect_cg)