Students send a number by radio and react on another micro:bit when it arrives, and see that only micro:bits in the same group hear each other.
Load these into Waypoints Prepare: choose Load URL and paste the copied address, or download the file and import it. In Prepare, the worksheet's Teacher edition shows the answers; the student copy hides them.
Predict and Run 8 min · Investigate 10 min · Modify 6 min · Mix it up 3 min · Make 9 min · Quiet signal 4 min
Radio sends short messages between micro:bits. radio set group chooses a channel (0 to 255); only micro:bits in the same group hear each other. send number sends to every other micro:bit in the group (never to itself). on radio received is an event: it runs each time a message arrives. In the simulator, a second micro:bit appears once the program uses radio; both run the same program. Using the number that arrived (receivedNumber) is next lesson. With real micro:bits in a classroom, pairs must choose their own group number or they will hear everyone.
On the slides at these points. Students can do the whole lesson on their own; these are for the room. In the deck, the Run, Modify and Make slides have the live playground in them (the tutorial link is the backup), and the notes above are in each slide's speaker notes.
Students hold a group number card. One student whispers a message to their group number; only students with the same card may react.
Swap one student's card: they miss everything. That is Ella's bug.
Pair up with real micro:bits (or two simulators). Agree a group, then ring each other's doorbell.
Two micro:bits, one group, and a micro:bit never hears itself. When nothing arrives, ask which one is sending and which group each is in.
| What you will see | A question to ask | The fix |
|---|---|---|
| Nothing arrives. | Are both micro:bits in the same group? Are you pressing on the sender? | Check radio set group on both, and press on one while watching the other. |
| The heart shows on the micro:bit that was pressed. | Is there a show icon inside the button event as well? | Keep the button event for sending only; showing belongs in on radio received. |
| The second micro:bit is missing from the simulator. | Is there a radio block in the program? | The second micro:bit appears once any radio block is used. |
One possible solution for each task. Other correct programs are fine.

radio.setGroup(1)
input.onButtonPressed(Button.A, function () {
radio.sendNumber(1)
})
input.onGesture(Gesture.Shake, function () {
radio.sendNumber(1)
})
radio.onReceivedNumber(function (receivedNumber) {
basic.showIcon(IconNames.Heart)
basic.pause(500)
basic.clearScreen()
})
Open task: any program that does what the step asks.

function ring () {
basic.showIcon(IconNames.Happy)
basic.pause(300)
basic.clearScreen()
basic.pause(300)
basic.showIcon(IconNames.Happy)
}
radio.setGroup(1)
input.onButtonPressed(Button.A, function () {
radio.sendNumber(1)
})
radio.onReceivedNumber(function (receivedNumber) {
ring()
})
Open task: any program that does what the step asks.
Stretch: Make the doorbell ring differently for a shake (a knock) and for A (the bell). How does the receiver know which? (Next lesson.)
Support: Give students the ring function already made, and ask them to add the sender and the receiver.
Two micro:bits run the same radio program, but one is in group 3 and one in group 4. What happens when A is pressed on either?
Nothing arrives: each only hears messages sent to its own group.
Next lesson: the number that arrives can say which message it was, so one receiver does different things. Class idea: a relay where a message passes around the room micro:bit to micro:bit.