The BBC Micro Bit (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.
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 speaker. 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:
MicroPython Makecode Arcade JavaScript 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 Scratch 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. RIOT - the RIOT OS includes configuration files and documentation for immediate deployment on both versions of the board.
History
… excerpt ends here. Continue reading the full article.



