Yes, personally, I have encountered this behavior several times: the wiring, just one wire that fails is enough.
But, let's go in parts:
1) Please share some photos of the way you have the 20 pin flat cable connected to your teensy
Short cables should be used. The flat cable that comes with the screen is suitable for using interfaces such as the Hermes or the shield for Arduino, both from Riverdi. To use the FPC-20 pin header breakout, we must use the shortest connections possible.
There are 10 and 8 cm long FPC cables, they are quite useful, especially with high SPI frequencies.
The BT81x controller (and its predecessors FT80x and FT81X) does not work as the vast majority of chips do: ILI9341, ILI9325, ILI9488, etc., it updates the information on the screen at a frequency of 60 Hz, without affecting the speed of the MCU , so one of the frequent failures is the quality of the wiring used. If possible, use soldered joints rather than dupont wiring, and if there is no other option, make sure each harness has enough pressure at each joint.
2) The FPC connector bracket must be firmly attached at both ends
3) To stabilize the operation and sensitivity of the touch panel, and the screen itself, I recommend installing 10K resistors in pull-up mode on the miso, mosi and sck lines of the TFT header.
4) I recommend having a clear idea of the support that we will use to fix the TFT and take care of it at all times during the tests, this way we ensure that the joints and the flat cable will be protected at all times to avoid repetitive wiring failures.
But, let's go in parts:
1) Please share some photos of the way you have the 20 pin flat cable connected to your teensy
Short cables should be used. The flat cable that comes with the screen is suitable for using interfaces such as the Hermes or the shield for Arduino, both from Riverdi. To use the FPC-20 pin header breakout, we must use the shortest connections possible.
There are 10 and 8 cm long FPC cables, they are quite useful, especially with high SPI frequencies.
The BT81x controller (and its predecessors FT80x and FT81X) does not work as the vast majority of chips do: ILI9341, ILI9325, ILI9488, etc., it updates the information on the screen at a frequency of 60 Hz, without affecting the speed of the MCU , so one of the frequent failures is the quality of the wiring used. If possible, use soldered joints rather than dupont wiring, and if there is no other option, make sure each harness has enough pressure at each joint.
2) The FPC connector bracket must be firmly attached at both ends
3) To stabilize the operation and sensitivity of the touch panel, and the screen itself, I recommend installing 10K resistors in pull-up mode on the miso, mosi and sck lines of the TFT header.
4) I recommend having a clear idea of the support that we will use to fix the TFT and take care of it at all times during the tests, this way we ensure that the joints and the flat cable will be protected at all times to avoid repetitive wiring failures.