Self-Destructing Pizza-Ordering Phone Booth
It is tradition for every Mission Impossible movie to have a mission briefing scene, where a good segment of exposition is dumped onto Agent Ethan Hunt through some regular object apparently living a double life. In the 6 movies so far, we’ve seen sunglasses, a disposable camera, a Russian phone booth, a vinyl player, and a hardcover copy of The Odyssey. Oh, and they all “self-destruct”, leaving behind a cloud of smoke (that makes for fantastic looking shots, especially in movies 3 and 6). For this project, I wanted to build an homage to the phone booth from Ghost Protocol, with my own twist. The goal was to develop a payphone that authenticates a user by their voiceprint, allows them to order a pizza, and then in a puff of smoke, returns to inconspicuousness.
The shell of the payphone is constructed from cardboard with a coat of black acrylic paint, with screws adorning every corner of the front plate. These screws serve no purpose, purely aesthetic. Underneath the keypad (also purposeless, as you will see the method of authentication is slightly different from the key/iris scan combo from Ghost Protocol) is a paper label also just to push the Russian payphone aesthetic. Bit of an Easter egg as to what the words actually signify. The pink telephone is a strict deviation from the style, almost anachronistic from the rest of the payphone, and looks more Austin Powers than Mission Impossible. Looking closely at the top, the zip-tie hinges that allow the front plate to swivel open are visible.
Inside, there is a hodge-podge of electronics that I can justify by stating this project is just in its prototypical stage, as a proof of concept. You get a peek at the components here, notably how the matrix keypad is connected to literally nothing. A 180 degree Servo motor (with a Dixon Ticonderoga pencil for an arm) is zip-tied down to the cardboard, and is what pushes the front plate outwards. An Arduino is used for control of the Servo motor, an RGB LED atop the device indicating authentication status (red light, green light, for Mission Impossible 1 fans), and another essential component of the device: the “vaping” mechanism.
In order to successfully pull off the plume of smoke that emanates from every self-destructing gadget in the IMF’s arsenal, a few components were necessary. First, a cartomizer (obtainable from popular vape pens) contains a heating element that will turn the fog juice into its gaseous state, which acts as the smoke. However, a vape pen relies on human power, suction, to move the gaseous material after it has been released in the cartomizer. We obviously do not have access to that, Ethan Hunt doesn’t suck a plume of smoke out of the payphone and make O rings with it. Instead, we use a small fish pump, as you can see taped to to the cartomizer. This fish pump blows out a minuscule but sufficient amount of air, controllable via the Arduino as a standard DC motor, and will push the gas out through the cartomizer, creating the smoke, and the effect is complete.
In this view, you get a clear look at the user interface once the panel swivels open. A Kindle pointing at a website I have set up is active, with a button for “Pizza Time”. The website is linked to the Domino’s IFTTT applet to allow the user to order a predefined pizza at a predefined location ASAP. Not in this view is the Raspberry Pi, which has several essential functions. It must act as the output for the pink telephone (to play an audio file of the mission at hand), and the input via a small USB microphone (as the 3.5mm jack cannot take audio input on the Raspberry Pi). Connected to WiFi, the Pi will take a sample of the user’s voice as they say the passphrase (in this case, “Apple juice tastes funny after toothpaste”), upload it to Microsoft Azure Cognitive Services via a REST API, and upon a successful response message from Azure, communicate to the Arduino to open the front panel and allow for pizza time. Upon successful pizza ordering on the website, the Raspberry Pi receives a ping to command the Arduino to close the front plate and release the plume of smoke, as the audio plays “This message will self destruct in 5 seconds”.
These are some early sketches of how the prototype could’ve looked and been architected. Notably you see there were plans to incorporate the keypad matrix in the system, as well as get rid of the Arduino entirely and have all the motor control take place onboard the Pi (due to lack of PWM control on the Pi and no utility nearby to give the Pi PWM pins, this idea was shelved). A Nook e-reader was planned instead of a Kindle, until the built-in browser on the Kindle prevailed for the pizza ordering site. Different ideas, involving pivots and counterweights, were explored for the most effective front plate opening mechanism for the device. The simplest one ended up being the one that was employed.
A visual example of the REST API call performed by a Python script on the Raspberry Pi. A WAV audio file is sent to Azure Cognitive Services, which has been trained with ~10 samples of my voice, and a response is returned with the authentication result and confidence of the system in that result.