BTT Pi TFT43 V2.1 on CM4 IO Board — display works, touch unreachable on either overlay path

Hoping someone has the same hardware combination running. Display is up, but I can’t make touch work through any overlay path I’ve tried.

Hardware

  • Raspberry Pi CM4104000 Lite (4GB, no eMMC) on a CM4 IO Board, microSD boot
  • BTT Pi TFT43 V2.1 (4.3", FT5406 capacitive touch)
  • Kadimendium 15-pin → 22-pin DSI FFC adapter (panel’s 15-pin ribbon → DISP1 on the IO Board)
  • Connected to the IO Board’s DISP1 (verified — DISP0 was tried first, didn’t work as expected)

OS

  • Raspberry Pi OS Bookworm, kernel 6.6.x
  • Klipper + Moonraker + Mainsail installed via KIAUH
  • KlipperScreen 0.5.x

What works

  • Display lights up and renders KlipperScreen correctly under full KMS
  • Display rotation 180° via cmdline.txt video=DSI-1:800x480M@60,rotate=180
  • The panel’s ATTINY-equivalent regulator chip at I2C 0x45 is detected and bound by rpi_touchscreen_attiny

What doesn’t work

  • FT5406 touch controller never responds. I get exactly:
    edt_ft5x06 10-0038: supply iovcc not found, using dummy regulator
    edt_ft5x06 10-0038: touchscreen probe failed
    edt_ft5x06 10-0038: probe with driver edt_ft5x06 failed with error -110
  • Error -110 = ETIMEDOUT — chip is silent on I2C. i2cdetect -y 10 shows UU at 0x45 (the regulator chip is alive) but nothing at 0x38.

What I’ve tried

Driver path Result
vc4-kms-v3d + vc4-kms-dsi-7inch Display ✓, touch fails (-110)
vc4-kms-v3d + vc4-kms-dsi-7inch,disable_touch + rpi-ft5406 Display ✓, raspberrypi-ts enumerates, no events on tap
vc4-fkms-v3d + rpi-ft5406 (no vc4-kms-dsi-7inch since it requires KMS) Display fails (no DSI on CM4 without explicit overlay), touch still no events

My theory

Looking at the vc4-kms-dsi-7inch overlay source, the FT5406 reset is wired through the regulator chip’s GPIO 1:
&ft5406 {
reset-gpio = <&reg_display 1 1>;
};
The official Pi 7" panel uses an ATTINY at 0x45 whose GPIO 1 reaches the FT5406’s reset pin. The BTT panel has something at 0x45 that responds to the regulator driver, but its GPIO 1 evidently doesn’t reach the FT5406 reset, so the touch chip stays held in reset. The display_auto_detect=1 workaround that fixes this on Pi 4B doesn’t apply on CM4 because firmware auto-detect is disabled on Compute Modules.

Question

Has anyone gotten the BTT Pi TFT43 V2.1 (or the V2.0 — same architecture I think) running with touch on a CM4 IO Board? Specifically:

  • Does the BTT panel use the same ATTINY-mediated FT5406 reset, or is reset wired to a Pi GPIO directly through the FFC?
  • If the latter — which Pi GPIO?
  • Anyone know if BTT publishes a schematic for this panel?

Happy to provide more diagnostic output. Thanks.

Welcome HuskyPsyD,

since nobody replied…

I would check the flat-cable to JP1.

Any chance to try with a setup without CM4 IO Board? Can you borrow an RPi from a friend?

I’m not aware of any schematics about the BTT Pi TFT series, sorry.

You could try to reset the FT5406 manually and see if anything changes on the I2C bus. Carefully!

Thanks for the response. Yea, I have a pi4b and it worked fine but the usb on the pi4 is going bad so I opted to try the io board as I had a CM4 sitting around. I will give it a shot!