Ghost Box

Back to: Introduction » Common Room

Inspiration for what I called “the ghost box” came from combining two interesting ideas.

First, there was a silly tweet of a picture of an empty disposable water bottle with a label on it saying “DO NOT OPEN. GHOST INSIDE.”

Second, a trip to a local tiki bar. You probably know the type — you order a specific drink from the menu, for example something volcano-themed or shipwreck-themed, and then there’s a whole sound and light show when it gets delivered to the table. Thunderous noises fill the room. Lights across the bar flicker and flash. It’s a whole spectacle that lasts about 10 seconds and encourages other tables to order similar drinks.

My plan was to design a small box, with seams that look like part of it opens. It would have a magnetic-wand activated keyhole like the rest of the gadgets. Picture in your head what a Ghostbusters trap would look like, but in the spirit (ha!) of Harry Potter. There would be a sign similar to the water bottle, about not letting the ghost out. Activating the box with your wand would trigger audio (thunder or ghost moans or wild laughter or something) and kick off a sequence of lighting changes across the Great Hall and Common Room.

Inside the ghost box is my go-to inexpensive network-enabled Arduino-alike, the Adafruit Feather Huzzah, the Music Maker daughterboard, and some amplified speakers. The networking and multitasking capability of the Arduino isn’t quite enough to play audio in conjunction with dynamically manipulating a half-dozen Philips Hue lights. In this case, it’s a thin client. It’s able to play audio out of the box, but the heavy-lifting of the whole-house lighting changes gets offloaded, IoT-style, to a more powerful device. In this case, the Raspberry Pi running the lighting and layered sound in the Forbidden Forest. The Pi runs a small Python-based web server that listens for the request and makes all of the appropriate Philips Hue API calls to twiddle the house lighting. (Beforehand, it saves state of all the lights it needs to manipulate, then restores them at the end.)

Unfortunately, the other projects took too much time and this one kept getting kicked to the end of the event-planning Trello board. I put together a rough prototype of the electronics as well as an extremely crude REST server prototype for the Pi. Some day, I’d like to explore this more, but for now, it got left unfinished.