15 Fun micro:bit Projects Kids Can Build at Home

15 fun micro:bit projects for kids, from a name badge and dice to a step counter, radio messages and a robot car, with MakeCode code to try at home.

Written by Munisekhar Meduru, CTO & Co-founder

A kid at home holding a glowing micro:bit showing a heart on its LED grid, with a small micro:bit robot car and a laptop with colourful code blocks nearby

The micro:bit is a pocket-sized computer made for kids. It has an LED screen, buttons, a motion sensor, a compass, a thermometer and even a radio built in, so kids can build amazing things without any wiring.

Here are 15 fun micro:bit projects to build at home, from five-minute starters to a real robot car. Each one includes code you can type into Microsoft MakeCode.

What you need to start

  • a micro:bit board and a USB cable
  • a laptop or desktop with internet
  • the free MakeCode editor at makecode.microbit.org

How it works: build your code, test it in the on-screen simulator, then download it to the micro:bit. Each project below shows the MakeCode Python version. Kids who prefer blocks can build the same thing with blocks, or paste the code into the Python tab and switch back to blocks to see it.

Which micro:bit should you buy?

There are two versions. The newer micro:bit V2 has a few extra features the older V1 does not:

micro:bit V1 micro:bit V2
Built-in speaker No Yes
Built-in microphone No Yes, for sound-reactive projects
Touch-sensitive logo No Yes
Speed and memory Standard Faster, with more memory

Buy the V2 if you can. Every project in this guide works on it, and the speaker and microphone open up many more ideas, like a clap switch or a music player. Projects that play sound on a V1 need headphones or a small speaker clipped to the pins. Learn more on the micro:bit Educational Foundation website.

Starter projects (board only)

1. Scrolling name badge

The classic first micro:bit program: one line of code, and your kid’s name scrolls across the LED screen.

basic.show_string("ANANYA")

Your name scrolls across the LEDs. Pin it to your shirt with a battery pack. Teaches: your first program · Time: 5 minutes

2. Beating heart

A big heart and a small heart take turns on the screen, so it looks like it is beating. Kids learn that a loop repeats forever.

def on_forever():
    basic.show_icon(IconNames.HEART)
    basic.pause(500)
    basic.show_icon(IconNames.SMALL_HEART)
    basic.pause(500)
basic.forever(on_forever)

Teaches: loops and timing · Time: 10 minutes Make it yours: make it beat faster or slower.

3. Shake dice

Shake the micro:bit and it shows a random number from 1 to 6. Perfect for board games when the real dice goes missing.

def on_gesture_shake():
    basic.show_number(randint(1, 6))
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Teaches: events, the motion sensor and random numbers · Time: 10 minutes

4. Rock, paper, scissors

def on_gesture_shake():
    hand = randint(1, 3)
    if hand == 1:
        basic.show_icon(IconNames.SMALL_SQUARE)  # rock
    elif hand == 2:
        basic.show_icon(IconNames.SQUARE)        # paper
    else:
        basic.show_icon(IconNames.SCISSORS)      # scissors
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Two friends shake their boards at the same time. Teaches: if, elif, else · Time: 15 minutes

5. Step counter

steps = 0

def on_gesture_shake():
    global steps
    steps += 1
    basic.show_number(steps)
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Strap it to your shoe or keep it in your pocket and go for a walk. Teaches: variables · Time: 15 minutes

6. Thermometer

def on_button_pressed_a():
    basic.show_number(input.temperature())
input.on_button_pressed(Button.A, on_button_pressed_a)

Press A to see the temperature in °C. Try it near a window and in a cool room. Teaches: reading a sensor · Time: 10 minutes

7. Night light

def on_forever():
    if input.light_level() < 50:
        basic.show_icon(IconNames.HEART)
    else:
        basic.clear_screen()
basic.forever(on_forever)

The LEDs light up when the room gets dark. Teaches: the light sensor and decisions · Time: 15 minutes

8. Compass

def on_forever():
    heading = input.compass_heading()
    if heading < 45 or heading > 315:
        basic.show_string("N")
    elif heading < 135:
        basic.show_string("E")
    elif heading < 225:
        basic.show_string("S")
    else:
        basic.show_string("W")
basic.forever(on_forever)

The first time, the micro:bit asks you to tilt it to fill the screen. That calibrates the compass. Teaches: angles and conditions · Time: 20 minutes

9. Reaction-time game

start = 0

def on_button_pressed_a():
    global start
    basic.clear_screen()
    basic.pause(randint(1000, 4000))
    basic.show_icon(IconNames.HAPPY)
    start = input.running_time()

def on_button_pressed_b():
    basic.show_number(input.running_time() - start)

input.on_button_pressed(Button.A, on_button_pressed_a)
input.on_button_pressed(Button.B, on_button_pressed_b)

Press A, wait for the smiley, then press B as fast as you can. The number is your reaction time in milliseconds. Teaches: timers and events · Time: 20 minutes

10. Magic 8-ball

answers = ["YES", "NO", "MAYBE", "ASK AGAIN"]

def on_gesture_shake():
    basic.show_string(answers[randint(0, 3)])
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

Ask a question, shake, and get an answer. Teaches: lists · Time: 15 minutes

Radio projects (two micro:bits)

11. Secret messages

Put the same code on both boards. Press A on one, and the other shows the message.

radio.set_group(7)

def on_button_pressed_a():
    radio.send_string("HI")
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_received_string(receivedString):
    basic.show_string(receivedString)
