Getting touchy performance with your touch screen? Resistive touch screens are incredibly popular as overlays to TFT and LCD displays. The only problem is they require a bunch of analog pins and you have to keep polling them, since the overlays themselves are basically just big potentiometers. If your microcontroller doesn't have analog inputs, or maybe you want just a way more elegant controller, the TSC2007 is a nice way to solve that problem.

This breakout board features the TSC2007, which has an easy-to-use I2C interface. There is also an interrupt pin that you can use to indicate when a touch has been detected to your microcontroller or microcomputer.

We wrapped up the chip with a 3V voltage regulator and level shifting so it's safe to use with 3V or 5V logic. It's a nicely designed chip, and has very stable, precise readings. We found it's also a lot faster than trying to do all the readings on an Arduino.

For the screens that have 1mm pitch FPC cables, you can plug the cable right into the connector. The majority of medium/large touchscreens have that kind of connector. If you have another kind of touch screen, the four X/Y contacts are available on 0.1" pitch breakouts so you can hand-solder or wire them.

Getting started is super easy with our simple TSC2007 Arduino library or TSC2007 CircuitPython/Python library for microcontrollers or Raspberry Pi. Plug any 1mm-pitch 4-wire resistive touchscreen to the on-board FPC connector, then use the library example to read touch points with X, Y and Z (pressure) results returned instantaneously.

There's an IRQ pin that will drop low when a touch is detected. You can use that to reduce the I2C polling. We also have a red LED on that line which can help debugging as it should light when the panel is touched.

This guide was first published on Apr 05, 2022. It was last updated on Jun 23, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.