5 Wire Resistive Touch on IMX6

Dear Team, is it possible to support 5 wire touch via external codec e.g. WM9715L used on T20? That is connected via AC97 and it seems that AC97 is not supported yet by imx6 WinCE. Is there other I2C solution for 5 wire touch, it will be easy to integrate driver. Thanks!

As you mentioned, AC97 is not supported on the iMX6 CPU, so there’s no easy way to connect a full codec such as the WM9715L.

There are two simple options to interface to a 5-wire resistive touch:

Use a touch controller connected to SPI or i2c

There are off-the-shelf controllers such as TI’s ADS7845 (this is not a recommendation, just the first Google search result), which handle the whole touch measurement and can be interfaced to the Colibri through i2c or SPI.
Our customers can write a regular application which reads the touch coordinates out of the controller, and feeds them into a special Toradex touch driver.
This approach is described in detail in the developer page article about the Capacitive Multi-Touch solution. Don’t be confused by the word Capacitive in the title. The solution relies on coordinates only, independent of the touch technology used.

Implementation From Scratch

A simple 5-wire touch controller consists of

  • 4 digital outputs,
  • one Pull-up resistor that can be turned off, and
  • 1 analog input.

The NXP application note AN10675 describes hot this can be done.
The code required is pretty simple. However, we didn’t test this and therefore are not sure whether the achieved precision is good enough for a real-world application. Be prepared to insert at least some simple filtering such as taking the average of multiple samples.

Regards, Andy

Thanks Andy.