Memory Foam, 2019

Project Description

Memory Foam is a light and sound installation that aims to portray and explore the interstices of pain and memory through the simple interaction of human and mattress.


To understand this project, we must first explain the technology behind the inspiration for the installation, that is, memory foam mattresses.

Mattresses made from memory foam consist mainly of a material called polyurethane, making  it more viscous and dense compared to ordinary foam mattresses. Memory foam bubbles or cells in the material are open, creating a matrix through which air can pass through its interstices, making way for a body to be embedded into the mattress surface. The higher the density of the foam, the quicker it softens in reaction to heat (e.g from a person), capturing and creating a mould to the warm body within a small period of time. When the body releases, so does the foam, and is recovered to its original shape. For the few short seconds after the pressure is released, it forms an imprint that fades out. Here is a visual to illustrate that effect.

Animated GIF - Find & Share on GIPHY

This phenomenon is interesting to us because, just as quickly as the foam remembers the shape of the hand, just as quickly, it forgets it. In the same vein of thought, we experience pain in small or great amounts, and our brains are built to forget it quickly as a coping mechanism for survival. But do we really forget? When pressure is released from the mattress, its shape returns to normal. Seemingly unmarred on the surface, the wooden frame underneath collapses to accommodate the pressure. The greater the pressure, the greater the collapse.

Thus, we aimed to manifest this sense of unseen collapse through a light and sound installation.

Technical Description

Entering the space, the participant will observe a single bed frame with mattress mounted to one side of the wall and 32 filament lightbulbs on the other. If the participant chooses to touch the mattress, the lightbulbs will light up in response to the amount of surface area and pressure applied. In addition to this, a soundtrack will be triggered by an ultrasonic sensor positioned at the foot of the bed. The set up is illustrated below:

The circuit diagram for both ultrasonic sensor and switches:

Input / Pressure sensitive switch and ultrasonic sensor wired to Arduino and laptop with JBL flip 3

Output / Filament bulbs lighting up and triggering of ambient soundtrack

The royalty free track we used:

It is intended for a single person to engage with the piece at one time but will work with multiple participants concurrently.

Some process pictures of us putting the structure together. It involved drilling, wiring, soldering and heavy manual labour – our fault for choosing to go analogue.

Prototype testing

The chaos behind the structure
Drilling in the bulbs
wiring each circuit
Sawing off the bed legs furiously
Setting sail


We used minim code in processing and arduino together with an ultrasonic distance sensor to trigger the soundtrack.

Testing distance with sour patch kids

Here is the code:


