Meet micro:bit

front of BBC micro:bitback of BBC micro:bit


You can use your BBC micro:bit for all sorts of cool creations, from robots to musical instruments – the possibilities are endless.


code editors

Easy Peasy

It can be coded from any web browser in Blocks, Javascript, Python, Scratch and more; no software required.

Let’s Code

Example project

Get Inspired

We have over 200 different activities and resources to try, from easy experiments to creative coding challenges.

Get ideas

Micro:bit in the classroom

How do I use micro:bit in school?

Micro:bit is widely used in schools around the world, from Finland and Iceland to Singapore and Sri Lanka. We have dozens of fantastic activities and lesson plans geared towards primary and secondary school teachers.

Learn more

Quick Start

Step 1: Connect It

Connect the micro:bit to your computer via a micro USB cable. Macs, PCs, Chromebooks and Linux systems (including Raspberry Pi) are all supported. It comes with a fun application, give it a try!

micro:bit being plugged in and turning on

Your micro:bit will show up on your computer as a drive called ‘MICROBIT’. Watch out though, it’s not a normal USB disk!

Step 2: Program It

Using one of our fantastic editors, write your first micro:bit code. For example drag and drop some blocks and try your program on the Simulator in the Javascript Blocks Editor, like in the image below

Making a flashing heart in Javascript Blocks Editor

Click here to try making this example yourself

Step 3: Download It

Click the Download button in the editor. This will download a ‘hex’ file, which is a compact format of your program that your micro:bit can read. Once the hex file has downloaded, copy it to your micro:bit just like copying a file to a USB drive. On Windows you can right click and choose “Send To→MICROBIT.”

Windows “Send To”

using Send To context menu on Windows

Mac Drag and Drop

using drag and drop on mac OS

Step 4: Play It

The micro:bit will pause and the yellow LED on the back of the micro:bit will blink while your code is programmed. Once that’s finished the code will run automatically!micro:bit yellow LED flashing and new code startingThe MICROBIT drive will automatically eject and come back each time you program it, but your hex file will be gone. The micro:bit can only receive hex files and won’t store anything else!

What cool stuff will you create? Your micro:bit can respond to the buttons, light, motion, and temperature. It can even send messages wirelessly to other micro:bits using the ‘Radio’ feature.

Check out the hardware page for more inspiration.

Step 5: Master it

This page shows you how to get started with micro:bit, but as well as JavaScript Blocks you can use Python and text-based JavaScript to program your micro:bit. Head over to the Let’s Code page to see the different languages, or check out the ideas page for some things you might like to try out.


From dancing robots to banana keyboards, your micro:bit has all the features you need to code awesome stuff – the possibilities are endless!

A diagram of the BBC micro:bit


Your micro:bit has the following physical features:

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


The micro:bit LEDs

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? 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 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.


The micro:bit pins

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, or use the code references below.

Python JavaScript Blocks

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

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

Temperature Sensor

The micro:bit 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 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 mayhemwith Python!


The micro:bit compass

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 JavaScriptor Python!


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!


The micro:bit bluetooth antenna

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 programs wirelessly to your micro:bit.

JavaScript Blocks

The Python Editor doesn’t currently support bluetooth.

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

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 programs onto the micro:bit.

Technical Info

Please refer to the hardware page to discover more about the micro:bit’s technical and compliance info.


Take a look at the apps page to learn more about coding the micro:bit from a mobile device.