A table that knows what you put on it.
Five objects. Five candles. Nine releases.
ch.01 v1.0 standalone prototype fall 2024
Fall 2024. Everything lives on one Arduino.
No network. No Node-RED. No problem?
All five right → the ripple.
from v2.0 onBuilt and tested on a bench.
The room keeps v1.0.
The room keeps v1.0.
ch.02 v2.0 going online 01·27
The table goes online: Wi-Fi + MQTT + Node-RED.
Now the table can cue sound and light.
ch.03 v2.1 the freeze 03·11
One day, the Wi-Fi drops.
The Arduino waits. And waits. And waits.
…hello?
No network, no puzzle. Not even the candles.
v2.1 · the fixNo network?
Play locally anyway.
Play locally anyway.
v3.0: no more Wi-Fi. One USB cable.
v4.0: the PC moves out. A Raspberry Pi 5 moves in.
The win timeline.
Why keep MQTT inside Node-RED? So the next device just subscribes.
ch.05 v4.1 the loop 03·28
The win animation keeps hanging. Try toggle mode.
Commands queued during the animation replay. Forever.
Flush the buffer. Guard the port. Shut down safely.
ch.06 v4.2 the real culprit 04·11
Two weeks later, the loop is back. The culprit… was the fix.
Toggle sends the same value to start and to stop!
Case 1: back to flash. Absolute start, absolute stop.
Case 2: the dedup node had been quietly renamed. Every heartbeat re-fired the win.
Case 3: offline mid-celebration.
ch.07 v4.2.1 hint, please 04·12
For when a player asks for a hint.
Pause the clock, not the game.
QLab used to swallow the second ding. Now every candle rings.
ch.08 v4.2.2 the big clock 04·21
A fullscreen clock for the players.:1880/player · WebSocket
At 00:00, a slow dark-red pulse. Gentle on purpose.
ch.09 v4.2.3 the last four fixes 05·05
The stuck reader: re-init just that one.
The error flash now finishes all three.
GM overrides the last candle → the win plays.
And first: two seconds of total darkness.
ch.10 your turn 5 objects · 5 slots
Put each object where it belongs. Read the engravings.
tap an object, then a slot
arduino → pi · 115200
THE END.
(in the room, the table still runs v1.0. everything after it is on the bench, for now.)
next · ep.02Escape room ›