Introduction: How to Build a Multi-Touch Surface

Picture of How to Build a Multi-Touch Surface

Multi-touch gestures are the latest and greatest way to interact with your computer.  However, commercial systems are not widely available and are expensive.  Fortunately, you can do it yourself better and for less cost.

Principle components (Click links for product info):
$35 PS3 Eye Camera (Recommended but any decent webcam will work)
$20 IR bandpass filter
$200 5-meter dimmable IR LED Strip
$1000 Any recent/decent computer (PC/MAC)
$1000 Any projector >2000 lumens (NEC NP410W)
$40 Front surface mirror
$80 Abrasion resistant acrylic sheet (23" x 35" x 0.236")
$130 Rear projection acrylic sheet (23" x 35" x 0.118")
$145 EndLighten acrylic sheet (23" x 35" x 0.394")
Total: ~$2500

Software (Click links for downloads):
$free CCV (Used to turn images into blobs)
$free CL-Eye Platform Driver (For PS3 Eye camera)
$free Multi-Touch Vista (Optional Multi-Touch TUIO driver for Windows integration)
$? Windows 7 (Recommended)

Written by Justin Klaassen, Duke University B.S.E. 2012
Sponsored by the Duke Library

Step 1: What Is a Multi-Touch Surface?

Picture of What Is a Multi-Touch Surface?

 A Multi-Touch surface is essentially a giant touch screen that can process multiple touches at once.  And in our case, a virtually unlimited amount of touches.  By allowing multiple touches, gestures can be performed on surface.  These gestures are typically simple things like pinching and pulling on an image to zoom in and out.  By supporting gestures like these interfacing with a computer becomes much more intuitive and fun.  In a public place, a Multi-Touch surface can be a real attention grabber.



Step 2: How Does It Work?

Picture of How Does It Work?

 There are a variety of different technologies that can be used to create a Multi-Touch surface.  All or most surfaces rely on optical based technologies that work using infrared light (IR).  The technology used in this guide is direct surface illumination (DSI) and is explained by the comic below.  The basis for using DSI over other similar technologies is that it allows for a protective abrasion resistant layer to be on top, protecting the delicate under layers from the users touches.  The order of acrylic layers on the surface is as follows:

1) Touch surface (Abrasion resistant acrylic)
2) Diffuser/Projection layer (Rear projection acrylic)
3) EndLighten acrylic

Step 3: Build a Computer

Picture of Build a Computer

 You do not need to build a computer specifically for this project.  In fact, any recent computer with a decent processor and graphics card should work well.  However, if you plan on putting the surface in an enclosure when you are done, then ensure the computer has adequate cooling and minimal thermal dissipation.  Another important factor is the size of the computer, since you want to make sure the computer does not interfere with the camera or projection systems.

Example components used in our rig:
Intel Core i5-660 Clarkdale 3.33 GHz
ASUS P7H55D-M EVO Micro-ATX Motherboard
A-DATA 4GB (2 x 2GB) PC3 12800 Memory
XFX HD-567X-YNFC Radeon HD 5670

Step 4: Modify the Camera

Picture of Modify the Camera

 In order to pick up infrared light the PS3 Eye camera will need to be opened up and modified.  A PS3 Eye camera is used since it is a) cheap and b) supports  a high resolution (640x480) at 60 fps.  This speed and resolution are perfect for a multi-touch surface since they provide the detail needed to pick up small blobs and the speed to make gestures appear smooth.

In order for the PS3 Eye camera to work, the IR filter needs to be removed and an IR bandpass filter needs to be put in its place.  The IR bandpass filter ensures that only the IR light with the utilized wavelength makes it into the system.  Therefore it is important that the IR bandpass filter's centering wavelength matches that of the IR LEDs present in the IR strip used for illuminating the surface.  A video guide created by Peau Productions for modifying the PS3 Eye camera can be found below.

Step 5: Prepare the Acrylic

Picture of Prepare the Acrylic

 The most important acrylic layer is the EndLighten acrylic.  This layer is the one responsible for redirecting the IR light from its sides out the top and bottom surfaces of the acrylic.  Therefore it is necessary to polish the edges of this layer in order to maximize the amount of IR light that can be injected into it.

If it is possible, I recommend laser cutting the EndLighten layer since that will automatically polish the edge to perfection.  If a laser cutter is not an option, then automotive sandpaper will do the trick.  Start with 600 grit (lower if the saw cut is rough) and sand each edge until they are perfectly smooth.  Finish each of the sides with 1000 grit.  Finally, polish the edges with a plastic polish (Brasso will work too).  Notice, the edges will still appear milky at this point, this is normal for EndLighten acrylic.

