Converting a scanner into a touchscreen

[Sprite_TM] was cleaning up his hacking workbench when he came across an all-in-one device that had seen better days. After a bit of consideration he decided to tear down the scanner portion of the device and ended up turning it into a multi-touch display.

The scanner relies on a long PCB with a line CCD sensor. This sensor is read in a similar way that information is passed along a shift register. Tell it to take a reading, and then start a clock signal to pulse out each analog value from the pixels of the sensor. In order to scan color images it uses multicolored LEDs to take different readings under different illumination.

[Sprite_TM] takes advantage of this functionality to turn it into a multitouch sensor. The sensor board itself is mounted below an LCD display along with a shield with a slit in it to help filter out ambient light. Above the screen a series of LEDs shine down on the sensor. When you break the beams with your finger it casts a series of shadows which are picked up by the sensor and processed in software. Watch the clip after the break to see it for yourself. It has no problem detecting and tracking multiple contact points.

Comments

  1. Jay says:

    Not bad at all! :D

  2. r_d says:

    I have one of these sensors laying around from a dead printer I ripped apart for the stepper motors. I didn’t think it was going to be useful for anything, but I’m suddenly glad I kept it.

  3. Andy Goth says:

    Nice Model M keyboard. :^)

  4. Pedro says:

    Awesome work, as usual. This is an interesting take on a multitouch implementation.

  5. therian says:

    the problem with touchscreens is not in technology but in usefulness

  6. VintagePC says:

    Andy: Was just gonna say that… got one myself, did a double-take when I saw his.

  7. mess_maker says:

    Very interesting project… I think I have an old scanner laying around. Could be fun to try this.

  8. Headbonk says:

    Really nice idea. At first I thought you’d need two of the sensors to get XY coordinates. Would love to see more about the software that figures out the contact points from the different shadows.

  9. Andy Goth says:

    Seriously, this is cool stuff. One of the things I do at work is program an old monochrome plasma IR-matrix touch screen. It’s amazing how a design using far fewer beams can have multitouch and higher resolution!

  10. woutervddn says:

    lol, fairly simple and yet no-one else who thought of it.. :) great hack!

  11. Kaijuu says:

    As I mentioned to him last weekend, [Sprite_TM] has come full circle: his first hack featured on HaD was a mouse-turned-scanner, now he has made a scanner-turned-mouse. :D

    http://hackaday.com/2006/01/07/optical-mouse-based-scanner/

  12. cmholm says:

    I agree with [Sprite_TM] that I prefer keyboard/trackball for my *vertical* display. But, for a big, horizontal multi-touch display, using – say – libTISCH (HaD, 10/29/09)? Add a driver, and now we’re getting somewhere.

  13. oosterhagen says:

    How does it register “clicks” (ie mouse down/up). As long as you can’t register pressure or forward movement of the pointing-device it’s not very functional.

  14. fantaguy says:

    does any1 know if he made a tutorial? i have a couple old scanners lying around and think this awesome! but betting need nix to run… :( im on windows

  15. Andy Goth says:

    oosterhagen: Touches *are* clicks.

  16. Sigg3 says:

    @Therian: You’re right!
    I bought an 8" Lilliput LCD with touch a few years back for a media center project but I always ended up using a USB mouse instead. (Of course, it had a stylus and was not touch in any modern sense.)

  17. Lia Saner says:

    I’m getting rid of my iPod Touch 4G and getting an iPod Classic 5.5G 80GB. I miss the good ole days of toting around my black 30GB iPod 5G, and I’m bringing the good times back!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,742 other followers