<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8537449179909394502</id><updated>2008-07-03T14:59:04.834-07:00</updated><title type='text'>Bridger's Multi-touch</title><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-1856031029243396533</id><published>2008-06-21T21:34:00.000-07:00</published><updated>2008-06-22T22:01:03.317-07:00</updated><title type='text'>Rocky Mountain Voices Podcast</title><content type='html'>I have begun working on another multi-touch table, this time for the &lt;a href="http://spacecamputah.org/"&gt;Christa McAuliffe Space Education Center&lt;/a&gt; in Pleasant Grove, Utah. It will be be an awesome addition to the DSS Magellan. I will be posting more on that later. Until then, I have some great new video to post. &lt;a href="http://www.rockymountainvoices.com/blog/"&gt;Rocky Mountain Voices&lt;/a&gt;' Brad Baldwin interviewed me and make a great video podcast about my project. It is very well done, and I would like to say thank you to Rocky Mountain Voices! Here is the video:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;file=http%3A%2F%2Frockymountainvoices%2Eblip%2Etv%2Frss%2Fflash%2F%3Freferrer%3Drockymountainvoices%2Eblip%2Etv&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" width="400" height="255" allowfullscreen="true" id="showplayer"&gt;&lt;param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;file=http%3A%2F%2Frockymountainvoices%2Eblip%2Etv%2Frss%2Fflash%2F%3Freferrer%3Drockymountainvoices%2Eblip%2Etv&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" /&gt;&lt;param name="quality" value="best" /&gt;&lt;embed src="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;file=http%3A%2F%2Frockymountainvoices%2Eblip%2Etv%2Frss%2Fflash%2F%3Freferrer%3Drockymountainvoices%2Eblip%2Etv&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" quality="best" width="400" height="255" name="showplayer" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/06/rocky-mountain-voices-podcast.html' title='Rocky Mountain Voices Podcast'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=1856031029243396533' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/1856031029243396533'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/1856031029243396533'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-2951491387399245389</id><published>2008-06-11T20:18:00.000-07:00</published><updated>2008-06-11T20:35:29.050-07:00</updated><title type='text'>See My Project on KSL</title><content type='html'>A few weeks ago (or more) Ars Technica did an &lt;a href="http://arstechnica.com/journals/apple.ars/2008/05/06/17-year-old-creates-impressive-mac-os-x-multi-touch-table"&gt;article&lt;/a&gt; on my multi-touch table. Because of that, KSL, a local news station, caught wind of my project and offered to interview me for the evening news. It took a while to get it all scheduled, because my multi-touch table was in Altanta for the science fair, but on May 30th the interview ran. They have some video of the table running. You can see it &lt;a href="http://www.ksl.com/?nid=148&amp;amp;sid=3426776"&gt;here&lt;/a&gt;. Thanks KSL!&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://multitouch.fieryferret.com/pictures/KSL/KSL-1.png" border="0" alt="" /&gt;&lt;br /&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://multitouch.fieryferret.com/pictures/KSL/KSL-2.png" border="0" alt="" /&gt;&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/06/see-my-project-on-ksl.html' title='See My Project on KSL'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=2951491387399245389' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2951491387399245389'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2951491387399245389'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-9081620841362997926</id><published>2008-06-04T01:41:00.000-07:00</published><updated>2008-06-04T01:50:44.122-07:00</updated><title type='text'>iPhone Version of Lumen</title><content type='html'>In other news, I have finished the iPhone version of my shareware puzzle game, Lumen. You can see the new video and get all of the details on the &lt;a href="http://fieryferret.com/lumen/lumen.html"&gt;Lumen page&lt;/a&gt;. Of course, YouTube doesn't do the new interface justice, so here is a screenshot:&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;" src="http://multitouch.fieryferret.com/pictures/Lumen/Lumen%20-%20Gameboard.png" alt="The new iPhone interface" /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/06/iphone-version-of-lumen.html' title='iPhone Version of Lumen'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=9081620841362997926' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/9081620841362997926'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/9081620841362997926'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-276893981104486497</id><published>2008-05-20T23:25:00.000-07:00</published><updated>2008-05-21T00:08:25.558-07:00</updated><title type='text'>Source Code Published</title><content type='html'>I have posted the source code for Corkboard, my multi-touch application for browsing xkcd comics. This, of course, also includes the source for my Objective-C framework for receiving TUIO messages. It is still a little hard-coded for my setup in a few places, but I would be happy to help anybody get it running on their computer. You can find the source and a compiled download at &lt;a href="http://code.google.com/p/corkboard/"&gt;http://code.google.com/p/corkboard/&lt;/a&gt;. This is my first Objective-C program, and first time hosting a project on Google Code, so lets hope nothing is missing.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/05/source-code-published.html' title='Source Code Published'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=276893981104486497' title='6 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/276893981104486497'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/276893981104486497'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-2380523773920977405</id><published>2008-05-18T17:14:00.000-07:00</published><updated>2008-05-20T23:24:08.734-07:00</updated><title type='text'>ISEF Results</title><content type='html'>Well, ISEF was an awesome trip. I had a great time meeting new people and sightseeing around Atlanta. The fact that the trip was 100% expense paid sure didn't hurt either. The projects there were so amazing I felt it would be extremely lucky to place at all. Saying that, I was overjoyed to hear that I placed fourth in the Computer Science category. The prize money of $500 isn't going to put me through college, but free money should never be complained about. Unfortunately, I did not win any "special awards" from other organizations. I guess I will just have to try again next year.  :P&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For those of you who are curious, a complete list of the winners is available &lt;a href="http://sciserv.org/isef/results/grnd2008.pdf"&gt;here&lt;/a&gt;.&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/05/isef-results.html' title='ISEF Results'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=2380523773920977405' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2380523773920977405'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2380523773920977405'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-2696607305328002898</id><published>2008-05-09T01:01:00.000-07:00</published><updated>2008-05-09T01:30:55.690-07:00</updated><title type='text'>ISEF Is Next Week!</title><content type='html'>I have mentioned on this blog that my multi-touch screen was for a science fair project. What I have not revealed is how well it has done so far. Lucky for all of you, I have a nice story to go with each level of competition.&lt;br /&gt;&lt;br /&gt;First was my school fair. Unfortunately, my high school, Utah County Academy of Sciences, was not planning on holding a science fair. The other local high schools were not so keen on letting me enter the fair through their school, mostly because my tax money was not with them. Luckily my biology teacher and friend, Angel Busath, was willing to organize a school fair entirely for one contestant. Needless to say, I took first place at that level.&lt;br /&gt;&lt;br /&gt;The next level of competition was district. There was a special district fair for all of us charter school misfits who were not allowed to enter with their local school districts. To my utter despair, I did not win at that level. Or at least they didn't announce my name in the awards ceremony. Don't worry though, after a night and a day of heart-crushing defeat and telling everyone I lost, I was informed that I actually made the top three and would be advancing. Whew. I still haven't receive my medal though...&lt;br /&gt;&lt;br /&gt;My regional fair was the Central Utah Science and Engineering Fair held by Brigham Young University. This was also where I would be judged for a $10,000 scholarship given out by Symantec for projects which used software written by the contestants. This scholarship was my primary motivation for entering the science fair. Between the judging and the science fair the contestants were allowed to go home and take a break. Well, it had been a long day and I fell asleep, waking up at about 5 minutes after the awards ceremony started. Woops. Luckily, I did not miss the announcement of any of the awards I received. I received recognition from the US Army (no cash!?), a year tuition at the College of Eastern Utah, and third place for the Symantec scholarship. Yep, third. And an external hard drive as a consolation prize to the $10,000. Don't panic though, it turns out happy after all. In addition to the other awards I mentioned, I also won first place in the engineering category and *drumroll* an all-expense-paid trip to Atlanta, Georgia to compete in the Intel International Science and Engineering Fair (ISEF)! Only six people at CUSEF were given this opportunity, so I was very excited to be going. Besides that, I get to miss a week of school testing!&lt;br /&gt;&lt;br /&gt;ISEF is next week, and I will be leaving on Sunday, May 11th. I will post back here with the results after the fair. Who knows, I might even win something. Also, this is why I don't have a video yet. You see, I had to ship my table off to Georgia a few weeks ago, so I haven't been able to get video of it. Never fear though, it is coming.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/05/isef-is-next-week.html' title='ISEF Is Next Week!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=2696607305328002898' title='8 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2696607305328002898'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2696607305328002898'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-8268599746306139149</id><published>2008-05-01T22:46:00.000-07:00</published><updated>2008-05-02T11:41:55.515-07:00</updated><title type='text'>Creating a New FTIR Frame</title><content type='html'>To be honest, &lt;a href="http://multitouch.fieryferret.com/2008/03/creating-ftir-frame.html"&gt;my first FTIR frame&lt;/a&gt; was quite hacked together and only yielded mediocre results. The design of using the U-shaped "foobar" thing was fatally flawed in a few different ways. Firstly, the U wasn't deep enough to hold my LEDs, so they stuck out. Because of this, the acrylic wasn't actually supported by the frame, but was kinda balanced there using tape and vinyl. The coupling of the LEDs were really terrible too, some of them were not even pointing into the acrylic. Once it was all put together, it was a pain to disassemble if something broke, as shown by my experience the night before regional science fair. Even the actual slab of acrylic had its problems. It already had some scratches, and the edges were never as polished as I would have liked, no matter how long I spent with a sander. It was time to start over.&lt;br /&gt;&lt;br /&gt;I started by picking out some new LEDs. I &lt;a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=ADME:B:EOIBSAA:US:11&amp;amp;Item=250210584816"&gt;found some&lt;/a&gt; on eBay that were triple chip. They looked great, if not a little large, and the price was reasonable. When they arrived, I was very surprised. They were so bright they were practically like flashlights!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1951.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1951.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1949.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1949.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Note, these pictures were taken with a regular camera WITH an IR filter. The IR light is just so bright it is not completely blocked. Without an IR filter the picture is simply whitewashed.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Because of the large form factor of these LEDs, my acrylic needed to much thicker than before to make sure IR light is not escaping over the top and bottom of the acrylic. My brother, who owns a sign store offered to help me buy some acrylic through his connections. I could get a .47" thick piece for around $30. Best of all though, the acrylic would come pre-polished! When it arrived I was very careful not to remove the paper covering until the last possible moment, to prevent scratches. Also, I want everyone to know that it is not easy to photograph something transparent.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1913.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1913.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1923.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1923.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Notice how you can see my fingers through the acrylic. The polish is actually a lot clearer when seen with human eyes.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now here was the big problem, how to hold the LEDs up to the edges of the acrylic? My friend helped me come up with a great (albeit simple) approach which worked wonderfully. I bought some 3/4" x 3/4" wood boards and routed out a groove .47" wide and 1/8" deep to fit the acrylic into. This would be "frame" of my FTIR frame.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1916.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1916.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Before I actually assembled the frame I measured every two inches and drilled holes for my LEDs to fit into, right up against the edge of the acrylic. Tip: Do not do this in your room, the wood shavings get messy on carpet.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1924.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1924.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1925.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1925.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then I assembled the four edges into one frame.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1927.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1927.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My first attempt at designing a circuit to power all of these LEDs was somewhat unfortunate. There was 28 LEDs. I wired them up with 4 parallel circuits of 7 LEDs, along with a resistor to drop the leftover voltage. What I forgot to figure in was the amount of power dissipated by each resistor, which ended up being over 1/2 watt for a 1/4 watt resistor. Needless to say, the resistors started getting pretty hot. I rethought my circuit and re-soldered everything into two circuits of 10 and one of 8. This worked much better.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1940.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/100_1940.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When everything was all turned on the FTIR frame was &lt;span style="font-style: italic;"&gt;very&lt;/span&gt; bright (to my IR cam anyway). Here are a few pics taken from my webcam with no IR filter (or autofocus).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/Picture%201.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/Picture%201.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/Picture%202.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/Picture%202.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;While the above photos show how bright the LEDs were, I was still unsure how well the FTIR would work with such big LEDs or thick acrylic. I was very pleased to see that the improvement was dramatic. The following pictures are comparisons of my old FTIR frame to my new FTIR frame. They were all taken by my new camera which has four layers of photonegative as the IR filter.&lt;br /&gt;&lt;/div&gt;&lt;table style="width: 400px; height: 529px; text-align: left; margin-left: auto; margin-right: auto;" summary="" cellspacing="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;Old Frame - Hard Contact&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Hard.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Hard.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;New Frame - Hard Contact&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Hard.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Hard.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;Old Frame - Zero-Force Contact&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Light.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Light.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;New Frame - Zero-Force Contact&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Light.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Light.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;Old Frame - Drag&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Drag.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/OldFrame-Drag.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="width: 50%;" valign="top"&gt;&lt;div style="text-align: center;"&gt;New Frame - Drag&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Drag.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 160px;" src="http://multitouch.fieryferret.com/pictures/New%20FTIR%20Frame/NewFrame-Drag.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;As shown by the above pictures, the blobs created by the new FTIR frame are vastly improved, especially for light touches and quick movements. The improvement is directly reflected in the performance of the multi-touch table. Before, users would need to use a lot of force with the largest part of their finger pads while moving very deliberately to get the touch to register. Now a natural gesture with normal force works just as well.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/05/creating-new-ftir-frame.html' title='Creating a New FTIR Frame'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=8268599746306139149' title='13 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8268599746306139149'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8268599746306139149'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-1847635068997487465</id><published>2008-05-01T13:29:00.000-07:00</published><updated>2008-05-11T01:36:15.965-07:00</updated><title type='text'>Buying a New Webcam</title><content type='html'>After experimenting around with my first table revision, I realized that my camera had to go. It was a USB 1.0 connection, and the delay was pretty much unbearable. From the nuigroup forums, it looked like there was two firewire cameras that were commonly used for multi-touch projects. There is the &lt;a href="http://www.unibrain.com/products/visionimg/Fire_i_DC.htm"&gt;Unibrain Fire-i™&lt;/a&gt; which runs for about $120 and the &lt;span class="SMALL-TITLE-NO-BOLD"&gt;&lt;a href="http://www.ptgrey.com/products/fireflymv/index.asp"&gt;Firefly&lt;sup&gt;®&lt;/sup&gt; MV&lt;/a&gt; for about $300. I got the Unibrain Fire-i. Now that the USB 1.0 is gone and replaced by firewire the delay is almost unnoticeable. Another plus to the Unibrain Fire-i is that it worked on OS X without the Macam driver. It certainly was more expensive, but the upgrade was much needed. If anyone else is interested, I would definitely recommend this camera, but be warned that the lens comes with an infrared block coating that cannot be removed without damaging the lens. I ended up buying a replacement lens, being really careful to note that it did not block IR.&lt;br /&gt;&lt;/span&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/05/buying-new-webcam.html' title='Buying a New Webcam'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=1847635068997487465' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/1847635068997487465'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/1847635068997487465'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-3475558819415303146</id><published>2008-04-17T21:45:00.000-07:00</published><updated>2008-05-01T17:32:22.817-07:00</updated><title type='text'>The Finished Table</title><content type='html'>My first table prototype is finished! Here is a picture of the table after I got it wrapped in vinyl:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Finished/Multitouch%20table.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Finished/Multitouch%20table.png" alt="" border="0" /&gt;&lt;/a&gt;I would have a better picture of it in action, with the application running, but the backlight is still pretty terrible and the pictures turned out pretty bad.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/04/finished-table.html' title='The Finished Table'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=3475558819415303146' title='3 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/3475558819415303146'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/3475558819415303146'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-4702676952141976182</id><published>2008-04-17T20:52:00.000-07:00</published><updated>2008-05-01T22:42:44.991-07:00</updated><title type='text'>Disaster Strikes!</title><content type='html'>So this whole project was created for science fair. The night before the Central Utah Science and Engineering Fair, my table decided to stop working. The blobs of light were significantly dimmer, and were not bright enough to be picked up by OpenTouch. After some investigation, I found that half of the LEDs were not lit. This was because I had all of my LEDs in two parallel circuits, so one blown out LED will take them all out. Hopefully, only one LED would be blown.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Taking the frame apart to replace the LED was not going to be a simple task. Everything was covered in black vinyl and electrical tape, and it would be difficult to remove any strip of LEDs without messing everything up, but it had to be done. After about an hour of taking things apart and looking for anything out of the ordinary, I finally tracked down the broken LED and replaced it.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Disaster/100_1893.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Disaster/100_1893.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;My FTIR Frame, Partially Disassembled :(&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Disaster/100_1894.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Disaster/100_1894.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Here is the Culprit. If you look closely, you can see the burned out look that gave it away.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;While it was already torn apart, I decided to try and improve my FTIR frame. Three sides of my plexiglass had LEDs, but the fourth side was left bare and was releasing a lot of infrared light. I fashioned some reflective tape out of tinfoil, spray adhesive, and clear masking tape. Although it was probably due to the late hour, I felt like MacGyver at this point.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Disaster/100_1899.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Disaster/100_1899.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I then applied this reflective tape to the top edge of my plexiglass and reassembled my FTIR frame.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Disaster/100_1901.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Disaster/100_1901.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Disaster/100_1900.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Disaster/100_1900.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fortunately, when everything was restored, the FTIR frame actually gave brighter blobs than before! I only lost two hours of sleep...&lt;/div&gt;&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/04/disaster-strikes.html' title='Disaster Strikes!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=4702676952141976182' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/4702676952141976182'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/4702676952141976182'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-2811055031420661361</id><published>2008-03-26T12:22:00.000-07:00</published><updated>2008-04-17T23:02:12.324-07:00</updated><title type='text'>Creating Multi-touch Software</title><content type='html'>Currently, homebrew multi-touch systems are mostly limited to Windows based systems. To make sure that multi-touch systems would be available to people on all platforms (and so I wouldn't have to muck about on a Windows box), I decided to create my multi-touch software for OS X. OS X was also my choice for multi-touch application development because of the frameworks available to developers, especially Core Animation. Core Animation is a framework for creating rich animations quickly and easily.&lt;br /&gt;&lt;br /&gt;There are several components to a multi-touch software system. First, there must be a program to detect the blobs of light from the IR camera and relay the information about the touches to other programs. Then there must be a way to receive that touch information and interpret it into events such as a click, drag, pinch, or rotation.&lt;br /&gt;&lt;br /&gt;I do not know much about image processing, so I was very glad to find there was a solution for OS X already out there. OpenTouch is an application written for Google Summer of Code 2007 by PawelSolyga that detects blobs of light from a camera input, and transmits the touch information by sending network messages to the localhost. Although OpenTouch isn't as mature as TouchLib, its Windows-only brother, it was far enough along that I used it.&lt;br /&gt;&lt;br /&gt;Both OpenTouch and TouchLib send the touch data to other applications by sending Tangible User Interface Object (TUIO) network messages. TUIO is a protocol that is designed for transmitting the state of multi-touch systems. TUIO is built upon another protocol, Open Sound Control (OSC). While libraries for receiving TUIO messages are available in a few languages such as C++ or Java, there was not a solution for Cocoa applications. My first step was to build a library for receiving TUIO messages in Cocoa.&lt;br /&gt;&lt;br /&gt;Because TUIO is built upon OSC, I looked for a library that could parse OSC messages. Unfortunately, I could not find one that would fill all my needs. WSOSC was a library that came close though. There were a few issues to work around (use NSData instead of NSString), but eventually I was able to use WSOSC to parse the OSC packets. When finished, my framework had the ability to parse TUIO messages and had a method to delegate the TUIOCursor objects it created to another application.&lt;br /&gt;&lt;br /&gt;For the user interface I started by subclassing Core Animation's basic component, CALayer. I added methods to handle TUIOCursor objects, and automatically scale, rotate, or change position. I prototyped a few variants of this class to make objects that could contain pictures or video clips when dragged onto the screen from Finder. However, dragging on each individual file was an inconvenient way to get media onto my application. I needed a way to access media very quickly.&lt;br /&gt;&lt;br /&gt;An image browser is an obvious application for multi-touch devices. However, I didn't want pictures of other people's kids all over my multi-touch table (not to mention that would break science fair rules). Instead, I decided to make an application to browse my favorite comics, xkcd. XKCD comics are released under the creative commons license, so I wouldn't need to worry about breaking copyright law either. As icing on the cake, there were transcriptions of most xkcd comics on OhNoRobot.com, which make searching for the comics very possible. I quickly whipped up a program in Revolution to download the comics and store their associated transcripts in an SQLite database. As an added feature, I also added the ability to tag the comics, so I could mark the comics that use profanity and choose not to show those for science fair. (This program is available for download for &lt;a href="http://fieryferret.com/downloads/xkcd_Review.zip"&gt;Windows&lt;/a&gt; and &lt;a href="http://fieryferret.com/downloads/xkcd_Review.dmg"&gt;Mac&lt;/a&gt; if you want to try it out)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Software/xkcd%20Review.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Software/xkcd%20Review.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once I had all the comics and transcripts, creating an application that could search for and display these comics in multi-touch enabled Core Animation layers was only a few solid nights of coding away.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://multitouch.fieryferret.com/pictures/Software/Multitouch%20software.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Software/Multitouch%20software.png" alt="" border="0" /&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/creating-multi-touch-software.html' title='Creating Multi-touch Software'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=2811055031420661361' title='5 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2811055031420661361'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/2811055031420661361'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-8751994320861585176</id><published>2008-03-22T20:48:00.000-07:00</published><updated>2008-04-17T22:35:37.690-07:00</updated><title type='text'>Making a Backlight</title><content type='html'>As I said before, the LCD screen on my MT table does not let off its own light. It needs to be backlit for the images to be seen. To date, I haven't found a very good way to backlight my table, but here is what I have tried so far.&lt;br /&gt;&lt;br /&gt;For my first attempt, I tried to use the original backlight of the LCD monitor. The backlight from the monitor included two light sources, one on the left and one on the right, each on containing two extremely thin fluorescent bulbs. These two light sources shined into the sides of a piece of glass about 3/8" thick. This glass was frosted with a grid of ridges. I believe the backlight actually used FTIR to get a nice even light across the screen. As the light was shined inside the glass, the ridges on the back of the glass would disrupt it so the light came out of the glass evenly across the entire frame.&lt;br /&gt;&lt;a id="kmu_" href="http://multitouch.fieryferret.com/pictures/Backlight/100_1885.JPG"&gt;&lt;img id="lnu9" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Backlight/100_1885.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I hooked these lights and glass up to my table under the LCD panel using some mirror clips and plenty of duct tape. While this created a good backlight, it had a few problems. The first problem is that the frosted glass blurred my infrared blobs quite a bit. Also, having the light source above the camera introduced a lot of infrared light that the camera could see, which further obscured my blobs. The final problem was that the fluorescent bulbs were extremely thin, and many of them broke during my assembly. In the end, I removed this backlight setup.&lt;br /&gt;&lt;br /&gt;My second try at a backlight was just a simple lightbulb installed at the bottom of the table, near my camera. This didn't look nearly as good as my first approach. I found the light from the light bulb was more yellow, causing discoloration of the image. The light was also not as bright, and less evenly distributed. The blob tracking was also adversely affected by this backlight. The lightbulb flooded the area with too much infrared light, even though I had used a fluorescent bulb, which gives off less heat and infrared than incandescent bulbs. This drowned out the blobs of light of my finger touches, and illuminated parts of the screen that caused extraneous blob detection.&lt;br /&gt;&lt;br /&gt;My third try at a backlight is my current revision. I bought two under counter fluorescent bulbs and attached them at either side of the LCD panel, under the tabletop. This caused brighter illumination at the sides of the screen, because there was no diffuser like in the first backlight setup. I tried to fix this by attaching tin-foil reflectors to direct the light, but they didn't have a noticeable affect. The illumination is sufficient though. These bulbs also let off extra IR light, but by moving the camera closer to the LCD panel, so it doesn't pick up the light bulbs, I was able to negate a lot of this effect. I also covered anything that would reflect the light bulb's infrared light with black electrical tape, so they would not reflect light.&lt;br /&gt;While my current backlight serves its functions, I believe that there are serious improvements to be made. I will continue working on that...</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/making-backlight.html' title='Making a Backlight'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=8751994320861585176' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8751994320861585176'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8751994320861585176'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-323219026756464174</id><published>2008-03-21T14:47:00.000-07:00</published><updated>2008-04-17T22:36:41.218-07:00</updated><title type='text'>Creating the FTIR Frame</title><content type='html'>A central piece to my multi-touch table is the FTIR frame. This is simply a piece of acrylic with surrounded by IR LEDs shining into its sides. Finding suitable IR LEDs was a task. For good advice on which LEDs have been used successfully, search around and ask questions on the NUI Group forums.&lt;br /&gt;&lt;br /&gt; &lt;div id="z_wu"&gt;My initial plan on wiring up the IR LEDs was to use take apart LED Christmas lights from the store, and replace the LEDs with IR LEDs. This way, I wouldn't need to deal with designing the circuit, and the wires would be nice and neat. While the plan sounded good in practice, it did not work out so well. I wasn't able to find any LED Christmas lights, despite the fact that it was only days after Christmas. Finally, I was able to get a hold of net-style lights. With a little modding, they were almost like regular string lights. I found a suitable IR LED with the same specs and ordered them from Mouser Electronics. In my haste though, I hadn't checked all the stats completely. The lights I ordered were not nearly bright enough, only 20 mW/sr instead of the recommended 100 mW/sr. They came anyway, and I paid for them. Perhaps someday I will find a use for them.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="v-nf"&gt;After doing more research, I found better LEDs. The &lt;a id="gk.z" href="http://www.mouser.com/Search/ProductDetail.aspx?R=LI521virtualkey61510000virtualkey889-LI521"&gt;LI521 IR LEDs from Mouser Electronics&lt;/a&gt;, with a radiant intensity of 80-120 mW/sr, sounded perfect. A little more expensive than my first order though. I went ahead and ordered 30 of them.&lt;br /&gt;&lt;a id="sggz" href="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1888.jpg"&gt;&lt;img id="q6_2" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1888.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="m0sh"&gt;My acrylic I simply picked up from a local hardware store. It was 1/4" thick (or so it said, it is actually a bit thinner). I then cut the acrylic to be about an inch bigger than my LCD panel on every side. To maximize the amount of IR light that enters the acrylic, it is important that the sides of the acrylic are highly polished. This actually turned out to be one of the hardest parts of the multi-touch project, as sanding can take a lot of time. I used varying grits of sand paper, up to about 600, polished the sides with Brasso, and then ran the acrylic over a flame from my stove to get it very shiny. The edges needed to be shiny enough you could see colors that are on the other side of the acrylic. Once again, look on NUI Group for tips on how to get acrylic polished.&lt;br /&gt; &lt;br /&gt; &lt;/div&gt;&lt;div id="mw56"&gt;I wired up my LEDs by cutting thin strips of prototyping board, and then using wire wraps on the opposite side to connect the leads. I then covered the exposed wires with electrical tape. It wasn't a very clean-cut solution, but it worked, and it didn't take too long. If I were to do this again, I would print a circuit board and solder to attach the LEDs. Although I ordered 30 LEDs, I only wired up 20 of them. They would cover three sides of the acrylic, and be space about 1.5" apart.&lt;br /&gt;&lt;a id="sp-i" href="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1880.JPG"&gt;&lt;img id="o_e:" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1880.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="v9ea"&gt;To hold the strips of LEDs to the sides of the acrylic, I constructed a frame. The frame's sides were made of a three sided u-shaped metal thingy. Obviously, I have no idea what to call it, so from now on we shall call this metal phenomenon a foobar. Here is a picture of the part that I find so difficult to name:&lt;br /&gt;&lt;a id="l7nh" href="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1883.JPG"&gt;&lt;img id="dzmh" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1883.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The foobar is deep enough that the LEDs board can with within it. I constructed a frame out of the foobar so that the inside edge of the frame would be the same size as my acrylic. I then put the LED boards inside three sides of the frame, and put in the acrylic. I used plastic insulation strips to hold the acrylic at the right height for the LEDs to be shining directly into the edges. I used electrical tape to seal the gap between the acrylic and the edge of the foobar, so that IR light was not shining above and under the acrylic, otherwise the camera would see my fingers before they made contact with the acrylic.&lt;br /&gt;&lt;a id="d.du" href="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1881.JPG"&gt;&lt;img id="ehy4" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/100_1881.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="aujf"&gt;With all of that done, I could attach it to the table! Here is an infrared picture of the FTIR frame on the MT table.&lt;/div&gt;&lt;div id="um6l"&gt;&lt;a id="jeek" href="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/Picture%205.jpg"&gt;&lt;img id="dzbp" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/FTIR%20Frame/Picture%205.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/creating-ftir-frame.html' title='Creating the FTIR Frame'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=323219026756464174' title='2 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/323219026756464174'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/323219026756464174'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-687845871475330914</id><published>2008-03-20T20:26:00.001-07:00</published><updated>2008-04-17T22:37:20.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-touch'/><category scheme='http://www.blogger.com/atom/ns#' term='construction'/><title type='text'>Making My Table's Body</title><content type='html'>After my LCD screen was taken apart it was pretty much useless until I got a new way to mount it, so I created my table's body next. I figured my camera could see my whole screen area from about two feet away, so that is how big my table was going to be. To make sure I got all my measurements right I first made a model in Google SketchUp. It was my first time using said program, but it was extremely easy to use. Here is my first draft.&lt;br /&gt;&lt;div id="c5yv" style="text-align: center;"&gt;&lt;a id="vai0" href="http://multitouch.fieryferret.com/pictures/Table%20Construction/Design1.png"&gt;&lt;img id="cyev" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Table%20Construction/Design1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;I really liked this first design, but it wasn't very realistic. First, it wasn't two feet tall. Second, the table would need walls, so the backlight wouldn't be shining all over the place. Third, I don't own a Mac Mini.&lt;br /&gt;So I went back to the drawing board. This time I didn't do all the fancy textures though, as they were really starting to tax my poor little MacBook by the end of the first model. The second model is not nearly as cool looking, but I was able to incorporate the slanted tabletop. I like that. Here is the second (and final) try:&lt;br /&gt;&lt;div id="q0wr" style="text-align: center;"&gt;&lt;a id="qa-q" href="http://multitouch.fieryferret.com/pictures/Table%20Construction/Design2.png"&gt;&lt;img id="omh6" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Table%20Construction/Design2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;First I made the tabletop. It was made out of a piece of leftover PVC from my brother's store, Signs By Tomorrow. We cut out a hole 1/8" smaller than my LCD panel. Then I used a Dremmel to carve out a little ledge for my LCD panel to sit on flush with the table's surface. To make the little crook in the tabletop we sawed a short line about 3/4 of the way through the panel and then bent it.&lt;br /&gt;I have never done any woodworking (besides making a few things out of balsa wood for the sole purpose of crushing them) so I had my brother-in-law help me build the rest. I used 2x4's (which are not really 2" x 4" !) as my legs, then I made walls using some b-board my family had leftover from a bathroom remodeling. It went really smoothly. All the measurements were taken from the Google SketchUp model so everything fit together really great. I am sorry, but I didn't have my camera there as I constructed my table, so I have no pictures here.&lt;br /&gt;&lt;br /&gt;Attaching the LCD panel was really easy once I had the table done. I simply placed my LCD panel in the little groove I had created for it, then ran the wires down below and attached the circuit board and power supply to the underside of the tabletop. Here is a picture of the inside of my table, looking up. Those wires are from the original backlight, which I tried to use but failed.&lt;br /&gt;&lt;a id="egcb" href="http://multitouch.fieryferret.com/pictures/Table%20Construction/100_1835.JPG"&gt;&lt;img id="ixrp" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Table%20Construction/100_1835.JPG" alt="" border="0" /&gt;&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/making-my-tables-body.html' title='Making My Table&apos;s Body'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=687845871475330914' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/687845871475330914'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/687845871475330914'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-9086573927445234139</id><published>2008-03-20T19:04:00.000-07:00</published><updated>2008-04-17T22:38:05.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LCD'/><category scheme='http://www.blogger.com/atom/ns#' term='display'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-touch'/><title type='text'>Taking Apart My LCD Monitor</title><content type='html'>It was one of the scariest moments of my life, but it had to be done. It takes some guts to take apart a 19" LCD screen that cost $120, but if you keep the multi-touch table in mind, it is worth it. I didn't want to take apart my screen only to find out it doesn't work, so I did a lot of research. A great place to check if your screen will work or not is &lt;a id="f692" href="http://www.baseportal.com/cgi-bin/baseportal.pl?htx=/Lumenlab/main"&gt;LumenLab&lt;/a&gt;. Make sure your model doesn't have FCC issues, which means there are non-movable components that block the LCD panel. My model was the Acer AL1916W, which worked perfectly.&lt;br /&gt;&lt;br /&gt;What you are trying to do here is strip down the monitor until you are left with the LCD panel and the electronics. The LCD panel is just a thin plate of (glass, plastic?) with some ribbon wires attached to the top. The pixels on the LCD panel can turn different colors but are mostly transparent, especially to IR light. So lets get started!&lt;br /&gt;My monitor:&lt;br /&gt;&lt;a id="n3pp" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1776.JPG"&gt;&lt;img id="qnmc" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1776.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After taking all the screws out I could, it still wasn't coming apart. I used a screwdriver and slowly pried it apart, breaking the little plastic snaps all around it. This was the point of no return and came surprisingly early for this project.&lt;br /&gt;&lt;a id="ocpi" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1781.JPG"&gt;&lt;img id="fgls" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1781.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the back of the monitor with the plastic case taken off:&lt;br /&gt;&lt;a id="zsea" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1783.JPG"&gt;&lt;img id="o:-a" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1783.JPG" alt="" border="0" /&gt;&lt;/a&gt;Here is the front of the monitor. It is actually on right now. The little green dangly thing at the bottom is the controller for adjusting brightness etc. If you look closely you can also see the little gold strips at the top. These are the ribbon wires that are connecting the LCD panel to everything else.&lt;br /&gt;&lt;a id="y5nk" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1790.JPG"&gt;&lt;img id="le03" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1790.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the LCD monitor with the panel lifted away from the backlight.&lt;br /&gt;&lt;a id="ojkj" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1796.JPG"&gt;&lt;img id="g:y3" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1796.JPG" alt="" border="0" /&gt;&lt;/a&gt;I disconnected everything I could from the actual LCD panel (except for the controller), including the power supply.&lt;br /&gt;&lt;a id="p8bs" href="http://multitouch.fieryferret.com/pictures/Monitor/100_1798.JPG"&gt;&lt;img id="g39s" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Monitor/100_1798.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After you take everything apart, you will be left with a lot of extra parts. The sheets of foggy papers are diffusers. For a nice looking picture, you will need to put these between your LCD screen and the backlight to make the light even. I also kept the lights from the backlight, to see if I could use them myself.&lt;br /&gt;&lt;br /&gt;Tips: Make sure you don't wear socks or do your disassembly on carpet. In short, keep everything static-free. I didn't, and now I have a few lines of discolored pixels.&lt;br /&gt;Make sure everything is unplugged as you take everything apart. I only plugged it in for a second to reassure myself that nothing was broken yet. Watch out for capacitors too, as they may still be carrying a charge.&lt;br /&gt;When you plug in your monitor to see if it still works, and it doesn't. Don't panic until you try another outlet. The one you are using is dead.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/taking-apart-my-lcd-monitor.html' title='Taking Apart My LCD Monitor'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=9086573927445234139' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/9086573927445234139'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/9086573927445234139'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-8875803414116751728</id><published>2008-03-20T18:05:00.001-07:00</published><updated>2008-04-17T22:38:40.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='touch sensing'/><category scheme='http://www.blogger.com/atom/ns#' term='IR camera'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-touch'/><title type='text'>Modding an Infrared Camera</title><content type='html'>To sense the infrared light coming from my FTIR frame I would need a camera that could only see infrared. As it turns out, the sensor in most web cameras (a CMOS sensor) is sensitive to infrared light. However, most camera manufacturers place a filter within the camera to block the infrared light, so that images being made are closer to what the human eye sees. After all, when have you seen a remote control let off a bright beam of light every time you changed the channel, or drank clear Coca-Cola? To make an infrared camera, I simply had to replace the infrared block filter, with a filter that blocks everything except infrared light. A cheap way to do this is to use an exposed photonegative.&lt;br /&gt;&lt;br /&gt;I purchased the cheapest camera I could find at Radio Shack. A $30 Logitech Quickcam Chat. Then I removed anything that looked remotely removable, and unscrewed everything else. here is the inside of the camera:&lt;a id="a4mr" href="http://multitouch.fieryferret.com/pictures/Camera/100_1800.JPG"&gt;&lt;img id="k4in" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/100_1800.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The infrared sensor was found by unscrewing the lens. It is a small piece of glass that has a red-ish tint to it in the light. It cracked a bit coming out, but that is okay, as it is no longer needed.&lt;br /&gt;&lt;br /&gt;The inside of the camera sensor:&lt;br /&gt;&lt;a id="hnr0" href="http://multitouch.fieryferret.com/pictures/Camera/100_1804.JPG"&gt;&lt;img id="e1_2" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/100_1804.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My best try at taking a picture of the IR filter:&lt;br /&gt;&lt;a id="q0.a" href="http://multitouch.fieryferret.com/pictures/Camera/100_1803.JPG"&gt;&lt;img id="lkv6" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/100_1803.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once the IR filter was removed, I put in the exposed photo negatives. The more you put in, the blurrier your image is going to be. However, they aren't perfect filters and will still let some visible light through, especially if it is bright. I found that three little layers worked fine.&lt;br /&gt;&lt;br /&gt;Here are the filters I put in. You can also see the IR filter to the left:&lt;br /&gt;&lt;a id="hbl7" href="http://multitouch.fieryferret.com/pictures/Camera/100_1806.JPG"&gt;&lt;img id="vin_" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/100_1806.JPG" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I put the camera back together and tested it out. It wasn't compatible with OS X natively, but with the help of the driver from http://webcam-osx.sourceforge.net/ it worked just fine. If you are using OS X, make sure your camera runs on OS X &lt;span id="rhnf"&gt;&lt;i id="izo:"&gt;before&lt;/i&gt;&lt;/span&gt; you take it apart, as any disassembly tends to void most warranties. It is really fun to play with the camera.&lt;br /&gt;You can use a remote control as a flashlight.&lt;br /&gt;&lt;a id="a65_" href="http://multitouch.fieryferret.com/pictures/Camera/Picture%201.jpg"&gt;&lt;img id="vuni" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/Picture%201.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Any really hot things, like my space heater become light sources.&lt;br /&gt;&lt;a id="k5c." href="http://multitouch.fieryferret.com/pictures/Camera/Picture%207.jpg"&gt;&lt;img id="vx62" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/Picture%207.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Coca-cola even looks like water with IR (that is a candle behind the cup of Coke, by the way).&lt;br /&gt;&lt;a id="imn:" href="http://multitouch.fieryferret.com/pictures/Camera/ir-coke.jpg"&gt;&lt;img id="o4b0" style="margin: 0px auto 10px; display: block; text-align: center; width: 320px;" src="http://multitouch.fieryferret.com/pictures/Camera/ir-coke.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;*Note, these IR pictures actually weren't taken with this camera. I got a different camera later on and took these pictures with it.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/modding-infrared-camera.html' title='Modding an Infrared Camera'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=8875803414116751728' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8875803414116751728'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8875803414116751728'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-7233925564442248155</id><published>2008-03-20T18:01:00.000-07:00</published><updated>2008-04-17T22:40:32.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='touch sensing'/><category scheme='http://www.blogger.com/atom/ns#' term='MT surface'/><category scheme='http://www.blogger.com/atom/ns#' term='display'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-touch'/><title type='text'>Planning My Multitouch Setup</title><content type='html'>As it turns out, not all multi-touch surfaces are created equally. There were many decisions that had to be made before getting started. Here is what I decided on.&lt;br /&gt;&lt;br /&gt;&lt;span id="chxr"  style="font-size:78%;"&gt;&lt;span id="nv7w" style="font-size: 180%;"&gt;Touch Sensing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; For homebrew multi-touch systems, there are basically two different ways to detect your touches. I will briefly go over each. The first is direct illumination, or DI. Basically, DI uses an infrared source to illuminate the touch surface and an infrared camera to see what is on the touch surface. This approach allows you to see anything on the touch surface, whether it be fingers, a paintbrush, or &lt;a href="http://mtg.upf.es/reactable/?software"&gt;fiducials&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt; The other method uses Frustrated Total Internal Reflection, or FTIR. The theory is that when infrared light is shined inside the edge of a material such as glass or acrylic, it will be reflect internally to the other end of the material, never escaping. However, when a finger touches this material, it "frustrates" the internal reflection, and causes the infrared light to escape through the surface of the material. An infrared camera then tracks this on the opposite side of the material. Unfortunately, this method does not allow much else than fingers from being tracked.&lt;br /&gt;The method I chose was FTIR. To me, it looked more stable than DI, not needing as much calibration and not being as susceptible to outside interference.&lt;br /&gt;&lt;br /&gt;&lt;span id="m3qw"  style="font-size:78%;"&gt;&lt;span id="ni:y" style="font-size: 180%;"&gt;Display&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; One of the coolest parts of multi-touch is the illusion it creates of manipulating virtual objects as if they were on the table in front of you. This requires the touch surface, and the display to be on top of each other. Much easier said than done. One method is to use a projector to shine the image on your touch surface. Projectors aren't cheap though, and I didn't have any spares lying around.&lt;br /&gt;&lt;br /&gt;I decided to go with a more affordable method, using an LCD monitor. I know what you are thinking. "But you have to track the infrared blobs through the display, and LCD monitors are very much opaque." That is exactly what I thought. As it turns out, the actual LCD matrix in an LCD monitor is clear. It is just a piece of glass(?) that can color itself. Then, behind this is a backlight which allows you to see the image. By ripping apart an LCD monitor (gulp) you can take out the LCD matrix and mount it on your multi-touch table. You just have to figure out your own way to backlight it.&lt;br /&gt;&lt;br /&gt;&lt;span id="sgda"  style="font-size:78%;"&gt;&lt;span id="lumr" style="font-size: 180%;"&gt;Multi-touch Surface&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; The final major design consideration is how you are going to display your multi-touch surface. Because I will only be using a 19" display, a wall display wouldn't be very impressive. Also, this being a science fair project it can't be overly large or I won't be able to fit it. My goal is to enclose it all in a box, about 2" on each side.&lt;br /&gt;&lt;br /&gt;So that is my planned multi-touch table.  I will post more progress, and some photos soon.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/planning-my-multitouch-setup.html' title='Planning My Multitouch Setup'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=7233925564442248155' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/7233925564442248155'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/7233925564442248155'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-8537449179909394502.post-8184165440835706790</id><published>2008-03-20T17:55:00.000-07:00</published><updated>2008-04-17T22:41:07.348-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multi-touch'/><title type='text'>Making a Multi-touch Table</title><content type='html'>After seeing some of the awesome multi-touch demonstrations on Youtube, who wouldn't want their own multi-touch table? The only thing that stopped me from going out and buying my own immediately after seeing Jeff Han manipulate his vacation photos as if they were scattered cards was the price tag. A multi-touch display from Perceptive Pixel costs in the ballpark of &lt;span id="pirf"&gt;&lt;b id="j5mc"&gt;$100k&lt;/b&gt;&lt;/span&gt;. Microsoft's version of multi-touch, dubbed the Microsoft Surface is estimated to be between $5,000 and $10,000. And those are assuming that you can find a model ready to be sold. I don't know about you, but as a high school student, I don't have that sort of pocket cash. &lt;br /&gt;&lt;br /&gt;Luckily, there are already online communities scheming plans to bring multi-touch to their houses for a reasonable amount of money. I decided that I would build my own. Here I will document my progress, and hopefully help someone else bring this awesome technology home. Also, a great place to look for information on building your own multi-touch table is www.NUIGroup.com. They have been invaluable to me along the way. Seriously, some very awesome people are there.</content><link rel='alternate' type='text/html' href='http://multitouch.fieryferret.com/2008/03/making-multi-touch-table.html' title='Making a Multi-touch Table'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8537449179909394502&amp;postID=8184165440835706790' title='1 Comments'/><link rel='replies' type='application/atom+xml' href='http://multitouch.fieryferret.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8184165440835706790'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8537449179909394502/posts/default/8184165440835706790'/><author><name>Bridgeyman</name><uri>http://www.blogger.com/profile/00268043663431484925</uri><email>noreply@blogger.com</email></author></entry></feed>