8-bit Device Quenches IPhone Envy


[Peter] deserves an award for doing more with less. He’s built a handheld device based on an AVR controller that has features normally associated with much more powerful devices. Here’s what it doesn’t do: no phone calls, no text messages, no accelerometer, and best of all no app approval needed. What it does do is leverage inexpensive, readily available components combined with common homebrew development techniques to create a touch sensitive handheld.

The demo video embedded after the break details the device playing video, rendering 3D objects, and displaying pictures and ebooks with touch scrolling. All of this is running at 60 fps for a smooth picture. The whole thing is no larger than the 320×240 LCD that he salvaged from a broken MP3 player. An Atmel AVR ATmega644 microcontroller ties together the display, a resistive touch screen, and a microSD card for storage. The chip also controls the backlight, a Lithium Polymer battery, and uses USB for PC connectivity, charging, and even a mouse or keyboard interface. He etched the PCB himself for surface mount components and managed to do it with just four jumpers needed on the underside.

This is a big leap forward from the last AVR based touch sensitive device we saw. All of the functionality seen in the demo is run using 4k of memory and 32k of programming space. Because [Peter’s] powering this at 3.3v the system clock is limited to 12MHz but he’s managed to make it work. We asked him to post code and schematics and he didn’t hold back. Head over to the microtouch project page to download the code, Eagle CAD files, and PCB artwork. All of the demo files are there just waiting for you to build on his hard work. When you’ve got something running, don’t forget to share it with us!

69 thoughts on “8-bit Device Quenches IPhone Envy

  1. Question:

    Is that Camper Van Beethoven’s version of Pictures of Matchstick Men? If so, it sounds like the version that a friend recorded live here in town. If you got it from archive.org, it may well be the same one.

    That said…damn nice. I like it.

  2. @Snakker and @ehrichweiss
    Sounds like Status Quo’s Pictures of Matchstick Men to me.

    Absolutely amazing work demonstrated above, most impressive. : ) Stick a decent sized battery and eInk screen on it and you’re looking at a (relatively) affordable eBook reader, have wanted one of those for a while. : )

  3. Zeno: no, now that I’ve listened I know it’s CVB because of the violin playing the part that was normally played by the guitar…I’m just wondering if this was the one recorded in my town now..off to check my copy and will report back..not that it’s really important but it is nice to know…

  4. I think it is frkn amazing.
    and comparing it ot the iphone or any other commercial product is a real miss, why? because usually commercial products have an army of technicians and a budget, witch this dude obviously dont have.

    I love it!
    Keep up the good work.

  5. Considering he put this together inside of a month I’m very impressed that it does what entire teams have taken years to accomplish. Granted, it’s leveraging other progress/functionality, but it’s getting to the point where we’re able to do some amazing things very quickly!

  6. Wow, I am thoroughly impressed.
    Such minimal hardware and smooth operation!

    Sometimes it saddens me to know (I don’t know about this case) that creative geniuses don’t always make it in the real world.

    This does give me an idea…

  7. Hi all, the iPad is not mounted by usbmuxd and associated software in Ubuntu Linux 10.04 beta 1. But, it looks to me like it may be as simple as adding the new product ID associated with the iPad to a couple of places a udev rules configuration file, and internal to usbmuxd in a header file called usb.h. I’m trying to recompile usbmuxd right now, we’ll see if I get there. May latest hangup: checking for module libusb-1.0>=1.0.3 package libusb-1.0>=1.0.3 not foundUSB_INCLUDE_DIR=USB_INCLUDE_DIR-NOTFOUNDUSB_LIBRARY=USB_LIBRARY-NOTFOUNDCMake Error at Modules/LibFindMacros.cmake:74 (message): Required library USB NOT FOUND.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.