Hyperpixel 4 - Using I2C disables touch

Hi,

I’ve come across a weird issue - When I plug in an I2C board (the Adafruit GPIO expander bonnet) the touch stops working on my Hyperpixel 4. I’ve tried changing the address of the bonnet to make sure it’s not conflicting with anything touch related (changed from 0x20 to 0x21) but the issue persists.The bonnet is functioning as it should when connected.

Any ideas?

Thanks

You can’t use the stock i2c pins GPIO 2 and 3 with the Hyperpixel, if thats what your doing.

You need to use the i2c supplied by the connector on the back of the Hyperpixel. And I think some software / config changes to make use of it.

I have been down this path myself.
And I use the breakout connector on the display.
I can set up the i2c5. The GPIO pins are mapped as: dtoverlay=i2c5,pins_10_11
Everything works on the i2C device (address 0x27) until I uncomment the line:
#dtoverlay=hyperpixel4
in config.txt. Then as well as the display not appearing on the Hyperpixel (but still does on the HDMI monitor), the I2C then fails to work. The oscilloscope shows no activity when the line is uncommented.
So it appears the hyperpixel driver is the problem and I have given up.

I finally found a solution to needing one digital input…
Used a USB TTL Serial Converter and monitor the CTS signal that is used as the input.