Final Project – Project DREAM


Project Documentation 


Table Setup

Space setup
LCD alarm clock

Dream Inventory


Project DREAM evokes the states of rest and disturbance by immersing the viewer in a spatial experience. The choice of the bed within a dark space creates a sense of comfort, where the viewer is isolated from the outside world. Time is given for the viewer to be left alone and projections of collected dreams are played. It allows a sense of rest but at the same time, suspense due to the context of the work. An alarm of certain time is set, without the knowledge of the viewer, for him to be awaken from the state of rest.

This work explores interstice between sleep and reality, revealing the state of mind where rest is disrupted into a state of wakefulness. Collecting dreams and projecting them in real-time was another concept of interactivity we wanted to explore. Viewers have to choice to enter their dream any time, be it for the novelty of reading their own dreams or allowing the subsequent viewers to read theirs. This interactivity changes each experience, though subtle, where each participant contributes to the making of our work.

In project DREAM, there is a difference between the role of the person experiencing our work and the person outside. The viewer has a choice to go into the work or to enter a dream or do both. The viewer experience the work in our space is a pure observer of the experience. However, when the participants decide to enter a dream, there is feedback when it is projected and inputted into our work. Though limited, the work is constantly changing with the intellectual contribution of the viewers. The characteristics of the interface isolates you from the real world of experience but at the same time, evokes familiarity with a bed that is usually as associated with sleeping and rest. The structure of  the interface may seem linear in the experience, where the set alarm will go off after the projection is played, however, there is subtle feedback through the collection and displaying of dreams which creates a continuous chain where the dream of the previous user is viewed by the next.


We were inspired by the work Sea of Time’98 by Tatsuo Miyajima, a site-specific work in a “Kadoya” house on Naoshima island. A water pool is built inside the house and LED devices showing 1-9 are scattered in the water. The “time” on the LED counters were set by local residents.

Sea of Time’98, Tatsuo Miyajima                                        Plastic coated waterproof Light Emitting Diode, IC, Electric wire, Water, FRP Water pool.                                      486 x 577 x 15 cm Site specific commissioned work

We wanted to explore a time-based installation for the viewer to experience the space constructed. In the early stages of our work, we wanted to collect alarm timings from the students who are to be awaken routinely due to their responsibilities. However, we shifted our focus to collecting dreams as we wanted to focus on a singular immersive experience and collecting a constantly updating narrative.

The sense of serenity found in Sea of Time inspired the sense of rest we were trying to create with our work. The concept of collecting dreams was inspired by Marina Abramovic’s Dream House, mentioned in previous OSS posts.


PROCESS – The viewer’s experience

When the viewer enters the space, he is faced with a space with a mattress where he can sit or lie down. Unknown to him, an alarm of  three minutes is set. A blue LCD clock which displays the time and date is within the space. After the door is closed, a projection of an inventory of collected dreams from previous users is projected on the black walls of space, where the text appears letter by letter. After two to three minutes, the alarm is triggered and the LED lights around the room turns on sporadically. The alarm and lights intensify as time passes till it goes off, and the lights are left permanently on, indicating the end of the experience.


How the system works:
Our project consists of two concurrent Arduino systems, one controlling the LCD clock, alarm and LED lights and the other controlling the projection using a light sensor. Processing is also used to collect dreams and for the projection as a response to the viewer entering the space.

LCD Alarm Clock System

Using the above tutorial, I built an alarm clock using the LCD screen with a RTC DS3231 unit. We had some problems with the libraries used, but we figured it out with help from Wen Lei. Initially we wanted to use 4 digit 7 segment displays for our alarm clock but we decided on the LCD display as it could display a larger range of information.  When the code is uploaded, the LCD screen displays ‘sweet dreams…’.

Setup for the LCD clock display

Cecilia connected the LED strips with the system, so that the LED will be triggered when the alarm goes off.

To set an alarm, values of the hour and minutes need to be manually keyed in. This is done in real time after the viewer has entered the space. For the alarm to speed up, the values of delay() is decreased accordingly.

For the LED to be turned on permanently after the alarm goes off, I set a long time interval.


Arduino Light Sensor and Processing

When the door of the room is closed, a light sensor triggers the projection to play. This is done by connecting arduino to processing through a light sensor (  A light sensor is placed at the entrance to sense the light value that will trigger different states of projection. 

The sensorValue() was used to determine the different states, such as door open, door close and when the led lights are flashing when the alarms are triggered.

Processing thus reads the different states, written as 1, 2 and 3 to produce different responses on the projection. We want the projection to play the projection when the door state is 2 (when the door is closed). When the LED lights are turned on by the alarms, the projection should stop.


Processing: Projecting text from an outer source in real-time

Initially, my processing code could only encompass displaying text from a string that has to be keyed into processing and it could not be very long. However, as we intended to collect dreams from our viewers, I decided to have the dreams to be input into a txt file and connected it to processing. This enables the projection to be different and updated with new dreams each time the txt file is updated.

The code takes text from the txt file and displaying it letter by letter on a screen.

By combining this code with the processing code connected to the light sensor, the projection can display the dreams collected in the txt file when the door of the space is closed.

To improve the effect of inputting a text, I tried developing a text input file for the viewers to enter their dreams. With the help of Wen Lei, we tried to save the text input into the txt file but the effect was limited so I decide against it and would have the viewers enter their dreams directly into the txt file.

Dream Inventory
Processing displaying text from txt file


Cecilia and I both worked on the LCD alarm clock, where I was in charge of the LCD screen and Cecilia worked with the LED lights. We both designed and built the setup and space. I worked on the processing with the help of Wen Lei on the light sensor and projection systems. Cecilia worked on initial experiments with sound sensor and heart rate sensor.


The effect of the alarms and lights could have been intensified to create a greater sense of disturbance. We could do this by adding more buzzers or connecting a speaker and installing brighter LED lights. To improve the interactivity in our work, we could add a button so that the viewer can turn the alarm off by themselves.


Project DREAM allowed me to understand how interactive interfaces works and how coding and systems can be used to create an experience. While project DREAM is on a more subtle side of interactivity, the spatial experience created was in line with what we intended at the start of the project. We had problems finding a frame to construct our space, so we decided to build one ourselves and I was glad that we did as it defined the look and experience of our work heavily, Building a setup and its intertwined systems was complicated and difficult and I have learnt a lot about arduino and processing language as tools for interactive art.

Leave a Reply