You do not need to polish the other two layers, and I actually recommend that they remain rough that way no IR light can shine into them.  The rear projection layer should be placed directly on top of the EndLighten layer.  This layer will act as a diffuser for the projector, that way the projector does not simply shine directly though the surface at the user.  The abrasion resistant layer should be placed on top of the rear projection layer.  This layer is important since it protects the other more expensive layers and is the layer that the actual user will be touching.

Step 6: Attach IR Strip

Picture of Attach IR Strip

The IR strip lighting should be wrapped around the edges of the EndLighten acrylic layer.  You should cut the IR strip once you have gone around, since it tends to get pretty hot when left in a coil at the end.  If you are just building a test setup, tape will work fine to adhere the IR strip to the acrylic layer.  Otherwise, I recommend purchasing/building a u-channel frame and adhering the IR strip to the frame.  That way your acrylic layers will be permanently aligned and in one simple unit that you can drop into your enclosure.

Step 7: Alignment, Alignment, Alignment

Picture of Alignment, Alignment, Alignment

The surface at this point is almost complete.  All that remains to do is to setup the projector and camera and align them so that they cover the same area and are not distorted.

First place the projector under the surface, with a slight angle of elevation so it is not projecting onto anything directly in-front / below it.  Next setup the front surface mirror so that it reflects the projector onto the acrylic layers above.  A front surface mirror is a necessity since an ordinary mirror will distort the image reducing the clarity of the image projected onto acrylic surface.  At this point the image will probably look more like a trapezoid, adjust the keystone  on the projector until a perfect rectangle is achieved.  You also may need to move the projector forwards or backwards, or the acrylic layers up and down in order to achieve the image size you desire.

Lastly, position the camera so it faces directly upwards towards the acrylic layers.  The camera should be placed directly in front of the projector under the center of the surface so it can pick up the entire desired area.

Step 8: Calibration and Testing

Picture of Calibration and Testing

 Now that you have everything aligned its time to test out the setup.  Start by connecting the projector and PS3 Eye camera to the computer and connecting everything to power.  Once the computer has started up, install the CL-Eye Platform Driver and CCV.

CCV is an open-source program that processes the IR image picked up by the camera and turns them into blobs (TUIO events).  These events can then be used by programs to allow the user to interact.  Once CCV is up and running, click on the use camera option to begin receiving input from your PS3 Eye camera.  Now experiment by touching the surface and watching to see what blobs are picked up in the Tracked view.  Play with the "Image Threshold" and other settings until the desired blobs are achieved.

Once that is complete, complete the "Calibration" mode in order to map pixels on the projected image to points picked up by the camera.

A complete guide to calibrating and testing your surface can be found here.

Step 9: Package It

Picture of Package It

 At this point you should now have a fully working Multi-Touch surface.  If you are simply building a development environment then you can probably stop here.  But if you are planning on deploying the surface to a production environment, then you will need to have some sort of enclosure.  The enclosure can be designed however you want, but you must ensure that you have the proper angles and space to project the image and to pick up the entire surface on the camera.  Additionally, proper ventilation is essential since the projector and computer can get quite hot in an enclosed space.

I will add additional steps with detailed plans of my enclosure once I have finished building it.

Good luck!

Comments

RongieC (author)2015-04-16

Quick question I have a mac I can do this screen and use it in my mac?

The Life Hacker (author)RongieC2017-08-15

Same here.

LuisD113 (author)2016-09-19

luisdonosolanchipa@gmail.com

TomL81 (author)2016-01-31

I made something simular a few years back using a cardboard box, a glass picture frame, masking tape and a webcam.

murtaza.hasan.7 (author)2015-01-31

i had built a multi touch table brother but i could nt adjust it touch in a proper way .. it is touching symentaniously many areas at a time .. i through out the projector rays with the help of a mirrior .. is it wrong ?

DCFIGHTER (author)2013-12-18

nice build brother
but one following question to this
u said the price and cost for the following Multi-Touch surface would be 2500, can you please suggest the lowest price that i could spend on such a build because firstly i am 17 and secondly i am trying to save as much as i can
Thanks for the detailed instructions also

tinker234 (author)2013-01-28

thanks i loved this article but i had some qusteins how can i set up the software i tried before but i never could get it to work where can i buy acrilec cheaply and with the eprojecter whjat do you do

frankencois (author)2012-07-31

so with the projector, if i were to be using a short throw projector, i would not need a mirror to reflect the image onto the screen, am i right?

