Day 1: Introduction to Microbit
Concepts Covered:
Meet the Microbit: Introduce students to the Microbit microcontroller and the MakeCode programming environment.
https://sites.google.com/aceraschool.org/mrjonathansengineering/lessons/1-meet-microbit
Experiment with the "Out of the Box Experience" demonstration program
Introduce the MakeCode programming environment;
Create a MakeCode account ; Makecode can be used without signing in, but you will not be able to save programs online
Demonstrate how to download a hex file to the MicroBit
Create Flashing Hearts program
BUILD
Review MakeCode programming environment
Complete basic programming challenges at https://makecode.microbit.org/
using the various built-in sensors and actuators
https://sites.google.com/aceraschool.org/mrjonathansengineering/lessons/2-basic-programming-challenges
Parts needed: Microbit, MicroUSB to USB-A cable, 3V MicroBit battery, USB-A--->USB-C adaptor
1. Flashing Heart (The "Hello World" of Micro:bit)
https://makecode.microbit.org/projects/flashing-heart
Every physical computing journey starts with making an LED blink. This project uses the 5x5 LED matrix on the front of the board to display a heart icon, pause, clear the screen, and repeat.
What it teaches: Basic loops (forever block) and controlling the LED matrix.
The code: A simple loop that toggles between the "show icon" (heart) block and the "clear screen" block, with a short pause in between.
2. Step Counter (Pedometer)
https://microbit.org/projects/make-it-code-it/step-counter/
By tapping into the on-board accelerometer, the Micro:bit can detect when it's being shaken or moved up and down, just like a fitness tracker.
What it teaches: Variables, math operations (incrementing a value by 1), and using the accelerometer's on shake event.
The code: Create a variable called steps. Every time the on shake event triggers, change the steps variable by 1, and display the new number on the LED matrix.
3. Rock, Paper, Scissors
https://microbit.org/projects/make-it-code-it/rock-paper-scissors/
This turns the board into a digital game. When you physically shake the Micro:bit, it randomly selects and displays an icon representing rock, paper, or scissors.
What it teaches: Conditional logic (if/then/else statements), random number generation, and using events to trigger actions.
The code: On a shake event, generate a random number between 1 and 3. If the number is 1, show a rock icon; if 2, show paper; if 3, show scissors.
4. Automatic Night Light
https://microbit.org/projects/make-it-code-it/nightlight/
The LEDs on the Micro:bit don't just emit light; they can also detect it. This project uses the LED matrix as a light sensor to automatically turn on all the LEDs when the room gets dark.
What it teaches: Analog sensor inputs, threshold values, and using comparative logic (less than).
The code: In a continuous loop, check the light level block (which reads from 0 to 255). If the light level drops below a certain threshold (e.g., 50), turn on all LEDs. Otherwise, clear the screen.
5. Digital Pet / Tamagotchi
https://microbit.org/projects/make-it-code-it/microbit-pet/
Give the Micro:bit a personality by having it react to how it's handled. It can smile when you press a button, frown when you shake it, or fall asleep if left alone.
What it teaches: Managing multiple inputs (buttons A and B, touch logo, accelerometer) and understanding state changes.
The code: Program the on button A pressed event to show a happy face, the on shake event to show a dizzy face, and the on logo touched event to show a surprised face.
6. Soil Moisture Tester
https://makecode.microbit.org/projects/soil-moisture
This is an excellent physical science project that uses the Micro:bit to determine if a plant needs watering by measuring the conductivity of the soil.
What it teaches: Analog inputs, reading resistance/conductivity, and basic external circuits using alligator clips.
How it works: You connect two nails (or long screws) to the 0 and 3V pins using alligator clips and push them into the soil. The Micro:bit reads the analog signal on pin 0; wet soil conducts electricity better than dry soil, resulting in a higher reading. You can program the LED matrix to show a happy face if the soil is damp and a sad face if it's dry.
7. Wireless Radio Communicator
https://microbit.org/get-started/features/radio-and-pins/
The Micro:bit has a built-in radio antenna, allowing two or more boards to send data back and forth wirelessly using Bluetooth.
What it teaches: Wireless data transmission, setting radio groups, and sending/receiving strings or variables.
How it works: You set both Micro:bits to the same "radio group." One board can be programmed to send a text string (like "HELLO") when a button is pressed. The receiving board uses an on radio received event block to catch that data and scroll the message across its LED matrix. It's a great stepping stone before moving into more complex transceiver setups.
8. Reaction Time Game
https://microbit.org/projects/make-it-code-it/reaction-game/
This turns the Micro:bit into a fast-paced two-player game to see who has the quickest reflexes.
What it teaches: Advanced timing functions, boolean variables (true/false states), and keeping score.
How it works: The game starts with a random delay, after which a central LED lights up. Player 1 hovers over button A, and Player 2 hovers over button B. The first to press their button after the light appears gets a point. If someone presses early (false start), the other player automatically wins the round.