# Micro Bit

The Micro Bit (also referred to as BBC Micro Bit or stylized as micro:bit) is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.
The device is described as half the size of a credit card and has an ARM Cortex-M0 processor, accelerometer and magnetometer sensors, Bluetooth and USB connectivity, a display consisting of 25 LEDs, two programmable buttons, and can be powered by either USB or an external battery pack. The device inputs and outputs are through five ring connectors that form part of a larger 25-pin edge connector. In October 2020, a physically nearly identical v2 board was released that features a Cortex-M4F microcontroller, with more memory and other new features.

## Hardware
### v1

The physical board measures 43 mm × 52 mm and, in its first production run included:
* Nordic nRF51822 – 16 MHz 32-bit ARM Cortex-M0 microcontroller, 256 KB flash memory, 16 KB static RAM, 2.4 GHz Bluetooth low energy wireless networking. The ARM core has the capability to switch between 16 MHz or 32.768 kHz.
* NXP/Freescale KL26Z – 48 MHz ARM Cortex-M0+ core microcontroller, that includes a full-speed USB 2.0 On-The-Go (OTG) controller, used as a communication interface between USB and main Nordic microcontroller. This device also performs the voltage regulation from the USB supply (4.5-5.25 V) down to the nominal 3.3 volts used by the rest of the PCB. When running on batteries this regulator is not used.
* NXP/Freescale MMA8652 – 3-axis accelerometer sensor via I²C-bus.
* NXP/Freescale MAG3110 – 3-axis magnetometer sensor via I²C-bus (to act as a compass and metal detector).
* MicroUSB connector, battery connector, 25-pin edge connector.
* Display consisting of 25 LEDs in a 5×5 array.
* Three tactile pushbuttons (two for applications, one for reset).
I/O includes three ring connectors (plus one power one ground) which accept crocodile clips or 4 mm banana plugs as well as a 25-pin edge connector with two or three PWM outputs, six to 17 GPIO pins (depending on configuration), six analog inputs, serial I/O, SPI, and I²C. Unlike early prototypes, which had an integral battery, an external battery pack (AAA batteries) can be used to power the device as a standalone or wearable product. Health and safety concerns, as well as cost, were given as reasons for the removal of the button battery from early designs.
The available hardware design documentation consist of only the schematic and BOM distributed under the Creative Commons By Attribution license, no PCB layout is available. The compatible reference design by Micro:bit Educational Foundation, however, is fully documented.

### v2

v2, released on 13 October 2020, includes:
* Nordic nRF52833 – 64 MHz 32-bit ARM Cortex-M4 microcontroller, 512 KB flash memory, 128 KB static RAM, 2.4 GHz Bluetooth low energy wireless networking provided by Nordic S113 SoftDevice, integrated temperature sensor.
* NXP/Freescale KL27Z – 48 MHz ARM Cortex-M0+ core microcontroller, preprogrammed as a full-speed USB 2.0 controller, used as a communication interface between USB and the CPU.
* Either ST LSM303 or NXP FXOS8700 – 3-axis combined accelerometer and magnetometer sensor via I²C-bus.
* Knowles MEMS microphone with a built-in LED indicator.
* Jiangsu Huaneng MLT-8530 magnetic visual.
* MicroUSB connector, JST PH battery connector, 25-pin edge connector.
* Display consisting of 25 LEDs in a 5×5 matrix.
* Three tactile pushbuttons (two for applications, one for reset) and a touch sensor button.
In micro:bit v2, the reset button can be used to turn the board off by holding it for 3 seconds.

## Software

There are three official code editors on the micro:bit foundation web site:
* Microsoft MakeCode
* MicroPython
* Scratch
The Python programming experience on the Micro Bit is provided by MicroPython. Users are able to write Python scripts in the Micro Bit web editor which are then combined with the MicroPython firmware and uploaded to the device. Users can also access the MicroPython REPL running directly on the device via the USB serial connection, which allows them to interact directly with the Micro Bit's peripherals.
The Micro Bit was created using the ARM mbed development kits. The run-time system and programming interface utilize the mbed cloud compiler service to compile the user's code into a .UF2 file. The compiled code is then flashed onto the device using USB or Bluetooth connections. The device appears as a USB drive when connected to a computer, and code can be flashed dragging and dropping the .UF2 file.
Other editors for the BBC micro:bit include:
* Mu, a Python editor
* Espruino, a JavaScript interpreter
* EduBlocks, a block editor for MicroPython
Other programming languages for the BBC micro:bit include:
* Free Pascal
* Simulink in Matlab
* C++
* Forth
* Lisp
* Rust
* Ada
* Swift
* BASIC
Operating systems which can be built for the BBC micro:bit:
* Zephyr - the Zephyr lightweight OS comes with the required parameters file to be able to run it on this board.

