Matthew McClain

Switchboard Memory Game

Created for The Ladder at Hatch Escapes.

The switchboard was the first major project I completed for The Ladder, and is the device I'm personally the most proud of.

The switchboard game is a homage to mid-century telephone switchboards, on which operators would physically connect incoming calls to their desired recipients before the process was eventually mechanized. The game itself is "memory" with a twist - instead of matching visual patterns, you have to connect the headphones to illuminated ports to hear incoming audio messages, then connect each "caller" to their desired destination (indicated by a complementary audio message) using a 1/4" patch cable.

For example, you may connect your headphones to an illuminated port and be told by a caller that there's a fire, and they need to be connected to the fire department. You would then listen to the messages on each of the other illuminated ports until you find the fire department and connect the two ports with a cable. Other ports lean more into the comedy aspect of the experience - one caller might be from the CIA, and the matching port might have a message from a man with a thick accent claiming to be "definitely not Russian spy." Another caller might bemoan his poorly matching choice of tie, while another might share that he wore an extra tie to work by mistake. One caller simply asks you to connect her to her dog, with the matching port playing audio of a dog barking on the other end of the line.

The switchboard consists of over 300 fully functional digital I/O ports, each connected to an MCP23017 port expander, each connected to an I2C multiplexer, finally connected to a Raspberry Pi. A string of individually addressable LEDs also connects to the Pi, each indicating the connection status of a port. Finally, four pairs of headphones are available for players to use to listen to messages from the "callers" during the game routine.

The actual construction of the switchboard was completed before I joined the build team, but the game itself had not been programmed, so it fell to me to breathe life into the machine. The biggest challenges were optimizing the code to be able to efficiently tell ports to input and output signals in a timely fashion and finding a workaround to allow the Pi to actually determine which of the four headsets to play the appropriate audio messages on.