How Wormhole works

For teachers: what the boxes in the room are, how the readings get from a worm bin to the website, and what happens when something breaks. No networking knowledge needed.

Prints on letter portrait.

1. The pieces in the building

School Wi-Fi (the internet) BYLD, or another known network The Portal (a small router) connects to the school Wi-Fi and shares it with the other rooms over its own private link Burrow 0 (a Raspberry Pi) plugged into the Portal private link (hidden 5 GHz Wi-Fi) Tunnel 1 (router) makes the room's "WormHole" Wi-Fi for the bins Tunnel 2 (router) same, for its room Tunnel 3 (router) same, for its room Burrow 1 (Raspberry Pi) keeps the room's readings Burrow 2 Burrow 3 Worm bins (a Pico computer, sensors and a little screen in each lid) each joins the nearest "WormHole" Wi-Fi and sends a reading every minute to its room's Burrow solid line = cable · dashed = Wi-Fi

One router (the Portal) brings in the internet; one router per room (a Tunnel) makes the Wi-Fi the bins use; one small computer per room (a Burrow) collects that room's readings. Everything plugs into an ordinary outlet.

2. The software, in three layers

The bin Pico 2 W, MicroPython • reads the sensors every few seconds• shows the team name, readings, shows and messages on its screen• sends a reading every minute • keeps readings safe on its own memory if nobody is listening • its own web page and Bluetooth for a phone, right at the bin • kids' code lives here (Viper IDE) The Burrow Raspberry Pi, one per room • receives every bin's readings• keeps them on its card, even with no internet at all• shows the room's dashboard • sends everything to the website when the internet is there • looks after its room's router• passes messages, shows and updates down to the bins The website whs.makerlabkids.com (Cloudflare) • every bin's history and charts• team logins: each team sees and changes only its own bin• messages and pictures/videos for a bin's screen• alerts to the teacher's phone • the admin page: devices, updates, teams • this lab guide is separate (GitHub) readingsreadings messages,messages, shows, updatesshows, updates

Readings flow left to right. Things set on the website (a message, a picture for the screen, a software update) flow back right to left and reach the bin within a few minutes.

3. When something breaks

Every box is built to keep going on its own and catch up later. Nothing a student made is lost.

The internet is down

Bins and Burrows keep working. Each Burrow stores its room's readings and sends them all to the website when the internet comes back. The dashboards in the room still work.

A Burrow (Pi) dies

Bins send to another room's Burrow instead. Swap in a spare Pi: it works out which room it is in by itself. A spare left plugged in next to a working Pi waits quietly and takes over if that Pi stops.

A room's router (Tunnel) dies

That room's bins join another room's Wi-Fi if they can reach it, or keep their readings on their own memory until the router is back. A Pi plugged into another room's router keeps working there.

A bin can't reach anyone

It keeps up to many hours of readings on its own memory, says NOT CONNECTED on its screen with how to reach it by phone, and sends everything once it reconnects.

Power cut

Everything starts again on its own, in any order. Bins wait a moment so they don't all rush the Wi-Fi at once.

A software update goes wrong

Updates go to one bin first. A bin that does not start cleanly with new code puts its old code back within five minutes. Team names, messages, pictures and settings are never touched by an update.

4. Who can change what

Students

Their bin's code (Viper IDE, at the bin), their bin's messages and screen shows (on the bin's page, on the website after signing in, or by phone over Bluetooth). Only their own bin.

Teachers

Every bin's messages and shows, the teacher message slots, and the teacher PIN on each bin.

Maker Lab Kids

Devices, software updates for the Burrows and the bins, teams and logins, the network.

More: Glossary · Make your own show · Fix a Board