The nervous system of the Holi-Cray-Matic

85a1fb4e205411e1a87612313804ec

The DK Holi-Cray-Matic™ is an open-source, Twitter-controlled, Arduino-connected (http://arduino.cc/), node.js (http://nodejs.org) application.

There is a self-hosted Node.js web server sitting at holiday.designkitchen.com that is the central hub of the project. It opens up a connection to Twitter’s Stream API and listens for any tweets mentioning @designkitchen and creates a random event job for them – snow machine, table lights, wall lights, beacon lights, inflatable sky dancer. Every 40 tweets, an all-on-holicray event is triggered. Once the jobs have been created, an event is broadcast via websockets to all the webclients (the website) to update the real-time website. These jobs are processed one at a time and sent to the Arduino node.js application sitting in the conference room.

On the Mac Pro, there is a local Node.js application that is connected to the web server via websockets (socket.io). This server is responsible for accepting job instructions from the web server, turning on Arduinio for 9 seconds, and then turning it off, and then reporting back to the web server to say the action took place.

We built out our own power circuits using PowerSwitch Tail II hooked up to an Arduino Uno board connected to a Mac Pro in the conference room. All of the holiday decorations are then plugged in downstream on those PowerSwitches, always on, waiting for the control pin on Arduino to complete the circuit and make stuff go HoliCray!