# Adafruit TSC2046 SPI Resistive Touch Screen Controller

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/123/045/medium800/sensors_5767-06.jpg?1690396477)

Getting touchy performance with your screen's touch screen? Resistive touch screens are incredibly popular as overlays to TFT and LCD displays. 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 TSC2046 is a nice way to solve that problem.

![](https://cdn-learn.adafruit.com/assets/assets/000/123/046/medium800/sensors_5767-05.jpg?1690396503)

This breakout board features the TSC2046, which has an easy-to-use SPI interface available. There is also an interrupt pin that you can use to indicate when a touch has been detected to your microcontroller or microcomputer. It can be powered from 3-5V, 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.

![](https://cdn-learn.adafruit.com/assets/assets/000/123/047/medium800/sensors_5767-03.jpg?1690396531)

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.

![](https://cdn-learn.adafruit.com/assets/assets/000/123/048/medium800/sensors_5767-04.jpg?1690396557)

[Getting started is super easy with our simple TSC2046 Arduino library](https://github.com/adafruit/Adafruit_TSC2046). 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 SPI polling.

![](https://cdn-learn.adafruit.com/assets/assets/000/123/049/medium800/sensors_5767-00.jpg?1690396600)

We also break out the Busy pin, that lets you know when the chip is still reading, and the Vref pin if you want to read or change the default 2.5V reference voltage. There's also two extra ADC pins you can read, Aux (0V - VRef) and VBat (0V - 2\*VRef).

- [Next Page](https://learn.adafruit.com/adafruit-tsc2046-spi-resistive-touch-screen-controller/pinouts.md)

## Primary Products

### Adafruit TSC2046 SPI Resistive Touch Screen Controller

[Adafruit TSC2046 SPI Resistive Touch Screen Controller](https://www.adafruit.com/product/5767)
Getting touchy performance with your screen's touch screen? Resistive touch screens are incredibly popular as overlays to TFT and LCD displays. 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...

In Stock
[Buy Now](https://www.adafruit.com/product/5767)
[Related Guides to the Product](https://learn.adafruit.com/products/5767/guides)

## Featured Products

### Resistive Touch screen - 3.7" Diagonal

[Resistive Touch screen - 3.7" Diagonal](https://www.adafruit.com/product/333)
Want to poke at your projects? This resistive touch screen can be used with a stylus or fingertip and is easy to use with a microcontroller. You can put it over a paper overlay for a touch control panel or attach it to an LCD to DIY a touch-activated display.

- 2.45" x 3"...

In Stock
[Buy Now](https://www.adafruit.com/product/333)
[Related Guides to the Product](https://learn.adafruit.com/products/333/guides)
### Resistive Touchscreen Overlay - 7" diag. 165mm x 105mm - 4 Wire

[Resistive Touchscreen Overlay - 7" diag. 165mm x 105mm - 4 Wire](https://www.adafruit.com/product/1676)
If you already have a 7" TFT that is about 165mm x 105mm in size (with a visible area equal to or smaller than ~152mm x 91mm), you can put this glass resistive overlay _over_ it to add a resistive touch screen.

Note the 7" is the 'nominal' size - which fits many...

In Stock
[Buy Now](https://www.adafruit.com/product/1676)
[Related Guides to the Product](https://learn.adafruit.com/products/1676/guides)
### Resistive Touchscreen Extension Cable - 20cm / 8" - 1mm Pitch

[Resistive Touchscreen Extension Cable - 20cm / 8" - 1mm Pitch](https://www.adafruit.com/product/1662)
Streeeeetch your resistive touch-screen's reach with a 20cm extension cord. This is a great accessory for our resistive touch screen controller breakouts. Plug your 4-pin 1mm pitch FPC into the socket end and the other end into your controller board. Pretty nice! The socket connector on...

In Stock
[Buy Now](https://www.adafruit.com/product/1662)
[Related Guides to the Product](https://learn.adafruit.com/products/1662/guides)

## Related Guides

- [Adafruit ENS161 MOX Gas Sensor](https://learn.adafruit.com/adafruit-ens161-mox-gas-sensor.md)
- [Program an AVR or Arduino Using Raspberry Pi GPIO](https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins.md)
- [Arduboy Game Controller Hack](https://learn.adafruit.com/arduboy-game-controller.md)
- [How to Add a New Sensor or Component to Adafruit IO WipperSnapper](https://learn.adafruit.com/how-to-add-a-new-component-to-adafruit-io-wippersnapper.md)
- [Remote Controlled LED Tea Light Sconce](https://learn.adafruit.com/remote-controlled-led-candelabra.md)
- [Cup o' Sound](https://learn.adafruit.com/cup-o-sound.md)
- [Adafruit HDC1008 Temperature and Humidity Sensor Breakout](https://learn.adafruit.com/adafruit-hdc1008-temperature-and-humidity-sensor-breakout.md)
- [Neo Trinkey Auto Screen Locker](https://learn.adafruit.com/neo-trinkey-auto-screen-locker.md)
- [MCP4725 12-Bit DAC Tutorial](https://learn.adafruit.com/mcp4725-12-bit-dac-tutorial.md)
- [MCUME Emulators on Fruit Jam](https://learn.adafruit.com/mcume-emulators-on-fruit-jam.md)
- [Adafruit Protomatter RGB Matrix Library](https://learn.adafruit.com/adafruit-protomatter-rgb-matrix-library.md)
- [Adafruit MLX90632 FIR Remote Thermal Temperature Sensor](https://learn.adafruit.com/adafruit-mlx90632-fir-remote-thermal-temperature-sensor.md)
- [Adafruit RS232 Pal](https://learn.adafruit.com/adafruit-rs232-pal.md)
- [Current Limiting Stepper Driver with DRV8871](https://learn.adafruit.com/current-limiting-stepper-driver-with-drv8871.md)
- [IoT Bird Feeder with Camera](https://learn.adafruit.com/iot-window-bird-feeder-with-camera.md)
