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.

Project Dream: Flow Chart & Mid-term project review

Recap of Concept

“Project Dream” explores the gap between unconscious and reality. Our project is a space that recreates the different stages of sleep through various systems. A projection “showing” collected dreams will be played.

First draft:

Flow Chart

Our initial plan included a chair installed in the centre of the room, facing the projection, as a point of action that the user can make.

When the user enters the dark space, the alarms are turned on. The user can choose to sit down, which will trigger the projection to play. The alarms will go off when the specified time has passed and the alarm sounds will trigger the projection and LED lights in the room  to flicker. When the alarms are turned off, the LED lights remain on and the projection is off. No further change in the space would serve as an indication for the viewer to leave.

Mid-term Project Review – BODY STORMING

Recommended Arduino Experiments:
Due to our inexperience with Arduino, we tried 2 experiments from the projects book.

  • Light Theremin: Piezo buzzer is activated by the amount of light received by the photo-resistor. For our review, we switched the buzzer for a LED light to indicate the projection.
  • Digital Hourglass: Sets different timers indicated by LED lights, the breadboard has to be flipped to reset the system (“turning the alarms off”)

Process in midterm project review:
The viewer enters the room and the timers (alarms) of the digital hourglass is triggered. When the user sits down on the chair, the light the photo-resistor receives changes, triggering a projection to play “dreams” [when the LED light of the light theremin project goes off and video is played]. After a certain time passes, the alarms go off [when the LED lights of the digital hourglass turn on] and triggers a response from the projection and lights in the space. When the user turn the alarms off [flipping the breadboard], the system resets.


  • Unpredictability of the user: “What if the viewer does not sit on the chair?”
  • Focus on Narrative – What information or image do you want to present to the viewer?
  • Systems are too complicated – How can you guarantee that the user will follow each action?

– Instead of using a chair as a point of action, we are considering the use of a measure (heart-rate or motion) to trigger the projection.
> for example, if the heart-rate reaches a constant, it will trigger the projection to play
– Instead of a video, we can use text to represent a dream through story-telling.
> Using processing to collect dreams and display them
– Build an alarm system that can be turned off and reset


“Art Should be Felt” is a response against the act of art seen as only an image, especially evident on social media, where works are seen as captured novelty and backdrops. This movement calls for the experiencing of art in its intended and curated spaces, to explore the relationship between art and its space, art and its nature, and art and its viewer. As in Berger’s “Ways of Seeing”, we stand against the reproduction of images of art on a smaller screen to preserve the value of experiencing it.