Students learn that a radio group is a shared channel, so plain-text radio messages are public to everyone in the group.
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 8 min · Make 12 min
The idea: radio goes to everyone. A radio group is a channel number; it decides who is listening, not who is allowed to listen. Anything sent in plain text can be read by any micro:bit set to that group.
Why start here: the whole course answers one question: if everyone in the group hears everything, how do we keep a message private, know it was not changed, and know who sent it? Students should leave this lesson feeling that question is real.
Hardware: the course works in the simulator throughout. Real micro:bits make it better: give every pair its own group and write the numbers on the board.
A group number is a channel, not a lock. Ask who else can hear the message before they assume it is private.
| What you will see | A question to ask | The fix |
|---|---|---|
| Nothing arrives. | Are both micro:bits in the same group? Is the other one running the program? | Use the same radio set group number on both. |
| Messages from other pairs appear. | Which group number are you using? | Pick your own number and download again. |
One possible solution for each task. Other correct programs are fine.

radio.setGroup(5)
input.onButtonPressed(Button.A, function () {
radio.sendString("MEET AT 3")
})
input.onButtonPressed(Button.B, function () {
radio.sendString("BRING SNACKS")
})
radio.onReceivedString(function (receivedString) {
basic.showString(receivedString)
})

radio.setGroup(5)
input.onButtonPressed(Button.A, function () {
radio.sendString("RING")
})
radio.onReceivedString(function (receivedString) {
if (receivedString == "RING") {
basic.showIcon(IconNames.Heart)
music.play(music.tonePlayable(659, music.beat(BeatFraction.Whole)), music.PlaybackMode.UntilDone)
basic.clearScreen()
}
})
Stretch: Add a third micro:bit in the same group and see that both hear A's message.
Support: Give the doorbell with the receiving part complete.
Why does a radio group number not make a message private?
Every micro:bit set to that group hears every message in it, so the text is public to the group.
Next: hide the message from anyone who is listening, starting with a simple scrambling method.