Hi, I'm Brett.

Safe Crackers

Physical game using Arduino, python audio server

For my final project of Tom Igoe's Physical Computing class I created a safe cracking game. I can't remember when I came up with the idea, but I was thinking about the mechanics of safe cracking and how it might be an interesting interaction for a game. I love the idea of listening in with a stethoscope to hear a clue and then using a dial to test it out. So that's what I set out to create. I made the software platform flexible so I could test out different game ideas and see which one I liked. I exhibited the game at the ITP Winter Show, where hundreds of adults and kids come to see the work we've done in the last semester, so I made a trivia game with different categories, allowing many players of different age groups and backgrounds to participate.


When a player approaches the safe, there are instructions on the screen telling them to turn the dial to select a category and press it in to select. The categories I chose for our show were Science, States & Capitols, Famous Outlaws and Geek Genius. After selecting a category a question would be asked softly from a small speaker inside the safe. The player would then put on the stethoscope and try to find a spot where they could hear the clue. The show being loud added some extra difficulty. Once they hear the clue, they can turn the dial to see the multiple choice options and press in to select. If they answered correctly, "Correct!" would show up on the screen and the dial would blink green. A new question is then displayed. Once the player gets 3 questions right, the safe unlocks to reveal the prize inside.


The safe is made out of 1/8" acrylic in a smoky grey color that lets you see the treasure and electronics inside. I lasercut the box and assembled it with glue on the joints and screws for the hinges. Inside there is a tiny 1.8" screen from Adafruit, a micro servomotor for the locking mechanism and a gutted, powered speaker for the clues. The input is a rotary encoder with an LED embedded to show status messages. Everything is powered by an Arduino Uno microcontroller with just about every pin used. I also had a computer with a custom python audio server communicating with the Arduino and playing the audio clues. This part could very easily be put on a raspberry pi to make the safe standalone.


I was really happy with the results of this project. I got a lot of great feedback from many people who played it and found some things to improve for future versions. For one, the audio was created using a text-to-speech program and made it hard for some people to understand the questions. I also think it would be fun to try and emulate an actual safe where you need to listen to the sounds of the tumbler as you turn the dial in order to crack it. But for the show, it worked well.

Physical Computing Fabrication Arduino Python