Touchscreen project

We are building a rear projection touchscreen hardware/software setup for an art installation. Our group consists of three people: media artist Heidi Tikka, architect Jaakko Pesonen and myself. I will post updates on the stages of the project in this thread.


We did a test setup at Alkovi Gallery. The installation is working adequately. There is still a fine line between making it sensitive enough and keeping noise levels down.


We got two new IR light bars from The Light bars proved to be very powerful. We are looking to improve the setup further by getting a different projection film, that will reflect the IR light less. The film we’ve been looking at is Optitrans which you can order from


We also tested Kinect to see if it would prove better than the IR camera setup we have. Unfortunately Kinect doesn’t see well through the semitransparent film we have on the window. Through a simple window glass it works perfectly. If You want to give it a try, check out Silvio Paganini’s Kinect+Flash+Tuio system:


Here’s a diagram of our setup. Top to bottom:

1. We will have one regular camera monitoring the exterior space behind the window. This tracking will trigger the first level of interaction that should attract users to touch the window.
2. The IR-light source.
3. The IR-camera is positioned in the center of the interaction area to minimize distortion in touch tracking.
4. The projector.
6. Mac mini computer.

At Hand setup.


I’ve added the previously mentioned controls to the Flash project. I’ve set up a settings XML-file that stores initial values for the life span of the cursors (0-1000ms) and the coordinates for a rectangle inside which the cursor interaction is tracked. There’s also a graphic interface layer for adjusting these settings during run time. The tracking area can be adjusted by dragging the blue handles in the corners.

In the image below, the bright white circles are cursors that match the following requirements:
A) Are inside the tracking area.
B) Have existed for the minimum lifespan time.

The big red circle is the average value of the accepted cursors. And the dim white circles are cursors that are ignored. I’m also keeping track of the number of display items for debugging purposes. This is to make sure that cursor objects are being removed from the system as they disappear from the touch surface.

Flash control layer. Click to enlarge.



Further software and physical setup testing. I made a Flash file that uses TUIO OSC communication to listen to the ReacTIVision tracking software. There is still a fine line between getting sufficient tracking versus ending up with too much noise. I’m going to try two different approaches to the problem:

1. Adding a lifetime variable for each cursor object and removing cursors that only exist for a few milliseconds.
2. Since the interaction of the installation won’t be happening on the outer edges of the screen we could also ignore cursor action that occurs far from the center.

Another key revelation was that the IR-light needs to be pointing downwards from above the touch surface. This results in better contrast around the user’s fingers, as the palm of the hand remains in the shadow.


We did some further testing. This time with the ReactTIVision software, a window glass with two different films and an IR-light. The results were promising. With some small tweaking we were able to get tracking results that would seem adequate for the level of interaction that will be required by the final installation.

It’s clear that the film on the window must be attached to the outside. Otherwise the camera will see the user’s entire hand instead of just the fingers. The IR-light proved to be efficient also. I’ll post it’s specs here later. Edit 22.11. I couldn’t find the precise specs for the light, but by the looks of it, it seems to be a PL0038-0-Indoor-Dome-IR-Light-Illuminator.

Test setup at Jaakko's office.



We did some initial testing with the camera and the filter. We tried using the filter with a regular light bulb and an low-energy light-bulb. The low-energy light-bulb produced hardly any IR frequencies, where as the old fashioned light bulb proved to work as a decent IR light source with the IR pass filter in front of it.


I got the IR pass filter from Partco. We need a small piece of it for the camera. It blocks all visible light and only lets infra red light in, so we can remove all interfering ambient light from the installation. I will use the rest of the filter to build an IR light source.

IR pass filter.

I used the Fire-i camera’s lens cap as a mount for the IR filter film. I cut out the plastic from the base of the lens cap, and glued a small piece of the filter on it. As You cut the filter film, be careful. It’s thick and hard so it cracks easily.

Screenshot from the camera with the IR filter in place.

Camera with the filter in place.


I just received the camera we’ll be using. It’s a Unibrain B/W Fire-i Board Camera. The black and white camera is supposed to be more sensitive to IR light then the color version. We chose the 4.3mm Standard Lens (no IR coating) lens to go with it based on the size of the screen and the distance of our projection unit.

Screenshot from the camera. The bright spot is a TV remote I used for a quick IR light test.

Camera parts as delivered.

Assembled camera.