An anatomy diagram of the BBC micro:bitOverview

Your micro:bit has the following physical features:

  • 25 individually-programmable LEDs
  • 2 programmable buttons
  • Physical connection pins
  • Light and temperature sensors
  • Motion sensors (accelerometer and compass)
  • Wireless Communication, via Radio and Bluetooth
  • USB interface

Let's take a look at what these components do and discover how to code them!



What is it? LED stands for Light Emitting Diode. The micro:bit has 25 individually-programmable LEDs, allowing you to display text, numbers, and images.

How do I code it? Check out this page to learn more about coding the LEDs, or use the code references below.

Python JavaScript Blocks

Examples - check out this Animated Flashing Heart in JavaScript or learn how to make animations with Python!

The micro:bit LEDs


 The micro:bit buttons

What is it? There are two buttons on the front of the micro:bit (labelled A and B). You can detect when these buttons are pressed, allowing you to trigger code on the device.

How do I code it? See the code references below.

Python JavaScript Blocks

Examples - take a look at this Smiley Button project, or this more advanced Voting Machine project, both controlled using the buttons in JavaScript.


What is it? There are 25 external connectors on the edge connector of the micro:bit, which we refer to as 'pins'. Program motors, LEDs, or other electrical components with the pins, or connect extra sensors to control your code!

How do I code it? Learn more about the hardware of the pins here, or use the code references below.

Python JavaScript Blocks

Examples - code a Banana Keyboard, hack your headphones, and create a Milk-Carton Robot with JavaScript! Or, take a look at this ticklish micro:bit project in Python!

 The micro:bit pins


Light Sensor

The micro:bit LED screen, acting as a light sensor.

What is it? By reversing the LEDs of the screen to become an input, the LED screen works as a basic light sensor, allowing you to detect ambient light.

How do I code it? See the reference below for the JavaScript Blocks Editor:

JavaScript Blocks

Examples - learn how to chart the light level on the screen with JavaScript here. 

Temperature Sensor

What is it? This sensor allows the micro:bit to detect the current ambient temperature, in degrees Celsius.

How do I code it? See the code references below.

Python JavaScript Blocks

Examples - code a digital thermometer in Celsius and Fahrenheit with JavaScript!

The micro:bit temperature sensor 


The micro:bit accelerometer

What is it? An accelerometer measures the acceleration of your micro:bit; this component senses when the micro:bit is moved. It can also detect other actions, e.g. shake, tilt, and free-fall.

How do I code it? See the code references below.

Python  JavaScript Blocks

Examples - code a Rock, Paper, Scissors game with JavaScript, triggered when the micro:bit is shaken! Or, create musical mayhem with Python! 


What is it? The compass detects the earth's magnetic field, allowing you to detect which direction the micro:bit is facing. The compass has to be calibrated before it can be used.

'Calibrating' the compass ensures the compass results are accurate. For the JavaScript Blocks Editor, use the 'calibrate compass' block. To calibrate the compass in Python use compass.calibrate().

When the calibration begins, the micro:bit will scroll an instruction on the display for you - either "Draw a circle" or "Tilt to fill screen". To calibrate the compass, just follow these instructions and tilt the micro:bit to move the dot in the centre of the screen around until you have either drawn the outline of a circle, or filled up the whole screen.

How do I code it? Use the code references below.

Python JavaScript Blocks

Examples - create a working compass to find North in JavaScript or Python!

 The micro:bit compass


The micro:bit radio antenna

What is it? The radio feature allows you to communicate wirelessly between micro:bits. Use the radio to send messages to other micro:bits, build multiplayer games, and much more!

How do I code it? Discover how to code the radio:

Python JavaScript Blocks

Examples - create a Multiplayer Rock, Paper, Scissors game (JavaScript), or create cool digital fireflies in JavaScript and Python! 


What is it? A BLE (Bluetooth Low Energy) antenna allows the micro:bit to send and receive Bluetooth signals. This allows the micro:bit to wirelessly communicate with PCs, Phones, and Tablets, so you can control your phone from your micro:bit and send code wirelessly to your device from your phone!

Before using the Bluetooth Antenna you will need to pair your micro:bit with another device. Once paired, you can send scripts wirelessly to your micro:bit - you can learn more about setting this up here.

How do I code it? Learn how to use the Bluetooth functionality:

JavaScript Blocks

The Python Editor doesn't currently support bluetooth.

What can I do with it? Send code to your micro:bit wirelessly - Learn More.

 The micro:bit bluetooth antenna

USB Interface

The micro:bit, connected via the USB interface

What is it? The USB interface allows you to connect the micro:bit to your computer via a micro-USB cable, which will power the device and allow you to download scripts onto the device.

How do I use it? You can read more information on how to run scripts on your BBC micro:bit here, and about the error messages you might get here.


Technical Information

The BBC micro:bit has been designed to be a bare-board micro controller for use by children aged 11-12. It is an open development system and we have enabled debugging so that advanced users can interrogate the device.

The device has been through extensive safety and compliance testing to the following standards:


IEC 60950-1:2005 (Second Edition) + Am 1:2009 + Am 2:2013


EN 55032: 2012

EN 55024: 2010

EN 55022:2010

EN 301 489-1 V1.9.2 (2011-09)

EN 301 489-17 V2.2.1 (2012-09)

Radio Spectrum

ETSI EN 300 328 V1.9.1 (2015-02)

EN 62479:2010

This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.


Restriction of Hazardous Substances (RoHS) 2011/65/EU Annex II article 4(1)

EN71-3:2013 + A1:2014 - Migration of certain elements.

Analysis of the 163 substances of very high concern (SVHC) on the Candidate List for authorization, concerning Regulation (EC) No. 1907/2006 as published on the European Chemicals Agency (ECHA) website.

Bluetooth 4.0 logo, CE mark, WEEE symbolThe BBC micro:bit device features Bluetooth Low Energy radio. The radio on the device operates in the following frequencies:

Frequency Range: 2402MHz to 2480MHz

Bluetooth Version: V4.0 Bluetooth Low Energy

EU Declaration of Conformity

The document can be downloaded by clicking here for the Declaration of Conformity



  • Can be programmed with high-level online IDEs using the BBC's website at http://www.microbit.co.uk/create-codeincluding:
    • Microsoft TouchDevelop IDE
    • Microsoft Blocks
    • CodeKingdoms Javascript
    • MicroPython
  • mbed enabled
    • Online IDE at developer.mbed.org
    • Easy to use C/C++ SDK
    • Dedicated micro:bit runtime libraries for rapid development (developed by Lancaster University)
  • Nordic nRF51822 Multi-protocol Bluetooth® 4.0 low energy/2.4GHz RF SoC
    • 32-bit ARM Cortex M0 processor (16MHz)
    • 16kB RAM
    • 256kB Flash
    • Bluetooth Low Energy Master/Slave capable
  • Input/Output
    • 25 LED Matrix
    • Freescale MMA8652 3-axis Accelerometer
    • Freescale MAG3110 3-axis Magnetometer (e-compass)
    • Push Button x2
    • USB and Edge connector Serial I/O
    • 2/3 reconfigurable PWM outputs
    • 5 x Banana/Croc-clip connectors
    • Edge connector
    • 6 x Analog In
    • 6-17 GPIO (configuration dependent)
    • SPI
    • i2c
  • USB Micro B connector
  • JST power connector (3v)

  • Dimensions: 51 x 43 x 12mm
  • Weight: 9g