// print distance to serial — hy_sr05
// Ty Seyoum
#define ECHOPIN 2 // Pin to receive echo pulse
#define TRIGPIN 3 // Pin to send trigger pulse
void setup(){
 Serial.begin(9600); //
void loop(){
 digitalWrite(TRIGPIN, LOW); // Set the trigger pin to low for 2uS
 digitalWrite(TRIGPIN, HIGH); // Send a 10uS high to trigger ranging
 digitalWrite(TRIGPIN, LOW); // Send pin low again
 int distance = pulseIn(ECHOPIN, HIGH); // Read in times pulse
 distance= distance/58; // Calculate distance from time of pulse
 delay(200); // Wait 50mS before next ranging

// we set the distance at 50cm
so that when a person is standing
at the foot of the bed, they would
be detected and trigger the player.


import processing.serial.*;
import ddf.minim.*;

Minim minim;
AudioPlayer player;

int lf = 10; // Linefeed in ASCII
String myString = null;
Serial myPort; // The serial port
int sensorValue = 0;

void setup() {
// List all the available serial ports
// Open the port you are using at the rate you want:
myPort = new Serial(this, Serial.list()[7], 9600);
// Throw out the first reading, in case we started reading 
// in the middle of a string from the sender.
myString = myPort.readStringUntil(lf);
myString = null;
// we pass this to Minim so that it can load files from the data directory
minim = new Minim(this);
// loadFile will look in all the same places as loadImage does.
// this means you can find files that are in the data folder and the 
// sketch folder. you can also pass an absolute path, or a URL.
// Change the name of the audio file here and add it by clicking on "Sketch —> Import File"
player = minim.loadFile("foam.mp3"); 


void draw() {
// check if there is something new on the serial port
while (myPort.available() > 0) {
// store the data in myString 
myString = myPort.readStringUntil(lf);
// check if we really have something
if (myString != null) {
myString = myString.trim(); // let's remove whitespace characters
// if we have at least one character...
if(myString.length() > 0) {
println(myString); // print out the data we just received
// if we received a number (e.g. 123) store it in sensorValue, we sill use this to change the background color. 
try {
sensorValue = Integer.parseInt(myString);
// As the range of an analog sensor is between 0 and 1023, we need to 
// convert it in order to use it for the background color brightness
int brightness = (int)map(sensorValue, 0, 1023, 0, 255);
} catch(Exception e){}
if(player.isPlaying() == false){;



player.pause(); // track pauses when person is not detected

player.rewind(); // plays from start when person is detected


Characteristics of Interfaces

Memory Foam falls in between a passive and interactive installation. The audience can control which of the 32 lightbulbs when the sounds are activated, but they are not in control of the type of light or sound that appears. The feedback in this installation is moderate to high as the light and sounds are immediate responses only when activated by the participant. However, there are limited responses to the lights and sound, and they differ only in position.

Flowchart of interaction:

In our project, the user is valued and is responsible for all events as they are the only ones that can activate the light and sounds on the other side of the wall through their interactions with the mattress. This is due to the fact that each space on the mattress activates a different light bulb or sound. The user will be valued no matter how many participants there are at a certain time as each of their interactions trigger a different bulb each time. There is a parallel simulation of their interaction with the light and sound responses in the same positions on the bed, as well as an intuitive selection and result relationship. For the structure of the interface, feedback is provided about the location of each activator and what remains to be interacted with, with an open structure where the audience can play with the different switches through the bed.

Here’s how the class interacted:

Personal Reflections

We shared the role of every aspect equally. Because it was mostly hardware, we did everything together, including soldering, drilling, wiring, painting, sawing, taping together the switches, stringing the net behind the bed, programming and testing the ultrasonic sensor and assembling everything.


This was my first time creating an interactive installation piece and I am happy with how Memory Foam finally came together. With all the late nights together with Melo troubleshooting and organising the wires and switches, I think the work definitely came out the way we intended it to. It was unfortunate we weren’t able to get the distance sensor to work properly for the final presentation. But seeing how different people interacted with it definitely was an interesting sight. There were different ways in which people approached the work with some just touching lightly, to heavy punches or full on massaging of the bed. Witnessing how this interaction unfolded and people’s reactions was definitely the intention we had when we set out on this project and it was a fun experience!


Since the both of us had no actual prior knowledge in arduino or coding whatsoever, we approached this project in the most simplistic, analogue way possible: wiring 32 lightbulb circuits with aluminum switches. Turns out, it wasn’t so simple dealing with tangled wires and the logistical manual labour of putting together such a large structure. We had to tie rope and drill and screw and paint and hand saw and transport the installation. Taken out of context, we often felt like we were castaways building a raft to get home. I guess this was all a good thing because of how much we didn’t know before and we learnt a lot about hardware in the process. Thankfully we had some friends to help with the manual labour.

When it came to the audio, we realised we really couldn’t avoid using the intimidating arduino any longer. With some help of our classmate, Shu, we realised that coding wasn’t that intimidating after all, with all the resources online. The main problem we faced instead, was the unreliability of the arduino every time we unplugged it or turned it on again. Unfortunately, it didn’t work on the presentation day despite working perfectly just a few hours ago. We played the track from a speaker on loop to salvage the situation.

It was really interesting to see how each participant reacted and played with the bulbs and I am glad we chose to place the installation in a little corner, like how interstices are hidden in little corners. Together with the dim lighting, it allowed the participants to fully curl in and drive themselves into the mattress. I especially liked how En Cui pressed the bed in every way possible, sliding and massaging it like a professional. I’m really glad with how it turned out, given how simple the technology behind it is. The effect of the lightbulbs behaved like a pattern and each person’s imprint was unique to them. The project really opened my eyes to the complexities and possibilities of Interactive Media and this new age of art, and I’m grateful to have been part of it.

Expanding from this, we think the panel of lights could be manipulated in many ways, in terms of the type of lightbulb and the number of them. With the right resources, we could even do 500 bulbs and the imprint formed would be even more detailed.

Leave a Reply