The Cabinet

"Secret treasures, locked away. It’s so strange, looking back at what you
remember, what you don’t..."

The last stage of the narrative is embodied within a small cabinet. It is fitted with internal electronics such that one of six compartments opens depending on the pattern knocked upon its top. In the completed vision of the project, the pattern is revealed to the viewer through a triggered phone call. For the initial installation, the pattern was communicated to viewers through a poster hung above the cabinet, which had a section of narrative detailing the different secret knocks the characters used for their hideaways as children.

Each drawer contains an object of narrative significance. For the final implementation the viewer will place the object on a symbol next to the cabinet and look at it through their phone, which will trigger the last text. For the initial installation, the final text was printed on strips of paper that were also in the drawers. Viewers knocked, then retrieved the text and object from the appropriate drawer when it opened.

For the final implementation, the object contained within the drawer will symbolically represent the unique state of the narrative for that reading, which will have a contextual meaning different for each viewer, as they have explored the narrative through the posters and hourglass on an individual, unique basis.

Cabinet Construction

The cabinet was constructed from 1/4" plywood lasercut into interlocking pieces and woodglued together and spray-painted. The initial blueprint was generated using Rahul Bhargava's excellent Boxmaker web app.


An Arduino Uno was used as the micro-controller. For the programming, Steve Hoefer's excellent Secret Knock Detector Instructables project was used as the base, and then modified. Arrays and functions were added so that once the person finishes knocks, the program runs through all the stored patterns and sees if the knocks entered match up to them. If they do, each pattern has an associated servo motor that is activated to open the door. It pauses for a moment to give the viewer time to pull out the object, and then closes. Debug statements were also put in so that feedback was output through the serial port for each section of the program as it ran.

You can see all the source code by clicking here.

Installation of the Servos

Six Airtronics 94102 Servos were used to open and shut the doors. Originally the microservos that came with the Sparkfun Inventors Kit were used, but they proved way too finicky when all were plugged in with no kind of shielding.

The servos were then attached to the drawers by drilling holes and threading solid wire through the holes and onto the motor flanges. Over time and use during the exhibition this degraded somewhat as the wire flexed and bent, so a more robust solution will be implemented for the next cabinet created.

My Google+ profile