jugglinggoalie (author)2012-05-21

Can you tell me approximately how far the camera needs to be away from the top?

servant74 (author)jugglinggoalie2012-07-20

Depends on your camera and lens.

I suggest just set up the camera, point it to a wall with an area marked that is the size of the screen desired marked on the wall. Once you can see all edges of the desired screen clearly, you are the 'right' distance away.

Now measure the distance from the camera to the screen. This is the total distance the camera needs to be.

Use the same way to set up the distance for the projector. It needs to project a clear image over all the usable parts of the display screen. Again measure the total distance from the lens to the screen.

Now you have the right distance for both the projector and camera away from the screen (or top).

lafields86 (author)2012-06-14

I too would like to know the suggested distance the motion camera needs to be from the screen as well. Also is there an easy way to add a second camera or are there any advantages in using the Microsoft Kinect camera?

lrubin28 (author)2012-02-04

Cheapest place for Front Surface Mirror is BostonCraftWorks.com. They charge $39 for a real glass FSM sheet, 16 inches x 20 inches. They sell it for high quality kaleidoscopes although people also use it for things like cameras, copy machines etc. They also sell smaller sheets of acrylic front surface mirror - its about 12" x 12" and it only costs about ten bucks - the only issue for optics is that the acrylic is bendable, so it needs something firm underneath, or you should probably just buy the glass version. The glass version also has a very thin layer of a protectant on it so that it can handle very light cleaning. Normally you want to keep FSM in a sealed environment so it doesn't pick up dust.

lfields1 (author)2012-01-08

I have been looking at the idea of trying to use a mirror to reduce the distance the camera needs to be from the screen. Have you tried this? I can't seem to find anyone that has. I would just do it myself but I am waiting on a computer that can handle multi touch. I have all the components except that.

maewert (author)lfields12012-01-23

I'm considering building this and I happen to have a broken rear projection TV that has a good front-surface mirror. I've seen other designs on the net that used mirrors to get a larger distance but have not done so myself. If you can get a front-surface mirror, then it should work.

jck112 (author)lfields12012-01-09

I have not tried using a mirror, but your best bet is to use a super wide angle lens - such as one of these: http://peauproductions.com/store/index.php?main_page=index&cPath=26_4

sifihog (author)2011-12-27

Is it possible to wire separate LEDs instead of buying a LED reel?

aismail6 (author)2011-09-05

some one please respond? how manny layers of arcylic do i have to use ?

fredbana (author)aismail62011-12-04

three see step 5

thedickmorris (author)2010-10-20

if you were to do an "Open Air" construction, would there be issues with false readings from the camera from other IR sources? Like say on a stage with lots of different colored moving lights?

I have an idea...

It depends on your method, if you use FTIR, not as much. Other methods like DI or DSI, yes

jcksparr0w (author)2011-10-04

do i have to buy the entire reel of ir leds? an entire 5 m/16 ft?

serch (author)2011-07-08

Also I forgot to ask ..

On the website posted for the endlighten acrylic
I found three options:

ACRYLITE® Exotic Edge
Green 6F22 GT

ACRYLITE® EndLighten T
Colorless 0F11 L

ACRYLITE® EndLighten
Colorless 0M02 XL (cast acrylic)

Which one is better or which one is the one that works? The higher the transmission they have the better?

serch (author)2011-07-08

Hello! I know this is project was done about one year ago. However I was wondering if you could help me out. I am trying to make my own table but I have a few questions.

What is the front surface mirror for?
What is the order in which you place the layers?
Did you put the LEDs on all four sides of the EndLighten Acrylic?

From what I understand the Endlighten Acrylic is placed at the bottom. Then the rear projection acrylic, and then the abrasion resistant acrylic. (Also the abrasion resistant acrylic is to protect the other layers from use right? This would be the layer I would touch?). After this I dont know where the surface mirror goes or what is for.

Thank you very much for all your help and this is by far one of the best instructables or instructions for that matter in building a multitouch table.

septamusdave (author)2010-12-07

I was just wondering, would this work with a sheet of glass as the surface layer rather than acrylic, using the rear projection acrylic and endlighten acrylic layers as you have detailed here?

crewlbn (author)septamusdave2011-07-06

I am also wondering if it is possible to use glass sheet instead of an acrylic one? It will work as a table so I would like to make it more resistant for scratches by using glass.

Krišto25 (author)2011-04-13

Can you use plexiglass instead of acrylic sheet?

harry599 (author)2010-09-10

