1
\$\begingroup\$

I have this 7" capacitive touch panel overlay that I want to attach to my Raspberry Pi 4B.

I don't know what kind of data comes out of that FPC cable, or even what its pinout is. Is there a well-known standard?

How can I convert the signal from the touch panel to mouse-like signals (attached as USB device)?

I found out that AR1100 (Adafruit's) works well for resistive touch screens, but I am not sure that IC will work here.

Searching for capacitive controller doesn't yield good results. I only get touch button controllers i.e. like many in Cypress CY8C* series and not a controller for real touch screen panel. I don't even know what search term to use.

Please advise.

\$\endgroup\$
6
  • \$\begingroup\$ Is this (CY8C4125PVI-482) a candidate? How do I convert it to USB-mouse signal? \$\endgroup\$
    – chocolate
    Commented Dec 9, 2020 at 10:47
  • 1
    \$\begingroup\$ What's the identity of the IC seen on the FPC? Downstream of the reader chip these are usually I2C and require host interface code. See if there's a schematic for the SBC it's sold to plug into. \$\endgroup\$ Commented Dec 9, 2020 at 15:44
  • \$\begingroup\$ @ChrisStratton thanks, good advice. I don't have the supposed SBC, only RPi, looks like I have to wait a few years before I can get the smarts to do what @ Marcus Muller suggests. \$\endgroup\$
    – chocolate
    Commented Dec 10, 2020 at 5:06
  • 1
    \$\begingroup\$ You could get this instead: buydisplay.com/… cheaper, and included the converter to USB. There are a few other capacitive touch screens on that site, you lay want to check if the IC matches the one on the FPC on yours and then get the documentation/drivers from there. Note that the pin out may be slightly different but it shouldn’t be too hard to figure out. \$\endgroup\$
    – jcaron
    Commented Dec 10, 2020 at 9:49
  • 1
    \$\begingroup\$ @LM.Croisez thanks a lot for the effort. Will check it out soon \$\endgroup\$
    – chocolate
    Commented Apr 12, 2021 at 9:48

2 Answers 2

1
\$\begingroup\$

I don't know what kind of data comes out of that FPC cable, or even what its pinout is. Is there a well-known standard?

no, not that I'd know of.

You'll need a datasheet, or extensive time and knowledge to reverse engineer this.

Then you can write some controller – maybe that can be based on a microcontroller, maybe you need special analog signal processing, depends on what your touch panel actually outputs – to get some digital reading.

Then you can add a USB controller to make this a USB touch pad. Can't make it a USB mouse – a touch screen gives absolute positions, a mouse gives movement, different kind of information.

\$\endgroup\$
3
  • \$\begingroup\$ I don't agree with you last sentence: learn.adafruit.com/… demonstrates well that Microchip's AR1100 can convert stylus events on a resistive touch panel to USB mouse protocol \$\endgroup\$
    – LM.Croisez
    Commented Feb 8, 2021 at 13:01
  • 2
    \$\begingroup\$ I'm having a logical problem there: a touchscreen always gives you absolute touch coordinates. A mouse always gives you relative coordinates. Microchip can't solve that impossibility! It's probably just that they call it "USB mouse" when they mean "USB HID profile", which incorporates touchscreen. \$\endgroup\$ Commented Feb 8, 2021 at 14:41
  • 2
    \$\begingroup\$ I think you are right to put the name "mouse" aways. Actually, the goal is to translate from a series of different touch protocol into a unique standard which is USB HID and which is supported by default by a lot of Linux kernels, and this does not limit to HID mouse profile which is a subset of that norm (see computerhope.com/jargon/h/hid.htm). I think that this resolve the logical problem you are talking in your last comment. \$\endgroup\$
    – LM.Croisez
    Commented Feb 10, 2021 at 9:16
0
\$\begingroup\$

There appears to be a touch decoder IC on the flex ribbon, additionally the vendors site refers to the connection as an "I2C Cable" which is all very typical for such a setup.

Chances are someone who wanted to could identify the I2C touch sensor IC used, either visually, or by figuring out which driver is activated in the intended board's Linux kernel. There will probably also be associated configuration information or even a small firmware blob to inject at runtime. Because the kernel is required to be offered in source form, even if it's a custom driver one should be able to port it to a different board.

One would need to figure out the pinout of the I2C cable, but that's probably not too hard - especially if a data sheet for the touch controller can be found, a flex circuit is quite simple to trace visually, at most needing a photograph of each side to be taken and enlarged.

The most sensible way of connecting it to a Raspberry Pi would be to use the pi's I2C interface; indeed, that's exaclty how the offical pi touchscreen connects as well. The driver and configuration details brought over from the sources for the board it was intended to connect to may not be exactly the same as for the pi touchscreen, but there's a decent chance some version of the driver is already there.

If one really wanted a USB solution, then some sort of MCU with USB capability would need to be inserted in between, running a bit of custom firmware.

Or one could just buy a touchscreen sold to work on a pi...

\$\endgroup\$

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.