Mike Reed is a completely self-taught digital learning teacher, and during his tenure he has built not one, but three, impressive Raspberry Pi clusters to make his lessons run more smoothly.
Back in the day, when Raspberry Pi Model 1 launched, Mike first learnt how to program in Python by himself, before going on to develop projects at suitable levels for all of his students.
From cluttered to cluster
Originally the Raspberry Pis were dotted around the classroom — one for each desk — with mice, keyboards, and power and HDMI cables plugged in. Each desk was a sea of cables, computers, worksheets, and monitors.
Wanting to declutter the desks, Mike started to think of ways he could use the computer terminals to connect to the Raspberry Pis remotely. So he taught himself about VNC, creating static IP addresses and configuring a router to run a network separate from the school network. That rabbit hole turned into the classroom’s first Pi cluster, made out of early Raspberry Pi Model 3s, an MDF board, and two multi-way extension cables:
New and improved
Fast forward ten years, and now a 32-board cluster — the third iteration — has just come online.
Using a custom laser-cut backing board, each Raspberry Pi 4 Model B has its own OLED to display its IP address and VNC status.
Mike has picked up a lot of tricks in the decade or so he’s been playing with Raspberry Pi, including working out the optimal arrangement of all the boards to maintain access to their ports whilst having them as tightly and neatly packed as possible. He also realised that providing 5V via long cables doesn’t always work due to the voltage drop, so now the cluster’s power is delivered as 20V, before being stepped down by UBECs.
What does the cluster do?
Pupils connect via VNC from their classroom computer to one of the Raspberry Pis in the cluster. Using a GUI program Mike wrote — which autostarts on boot — they sync their school Microsoft OneDrive accounts to a folder on the Raspberry Pi’s desktop. Then they can either open existing scripts or create new ones before beginning their work. The whole process takes about two minutes.
The cluster is run from a “Control Pi”, which sends threaded SSH commands to the other boards to reboot them after each lesson, wiping the OneDrive connections ready for the next class. It has a colourful interface with lots of buttons to show Mike exactly what is happening with each Raspberry Pi.
Control Pi also has a seven-port USB hub, so Mike can image seven SD cards simultaneously when the Raspberry Pis’ software needs updating.
More teaching time
Building the Raspberry Pi clusters was more than a passion project for a dedicated tinkerer. It has practical benefits too, as Mike explains:
“I’ve finally got a setup I can use to teach classes with a fast turn-on and turnaround time. I can now spend my time helping pupils debug their code rather than managing the hardware.”
Evolving a set of programming projects does still take a lot of time, however. They all start with “Hello World” and cover variables, data types, procedures, functions, parameters, and arguments, before moving onto graphics and GUIs. Pupils who get as far as the later projects can code Minesweeper, Pong, Flood It, and a basic version of MS Paint. Their booklets include lots of QR codes that they can scan to take them to YouTube videos with guides and walk-throughs.
The programming skills that pupils develop in Mike’s class not only allow them to meet exciting challenges and give them opportunities to problem-solve, but also provide an excellent foundation for pupils who aim to take the GCSE Computer Science course. “By the time they do actually begin their GCSE, they often have such good Python knowledge I’m scrambling to keep up!” Mike says.