decent pc's are nowhere near $1000, epesily if you build them yourself...

Ankoku92 (author)harry5992011-02-26

if youre smart about your shopping, you can make a pc capable of high end processing/gaming or whatever you need for just over a grand, where as if you'd buy one pre-assembled it'd be upwards of three grand.

jck112 (author)harry5992010-09-10

I don't know if you are saying they are cheaper or more expensive, but $1000 is definitely a good metric for the quality of PC I am describing. Just try it yourself: www.newegg.com

the_prototype (author)jck1122011-01-05

I build my PC for ~600/700€...
It's "High-End" and I can play every single game without lags in Full HD Resolution.
Oh and I uild one time a PC for a friend, it was around 550€ and can to play every game in full hd without any lags.

Just sayin'...

harry599 (author)jck1122010-10-03

if you build them yourself, you are looking at about £450-£800, i recently built a high spc pc with an i7 and 8gb of ddr3 ram for around £600-£700.

madfx (author)2011-02-22

Hi,

I made the table, it's all working, im having problems only with win 7 multitouch driver. I installed it, it's ok, but when i unable my mouse the red point are not moving on the screen, it's stuck. I reinstalled the driver several times but im not getting any result.

could someone help me?

madfx (author)2011-02-10

I'm having problems to find the led strip infra red. I live in brazil, is there any other way to use the infra red led? could i use like 2 or 3 simple led lamp infra red?

multi touch (author)2011-01-17

Was wondering if there is any drawbacks to using a DLP projector, like heat or power consumption. A pros/cons of using either a LED,LCD, or DLP would be nice if anyone has that info.

Excellent info thus far, by the way.

jck112 (author)multi touch2011-01-18

No real cons, you just want to make sure the projector has a high ANSI brightness (>3000 lumens).

the_prototype (author)2011-01-05

I'm sure this will work with any good webcam, won't it?
So why don't just use for exemple a Microsoft Lifecam which you can get for 15€?

ok i saw the older comment where the answer was yes...
A "HD" wecam it is then (for best accuracy) :)

jck112 (author)the_prototype2011-01-06

Higher resolution is better, more frames per second is better. Its usually a tradeoff between those things so we are looking for good resolution (at least 640x480 or similar) and good frames per second (at least 30 - most webcams are only 15).

the_prototype (author)jck1122011-01-06

btw I like your design of the "case" :D
It's ot too big but big enough to store the pc in it so it has only the power cable going out :)
This would be a really great way for stores to get the attention of the people passing by.

DHaworth (author)2010-10-07

So, I got the PS3 Eye camera and the IR filter from Peau Productions. Peau productions says the filter will rest on the camera sensor, so don't screw the screws tight, just snug.
My question is, won't this shift cause the camera to be out of focus?

jck112 (author)DHaworth2010-10-07

The IR filter will refract light coming in, so in the end the image will be in focus.

BDubs (author)2010-08-20

NEC NP410W Projector price went down

soapdude (author)2010-08-20

Could you suggest a projector? Which one did you use? Thanks.

arvindmasti (author)2010-08-05

where can we get those types of acrylic sheets???????

genbli (author)2010-07-13

Hi, I am building a multi-touch surface with IR. It must run under Windows 7 for all standerd application. Wich driver I can used for that? How it works? Please help me! Thanks in addvance

dbasner (author)2010-05-23

 Hi,

I am building a multi-touch table and it seems like you have somehow figured out one of the problems we are having.  How is it that you are only using one front surface mirror? shouldn't the image be flipped, like if you look at text in a mirror?  Do you have software to flip it when it's sent to the projector so when it hits the surface, it is "normal"?  Sorry for all the questions but this would save my club a whole lot of time and frustration trying to angle two mirrors at just the right angle, as well as math trying to figure out how high etc. the mirrors need to be so we have the right projection length.

jck112 (author)dbasner2010-05-23

 Hey,
Most modern projectors have a menu option that enables you to flip the image.  It is probably located under something like "projector orientation" or "projector mode".  Just cycle through the different orientations and modes until you find one that works.  As for positioning the mirrors, trial and error seems to work best.  The angles are so precise that even if you calculate them it will take a lot of fine tuning to actually get the mirrors in the position you want.

Good luck.

dbasner (author)jck1122010-05-23

Thanks for the quick response!

tonwac01 (author)2010-05-09

can u just use any camera; like a webcam?

jck112 (author)tonwac012010-05-09

 Ya you can.  But you want to make sure you can get at least 640x320 at 30fps, otherwise the accuracy/smoothness of the touches will be less than desirable.