Skip to main content
Freedom_Neo
Senior
January 19, 2022
Question

TouchGFX Custom Board Design

  • January 19, 2022
  • 6 replies
  • 3091 views

I am using STM32H7B33IIT6 MCU and 800x480 TFT. I can upload images to TFT, but I couldn't get the touch parts to work. But the same program works in STM32H7B3I-DK. What steps do I need to do?

This topic has been closed for replies.

6 replies

ktrofimo
Senior III
January 19, 2022

Touchscreen is independent hardware. Usually it is an specialized external ADC on SPI or I2C bus. Check original schematics and your custom PCB. For example https://www.st.com/resource/en/schematic_pack/mb1332-h7b3i-b02_schematic.pdf shows that screen uses bus ​I2C4. Your should use the same bus and the same touchscreen IC - only then your firmware would work on both boards.

Freedom_Neo
Senior
January 19, 2022

0693W00000JMUvMQAX.pngThank you for answer but I use YB-TG800480S28A-C-A Yeebo screen externally, I made the pin connections accordingly. I connected I2C to I2C4 as in STM32H7B3I-DK. The screen is working. But the touch part is not working.

Do I need to write a special function for I2C? Can't I use I2C for STM32H7B3I-DK?

ktrofimo
Senior III
January 19, 2022

It looks like TG800480S29A uses ILI2117A touchscreen controller. You can check it on your screen. ​But original display board has RK043FN48H-CT672B display with FT5336GQQ controller (default address 01110000). You definitely need your own driver for your touchscreen controller.

Freedom_Neo
Senior
January 19, 2022

Thank you for return. Shouldn't I change the I2C address and run it?

FT5336GQQ I2C Address > 0x70

ILI2117A I2C Address > 0x41

I made the change but it still doesn't work? Why is this happening? Could you help?

ktrofimo
Senior III
January 19, 2022

I doubt those IC have identical protocol. Check datasheets or google ​for driver sources.

Freedom_Neo
Senior
January 19, 2022

Thank you for comment but Both use the I2C protocol. I checked their datasheet. Are you talking about I2C Timing Characteristics?0693W00000JMWPDQA5.png

ktrofimo
Senior III
January 20, 2022

No, I am talking about internal register structure and reading/writing sequence of those registers. You have to read datasheet for ​ILI2117A and implement algorithm described there. Timing usually is the same for many I2C devices. All should work at 100kHz, some can support 400kHz.

You can probably can take a Linux driver as an idea how to talk to ILI2117A, but according to this thread: https://patchwork.kernel.org/project/linux-input/patch/20190302141704.32547-1-marex@denx.de/#22979165 even ILI2110 driver would not work with ILI2117A chip.

Freedom_Neo
Senior
January 20, 2022

Thanks for the comment, I have a document, I need to write a driver using it as far as I understand.

Freedom_Neo
Senior
January 20, 2022

Since I use a different touch interface, I need to write a driver specific to that integration.