This is the home of all official open source content created by the BBC micro:bit Partnership in the process of developing the BBC micro:bit.
As part of the BBC micro:bit project, the BBC and its partners committed to making available the relevant IP to all, by open-sourcing the BBC micro:bit hardware and much of the software, following the nationwide rollout.
This will enable other organisations and individuals to develop their own products and applications using the BBC micro:bit, and in doing so, extend the educational impact and legacy of the project.
As the project continues, we will provide links from this page to the relevant locations of open-source information relating to the BBC micro:bit. Please note that the BBC does not accept any responsibility for the contents of these, or the applications using the open-sourced information.
BBC micro:bit runtime
The BBC micro:bit runtime can be found here:
The BBC micro:bit includes Bluetooth low energy technology. All Bluetooth devices require a “profile” which defines the way in which data and commands may be exchanged with another Bluetooth device such as a smartphone. The custom profile designed for the micro:bit, gives wireless access over Bluetooth to the micro:bit accelerometer, magnetometer, buttons, edge connector pins, display, temperature sensor and internal message bus among other things.
The profile is implemented as a part of the micro:bit runtime and documentation for it is available from here:
MicroPython is a full reimplementation of Python 3 for small computers and allows you to run your Python scripts in real time on the micro:bit. MicroPython has been extended to include a special micro:bit Python module, and other fun features like music, which you can use to easily program the device. The code is created by an international team of free-software developers and you are welcome to contribute further Python modules.
The MicroPython source for the micro:bit can be found here:
The Python editor is deliberately simple to use. The code is also simple, copiously commented and the logic for the editor has 100% test coverage. The HEX file is generated in the browser (essentially, we take the MicroPython runtime and append a hex encoded script to it) so the editor works offline. Finally the editor has been created by volunteers in their spare time. It's free software so you are welcome to adapt, adopt and change it for your own uses. We also welcome contributions.
More details can be found by reading the README file here:
Microsoft’s Touch Develop environment provided the foundation for the web app and editor hosting for the BBC micro:bit, as well as the Touch Develop programming language, editing environment, and browser-based compiler toolchain to ARM machine code.
Touch Develop is open source at: