I have been searching for cheap slim 3" 16:9 capacitive touch screens for a while now. But I couldn't find any that had an I2C or SPI interface. The cheap displays always have these ribbon cables with a ton or pins and it's really hard to find a way to control them from an Arduino (or ESP-32 or ESP-8266).

I recently found this one, but how do you access such a touch screen that doesn't have an I2C or SPI interface? Do I need some sort of driver board? What exactly would I be look for? enter image description here

  • 2
    ... You would look for the HX8352B datasheet and start reading. Sep 1, 2016 at 12:41
  • I've never seen a I2C interface board for a proper display (the LCD 16x2 piggyback boards excluded). Could you use something like this as a starting point MTCH6303-I/PT Sep 1, 2016 at 12:45
  • @Matt I'd agree it isn't really an Arduino topic, but the touch issue is hardly an ESP8266 topic either - as Majenko points out it needs a capacitive touch controller. If the touch issue were solved, the greater bandwidth and memory the ESP devices may make driving the display itself a bit easier than with an Arduino, but that's not the question being asked. Sep 1, 2016 at 21:31

2 Answers 2


Do I need some sort of driver board?

There are quite a few solutions around to interface with parallel devices like that. Some can be purchased off-the-shelf. I described a home-made solution on my page Connecting a graphical LCD via a I2C/SPI using a 16-bit port expander.

This isn't a touch screen, but from what I can make out of your (rather hard to read) image, it looks similar in concept.

Graphical LCD

I used a MCP23017 16-bit port expander (that is an I2C part, but you can get the MCP23S17 chips which has an SPI interface).

As you can see from the photo, there are only four wires from the Arduino to the LCD board: +5V, Gnd, SDA, SCL.

When I wrote that article it looks like the MCP23017 was $AUD 2.30. A quick Google search indicates it is still selling for around $US 2.50. On eBay they seem to be selling for around one dollar (eg. $5 for 5 chips).

Depending on the complexity of the driver (on the touch-screen board) writing suitable code may be moderately easy to slightly harder. It depends on how much you are used to coding for these port expanders, and how fiddly the interface requirements are.

Since Adafruit offer a driver shield, it can presumably be done.


There are two major parts to a capacitive touchscreen:

  1. The touch panel
  2. The controller chip

You have to have both in order to use the panel.

Basically the panel is like a matrix of capacitive sensors, and the controller chip has to rapidly cycle through each row of them (or column if you hold it the other way) sensing all the inputs on that row. It's quite a complex task, and so a special chip is really required for the job.

It's that chip, not the touch screen panel, that presents the SPI or I2C interface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.