Students move pictures from on start into forever so they repeat, and use pause to set how long each frame stays.
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 10 min · Shop sign 4 min
A program has two places to put blocks. on start runs its blocks once. forever runs its blocks again and again: a loop. Most surprises in this lesson come from which of the two a block is in. Try the Make yourself: three pictures in forever, one drawn with show leds.
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.
Three students hold picture cards in a row. A fourth walks along them, showing each card in turn, and goes back to the start after the last one.
Add a pause: the walker stops at one card and counts to three. The loop carries on afterwards.
on start runs once and forever repeats. When the heart doesn't beat, ask which block the pictures are inside.
| What you will see | A question to ask | The fix |
|---|---|---|
| The heart does not beat after the fix. | Which block are your hearts inside? | Drag them inside forever, not under it. The block should hug them. |
| The animation flickers too fast to see. | How long does each picture stay? | Add a pause between pictures, such as 500. |
| A student thinks the program stopped after a pause. | Watch for two more seconds. What comes after the pause? | pause waits, then forever carries on from where it was. |
One possible solution for each task. Other correct programs are fine.

basic.forever(function () {
basic.showIcon(IconNames.Heart)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
})

basic.forever(function () {
basic.showIcon(IconNames.Heart)
basic.pause(500)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.pause(500)
})

basic.forever(function () {
basic.showLeds(`
. . . . .
. # # # .
# # . # #
. # # # .
. . . . .
`)
basic.showLeds(`
. . . . .
. . . . .
# # # # #
. . . . .
. . . . .
`)
basic.showLeds(`
. . . . .
. # # # .
# # . # #
. # # # .
. . . . .
`)
basic.pause(1000)
})
Open task: any program that does what the step asks.
Stretch: Make an animation with five or more frames that tells a tiny story, such as a seed growing into a flower.
Support: Give students two show leds blocks already in forever, and ask them only to draw the pictures and add a pause.
Your animation has three pictures inside forever. What happens if you move them into on start?
They play once, and the last picture stays on.
Next lesson adds buttons, so the micro:bit waits for a press before it shows something. Class idea: each table designs one frame and the class joins them into one animation.