Students build a radio bridge, so a micro:bit across the room sends readings to the computer and receives commands from it.
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 · Across the room 8 min (typical) · Investigate 8 min · Modify 12 min · Make 12 min · Test 3 min (typical)
The idea: a bridge relays. On the micro:bit plugged into the computer, on radio received value → serial write value passes radio readings to the computer, and on serial data received → radio send string passes lines from the computer on by radio. The micro:bit across the room only uses radio.
One program on both micro:bits: each part only does something on the micro:bit where it matters (the bridge also sends its own temperature by radio, but no other micro:bit passes it on, and a micro:bit never hears its own messages). This keeps the lesson to one program; in the simulator, a radio program runs on two micro:bits.
Hardware: two micro:bits per pair (one with a battery pack), a data cable and Chrome or Edge. The board steps are typical, so classes without hardware use the simulator's Show data. Give every pair its own radio group before anyone downloads, or bridges pick up other pairs' readings.
Three parts in a chain: far micro:bit, bridge, computer. When nothing arrives, ask them to check each link in turn, starting with the radio group.
| What you will see | A question to ask | The fix |
|---|---|---|
| Nothing arrives on the board. | Are both micro:bits in the same radio group? Is the far one switched on? | Use the same group; check the battery pack. |
| Readings from another pair appear. | Which radio group are you using? | Choose your own group number and download to both again. |
| Commands from the board do nothing on the far micro:bit. | Does the bridge pass lines from the computer on by radio? | Add on serial data received → radio send string (read line). |
One possible solution for each task. Other correct programs are fine.

radio.onReceivedValue(function (name, value) {
serial.writeValue(name, value)
})
basic.forever(function () {
radio.sendValue("temp", input.temperature())
radio.sendValue("light", input.lightLevel())
basic.pause(1000)
})
radio.setGroup(7)

radio.onReceivedValue(function (name, value) {
serial.writeValue(name, value)
})
serial.onDataReceived(serial.delimiters(Delimiters.NewLine), function () {
radio.sendString(serial.readLine())
})
radio.onReceivedString(function (receivedString) {
if (receivedString == "beep") {
music.play(music.tonePlayable(880, music.beat(BeatFraction.Half)), music.PlaybackMode.InBackground)
}
})
basic.forever(function () {
radio.sendValue("temp", input.temperature())
basic.pause(1000)
})
radio.setGroup(7)

// Bridge: both directions
serial.onDataReceived(serial.delimiters(Delimiters.NewLine), function () {
radio.sendString(serial.readLine())
})
radio.onReceivedValue(function (name, value) {
serial.writeValue(name, value)
})
// Room monitor
basic.forever(function () {
radio.sendValue("temp", input.temperature())
radio.sendValue("light", input.lightLevel())
basic.pause(1000)
})
radio.onReceivedString(function (receivedString) {
if (receivedString == "alarm") {
basic.showIcon(IconNames.No)
radio.sendValue("alarm", 1)
} else if (receivedString == "clear") {
basic.clearScreen()
radio.sendValue("alarm", 0)
}
})
radio.setGroup(7)
Stretch: Use three micro:bits: two sensors in different rooms, each sending its own name (temp1, temp2), and graph both.
Support: Give the bridge part complete; students write only the far micro:bit's part.
What does a bridge micro:bit do?
It passes radio messages on to the computer over the cable, and lines from the computer on by radio.
Next: train a model and let its labels travel the same path. Real world: smart-home hubs, farm sensor networks, wildlife monitoring.