Without going into boring details, I need to get a touchscreen input into a Raspberry Pi which will be "faked" by a microcontroller - so the micro is reading some input and translating it to a touch coordinate and passing it to the Pi.

This means I want to choose a well-supported and hopefully not too complicated touchscreen device to emulate in the micro so that I don't have to modify the standard Raspberry Pi OS with extra drivers etc. any more than is absolutely necessary.

It doesn't need anything more than single-touch capability if that helps, but it must be I2C based.

  • 1
    Pretty sure touchscreens are standardized for USB (ie., generally made to fulfill a generic public protocol). So chances are all you have to do is make something that also fulfills it (no need for reverse engineering).
    – goldilocks
    Feb 3, 2021 at 15:17
  • It's not USB though, it's through I2C interface.
    – John U
    Feb 3, 2021 at 16:25
  • 1
    Dunno if there is a generic standard for that. There are a bunch of drivers for them in the kernel source though, grep -i i2c [src]/drivers/input/touchscreen should get them. Take your pick...
    – goldilocks
    Feb 3, 2021 at 17:53
  • 1
    What I2C based touch screens have you found so far @JohnU? Feb 3, 2021 at 22:29

1 Answer 1


There are many touschscreens for the Pi that use an I2C interface.

Pimoroni's HyperPixel uses a FocalTech FT6236. Datasheet for the controller.

AdaFruit's PiTFT 2.8" uses a FocalTech FT6206.

Both of these are capactive multi-touch, and use drivers that are already in the Raspberry Pi OS. Check out the DTS file to see which driver is used, how it is configured etc.

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.