radio.on_received_string(on_received_string)

Teaches: wireless communication · Time: 20 minutes Make it yours: pick your own group number so only your friend can read your messages.

12. Remote doorbell

Press a button on one board, and the other plays a tune. Use radio.send_number(1) on the button, and music.play_tone(262, 500) when a number is received. Plug headphones or a small speaker into the second board (the micro:bit V2 has a speaker built in). Teaches: sending and receiving signals · Time: 20 minutes

Projects with a few extra parts

13. Plant thirst meter

Push two long nails into a plant pot and connect them to pin 0 and GND with crocodile clips. Wet soil conducts more electricity than dry soil.

def on_forever():
    moisture = pins.analog_read_pin(AnalogPin.P0)
    if moisture < 300:
        basic.show_icon(IconNames.SAD)
    else:
        basic.show_icon(IconNames.HAPPY)
basic.forever(on_forever)

Teaches: analogue sensors · Time: 30 minutes The right number depends on your soil, so test dry and wet soil first.

14. Burglar alarm

When the box lid opens and light comes in, the alarm sounds.

def on_forever():
    if input.light_level() > 100:
        basic.show_icon(IconNames.NO)
        music.play_tone(880, 200)
basic.forever(on_forever)

Put the micro:bit inside a box with a battery pack and close the lid. Teaches: using a sensor as a trigger · Time: 20 minutes

15. Line-following robot car

The big one. With a robot car kit (motors, wheels and line sensors), the micro:bit reads the black line and steers to follow it. The exact code depends on the kit, which is why this is the first robot kids build in our course. Teaches: sensors, motors and real robotics · Time: a few sessions

Want to build the robot car? Our micro:bit kit includes the add-ons for the line-following car and other projects. We ship it to your home. Ask about the micro:bit kit on WhatsApp.

Taking projects off the desk

The micro:bit becomes even more fun when it leaves the laptop:

  • Add a battery pack. A small holder with two AA batteries plugs into the board, so projects work anywhere. Download the code first, then unplug the USB cable.
  • Make it wearable. Attach the board to a wristband or lanyard for the name badge, step counter or reaction game.
  • Build a case. A small cardboard box with a window for the LEDs protects the board and makes projects look finished.
  • Play outside. The compass, step counter and thermometer are all more interesting in the garden or on a walk.

Always remove the batteries when you have finished, and keep the board dry.

When a project does not work

Problem Usual fix
Nothing happens after downloading Check the board is connected, and download again
The code works in the simulator but not on the board Make sure the latest file was copied to the micro:bit
The compass gives strange directions Calibrate again, away from metal and magnets
The light sensor never triggers Try a darker or brighter room, or change the number in the code
The radio message never arrives Check both boards use the same group number

Fixing problems like these is where real learning happens. Encourage your kid to change one thing at a time and test again.

Turning projects into school work

Many of these projects make great school presentations or exhibition entries. A step counter can become a fitness study, a thermometer can track temperatures for a week, and the plant thirst meter fits perfectly in a science project about soil and water. For bigger ideas, see 25 robotics project ideas for school science exhibitions.

A simple weekend plan

Not sure where to begin? Try this:

  • Saturday morning: projects 1 to 3 (name badge, beating heart, shake dice). Quick wins that build confidence.
  • Saturday afternoon: projects 5 and 6 (step counter and thermometer), then take them outside.
  • Sunday: the reaction-time game and the magic 8-ball, then challenge the whole family.

By Sunday evening, your kid will have built seven working programs and learned events, loops, variables, sensors and random numbers.

Tips for parents

  • Start with the simulator if the board has not arrived yet.
  • Celebrate small wins. A scrolling name is a real program.
  • Ask “what if?” What if the heart beat faster? What if the dice went up to 12?
  • Let them teach you. Explaining their code helps them remember it.

Moving from blocks to Python

Every project above can be built with blocks or Python in MakeCode. When your kid is comfortable with blocks, switching the same project to Python is a gentle first step into real code. Read Scratch vs Python and Micro:bit vs Arduino vs Raspberry Pi.

Build real robots with a trainer

In our Micro:bit Robotics course (ages 7 to 11), kids build a line-following robot car, a step counter, a reaction-time game and a burglar alarm, live and 1-on-1 with a trainer. Older kids can move on to 10 fun Arduino projects.

Book a free micro:bit demo class.

Parents often ask

What can kids make with a micro:bit?

Games, a step counter, a compass, a thermometer, radio messages between boards and, with a few extra parts, real robots like a line-following car.

What age is the micro:bit for?

It suits kids from about 7 or 8. Our Micro:bit Robotics course is for ages 7 to 11.

Do we need to buy anything extra for these projects?

Projects 1 to 10 need only the micro:bit and a USB cable. Radio projects need two boards, and the robot projects need a kit with motors and sensors.

How do kids code the micro:bit?

With Microsoft MakeCode, a free website. Kids start with colourful blocks, and can switch the same project to Python when they are ready.

Can we try micro:bit projects without a board?

Yes. MakeCode has a built-in simulator, so kids can test projects in the browser before using a real board.

Where can we get a micro:bit kit?

For our Micro:bit Robotics course, you can buy the matching kit from us and we ship it to your home, anywhere in the world.

Let's build something amazing.

Book a free demo class. Your kid builds something real in the very first session.

Know the fees?Book a free demo?
Book free demo