top of page
  • Writer's pictureGabriella Garcia

ICM/PComp Final update! A phone that pinches time

A quick update of my final project since play testing in PComp on 11/14. I was green-lit to combine my ICM and PComp finals, as I was able to find a physical interaction that completed some missing puzzle pieces in my ICM project proposal; during my presentation, Allison asked how I could make a "ritual space" with my Deep Space Introspection proposal, and one of my project ideas for PComp (specifically the "Phone Message from a Future Self") allowed for a sort of magical experience that could be molded to answer that question.


Final project abstract

The project is called "Voicemail from our Future" and it's essentially a narrative phone tree journey using an old-school push telephone as the interface. The phone would ring based on a distance sensor, and when picked up, would prompt an automated recording starting the narrated interaction. The person is prompted through a keypad menu that gives them options to listen to voice messages from "the future" with each number leading to a different message "theme" ("If you need encouragement, press 1. If you want to hear from a survivor, press 2," etc, probably defined by whatever content I narrate during the production process).


If I achieve this, phase two would give users the option to leave a message at the end to be stored in a file that would bank messages for me to add to the project later.


The smallest project: The phone rings. You pick up. You have two button options (maybe based on timeline messages from forseeable future vs messages from the next era), each button gives you a message based on the theme, and ends the transmission “this has been a message from the future, goodbye.”


Work so far

I started by launching a small campaign requesting some speculative fiction submissions from ITPers. I created a burner number that goes straight to voicemail, which saves messages in a downloadable format. This is what the call looked like

This was the prompt: Imagine you have been given a chance to glimpse a moment of the future, under one condition: you’ll forget everything you saw upon your return to the present, but will be able to leave yourself a short voicemail about the future at this number: 929-350-1096


What would you tell yourself? Did you get the job, the dog, the house? Is it next year? Five years from now? ...500 years? Did we win “the revolution” and bring peace to the world? Or are we living nomadically in a post-catastrophic world? Is everything going to be ok? Are we still on planet earth?


From here I started researching the actual sound elements. I went through a number of tests, first using Tom's music player to turn the numbers on my computer keyboard into DTMF (phone touchtone sounds) thinking that I would then program a 3x4 matrix keypad to serially input toward a tailored version of the music player:

On the Arduino side, I started with programming the pulse distance sensor and two buttons, to get a feel for how those sensors would interact with each other when serially communicating with p5 as such:

From here I tried to mash together Tom's music player with the serial communication with two input labs, but was having trouble getting the DTMF sounds to load on time. With Seho's help, I reapplied one of the preload functions I had originally used for background image changes for ICM into a preload sound array that kept all the tones tidy and readily available as soon as the sketch loaded. This is what the code looks like for a sound (temp fake phone ring) triggered by the distance sensor and two pushbuttons acting as a touch tone "one" and "two" phone keys:

Keypad update:

I had put off figuring out the keypad (which I cut out of an original Cortelco desk phone) as there were 12 buttons but only seven wires. But with the help of the Arduino keypad library (it does an excellent job in walking you through using the ohm reader to figure out which wires are connected to what switches) in addition to outside tutorial help from Circuit Basics I figured the hookup out and started to grok the way it works. Wires are defined by row and column, hence the seven wires for a 3x4 matrix keypad (four rows, three columns).

With the keypad library basic code I was able to hook up the keypad to input, and added the distance sensor to the code as well. When running, the code constantly reads the distance sensor, and is interrupted whenever a keypad button is pressed. This is what it looks like so far.

Today I'm going in on trying to figure out how to make this work with p5. I'm also hoping to figure out the phone hook switch (to stop ringing and start the initial menu experience) and I have to figure out a different way for the keys or pulse sensor to read since they both read 0-9 and that will confuse the p5 code. Big steps here. But here is my rudimentary setup, with "phone hook" pushbutton and distance sensor connected to breadboard, and keypad hooked up directly to the Arduino (currently displayed in it's place in the disassembled Cortelco phone):

I have a lot of work to do for ICM prototype day this Thursday, so fabrication and figuring out using the original phone receiver play second and third fiddle to figuring out the phone tree sound event code.


Extra resources to be posted later for documentation and crediting purposes.


Wish me luck.

bottom of page