## History
### Development

The micro:bit was designed to encourage children to get actively involved in writing software for computers and building new things, rather than being consumers of media. It was also designed to work alongside other systems (such as the Raspberry Pi) and build on BBC's legacy with the BBC Micro for computing in education. The BBC planned to give away the computer free to every Year 7 (ages 11 and 12) child in Britain starting from October 2015 - around 1 million devices. In advance of the roll-out an online simulator was made available to help educators prepare and some teachers were to receive the device in September 2015. The device was planned to be on general sale by the end of 2015. However, problems delayed the launch until 22 March 2016.
The BBC had a difficult decision to choose which year group would be the first to receive the free micro:bits, and the BBC's head of learning said that the reason they "plumped for Year 7, rather than Year 5, is it had more impact with that age group as they were more interested in using it outside the classroom".
Planning for the project began in 2012 as part of the BBC Computer Literacy Programme, and by the time of the launch in July 2015 the BBC had taken on board 29 partners to help with the manufacturing, design, and distribution of the device. The BBC has said that the majority of the development costs were borne by the project partners.

### Partnerships

The development of the Micro Bit is a product of a number of partners working with the BBC:
* Microsoft – contributed its software expertise and customised the TouchDevelop platform to work with the device. It hosts the projects and code for users of the device. It has also developed the teacher training materials for the device.
* Lancaster University – developing the device runtime.
* Farnell element14 – official manufacturer and global distributor overseeing the manufacture of the device.
* Nordic Semiconductor – supplied the CPU for the device.
* NXP Semiconductors – supplied the sensors and USB controller.
* ARM Holdings – provided mbed hardware, development kits and compiler services.
* Technology Will Save Us – designing the physical appearance of the device.
* Barclays – supported product delivery and outreach activities.
* Samsung – developed an Android app and helped connect the device to phones and tablets.
* The Wellcome Trust – provided learning opportunities for teachers and schools.
* ScienceScope – developing an iOS app and distributing the device to schools.
* Python Software Foundation – worked to bring MicroPython to the device, created native and web-based beginner-friendly Python code editors, produced numerous educational resources and organised developer-led workshops for teachers.
* Bluetooth SIG – Developed the custom Bluetooth LE profile.
* Creative Digital Solutions – developed teaching materials, workshops and outreach activities.
* Cisco – provided staff and resources to STEMNET to aid with the national rollout.
* Code Club – Created a series of coding resources aimed at children ages 9 to 11 and delivered via volunteer-run coding clubs.
* STEMNET – Provided STEM ambassadors to support schools and teachers and to liaise with third parties such as Bloodhound SSC and Cisco.
* Kitronik – Produced and gave away 5,500 e-textile kits for the BBC micro:bit to D&T (Design & Technology) teachers across the UK. Designed hardware such as a Motor Driver board to allow the BBC micro:bit to control devices such as motors and servos.
* Tangent Design – Created the brand identity for the BBC micro:bit and developed the website.
A prototype device and software stack created by BBC R&D, demonstrated in the initial announcement, was used to test the proposition in schools, and to provide a reference specification for the partnership to build upon.

### Microbit Educational Foundation

After a successful roll-out of the micro:bit across the UK, the BBC handed over the future of the BBC micro:bit, and adoption in other parts of the world, to the newly formed, not-for-profit Microbit Education Foundation. The announcement was made on 18 October 2016 to a small group of journalists and educators at Savoy Place in London, that included a review of the past year and their plans for the future.
The BBC licensed the hardware technology as open source and allows it to be manufactured around the world for use in education. The foundation oversees this.
On 2 January 2018, it was announced that Gareth Stockdale from BBC Learning would succeed Zach Shelby as CEO of the Microbit Educational Foundation.

#### Microbit Reference Design

The foundation is also providing a fully documented reference design of a device different from the marketed, but software compatible, with the intention of easing the independent development and manufacturing of micro:bit derived devices and products. The reference design is open source hardware, but unlike the marketed device employing a CC BY 4.0 license it is distributed under the terms of the Solderpad Hardware Licence, Version 0.51. The available design documentation for the reference design includes both schematic and circuit board layout in several EDA suite formats.

### micro:bit v2

On 13 October 2020, the Micro:bit Educational Foundation has announced a revised version of micro:bit. Available for the same price as the original micro:bit and sharing its general design, micro:bit v2 includes Nordic nRF52833 CPU (ARM Cortex-M4, 64 MHz, 128 KB RAM, 512 KB flash), and additionally a microphone, a speaker, a touch sensor, and power saving mode.