cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Custom Board Design

Freedom_Neo
Senior

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?

9 REPLIES 9
ktrofimo
Senior III

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

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?

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

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?

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

Freedom_Neo
Senior

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

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

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

Freedom_Neo
Senior

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