A hybrid digital-and-human game, built for a trade show booth. A visitor pressed a button, and three presenters staffing the booth each shook a small box and pulled something out of it — pull the same thing as the other two, and the visitor won a prize. This project is the machine that ran that moment: press the button, and the sound and lights across two connected units gave the presenters their cue to shake and reveal together.
The technology wasn't really the point — it was the icebreaker. A visitor tapping the button pulled three presenters into a shared, slightly theatrical moment on the spot: a small, obvious, fun reason for someone walking by to stop, and for the people staffing the booth to engage with them directly. That mix of a visitor's tap and the presenters' live reaction is what turned booth traffic into actual conversations.
Under the hood it's a pair of ESP32 boards talking to each other wirelessly, so the light show could run both at the button station and at a second spot a few feet away, with no wires between them.
The button station is the visitor-facing kiosk:
The second light unit sat elsewhere at the booth, with no wired connection to the button station at all:
The two units only need to share a Wi-Fi channel — there's no dependency on message content beyond “a round just started,” which keeps both sides of the firmware simple. Judging the actual win — did all three presenters pull the same thing — happened live, in front of the visitor, not something the machine tracked.
| Boards | 2× ESP32 dev boards — one per unit |
| Lights | 2× WS2812/NeoPixel LED strips, 50 LEDs each |
| Input | A push button with a built-in indicator LED, on the button station only |
| Sound | A serial MP3 player module (DFPlayer-style) and speaker, on the button station only |
Two Arduino sketches, one per role — the button station and the remote light unit each run their own, and only need to agree on a Wi-Fi channel to find each other.
Built with the ESP32 Arduino core's ESP-NOW wrapper and the Adafruit NeoPixel library.