Simple Touch Controller Frees Up USB Port

touch screen demonstration using text

[typ.o] was working on a Raspberry Pi project and found himself running short on USB ports. The project required a touch screen interface, which takes up one of the ports. Since he was only using the screen in text mode, he decided to ditch the original USB controller and make his own.

The ever popular Attiny85 is deployed to handle the task, and is interfaced between the resistive touch panel and the Raspberry pi, using only three pins from the GPIO port. The Attiny85 runs off the 3 volt supply from the raspi, so no level shifter is needed, helping to keep his board super simple.

The calibration and calculation of the touched character location is done by a Python script running on the raspi. [typ.o] is a fan of the KISS principle, and it shows. Be sure to check out his site for all source code, schematics and a video demonstrating this simple but effective solution.

Comments

  1. chango says:

    Good solution given the stuff on hand. I’m surprised nobody has a breakout for one of the many i2c touchscreen drivers out there. Some drivers have existing Linux drivers making it easy on the software end.

  2. butterfly says:

    there’s a reason it’s called Universal Serial BUS. Seems like a hub would have been a lot more practical. How the hell is this KISS?

    • Z00111111 says:

      A hub was my first thought too. Not everything has USB though, so I suppose he’s gone with a more universal approach. It might have been overkill for this project, but maybe he has others in mind?

  3. zigzagjoe says:

    To be anal: he’s only using one GPIO, plus power and ground; not 3 GPIOs as the article’s description implies.

  4. nah! says:

    i bought that kit and it ended in magic smoke on first turn on, im going to send it 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