Since some weeks I try to find a touch display that works. I can’t find one. When the display works then the touch don’t work or the controller resets in a loop or other problems. I never found a working display. I try so many drivers but none is working. Is there one display that is working with lvgl?
My last try ist the Sunton ESP32-8048S043C, the display works fine but the touch is not working correctly. The resolution of the display is 800 x 480 but the touch driver thinks the display size is 480 X 276. It is not possible to chance this assumption of the driver?
As driver I have used ESP32_Display_Panel.
Is there a realy working display at exact this monment? NOT last year or with an older version of LVGL or a spezial version of a driver or something extrem special else, not working thing? Can I buy this very spezial display in Germany?
The most things I found uses very very special things, a special version of txt_eSPI or a special version ov LVGL or only with a special configuration that do not work or I switch off the touch funktion and then the display will also not work (GFX Library for Arduino). So it is not possible to use one driver for the display and another driver for the touch.
I’m looking for a REALY WORKING display with 4.3" 800 x 480 resolution and ESP32-S3.
And the disply sould have a realy good documentation.
For a 4.3" 800×480 display, the main issues usually come from mismatched touch controller drivers or incorrect initialization sequences. Many displays report a different resolution to the touch controller, and not all drivers allow you to override that easily. If you’re using ESP32_Display_Panel, make sure that both the display and the touch controller are properly configured in your code, and that LVGL is set up for the correct orientation and resolution.
One thing that can help is to look for displays that are explicitly listed as LVGL-compatible, preferably with ESP32-S3 examples and good documentation. Sometimes modules that come with a separate FT6236/FT6336 or XPT2046 touch controller are easier to integrate because the driver supports setting the correct resolution independently.
Another tip is to check the LVGL forums and GitHub issues for the exact display model you have — often users share working configs or patches for touch scaling problems. While it might take some searching, focusing on displays with up-to-date ESP32-S3 examples and active community support increases the chance of getting a fully working solution without resorting to heavily patched drivers.
Your problem is you need to read the datasheets for the different IC’s that are being used. I believe that this board uses the GT911 touch IC and when initializing that touch IC you have to send the display resolution to the touch IC so the values will map properly.
I will 100% gurantee that every single display/board you tried works just fine, the problem is you don’t know how to initialize the different IC’s properly.
It might be easier for you to use something like the project below for you to start off with.
IDK if you are familiar with the Python programming language or not but that project allows Python code to be run on the ESP32 MCU’s. It has a full spread of available drivers that are ready to rock and roll. Single line build command that collects most of the needed requirements to compile. It has a stable API across most drivers which allows for rapid development when changing to a different board. Most of the code is portable between boards.
For the GT911 read this section on how to get the touch to work properly.
You need to set the resolution x and y axis max values to match the resolution of your display.
Make sure you read the section on calculating the config checksum. What you have to do is you have to collect the entire config data section, change the values you need to change and then calculate the checksum and set that to the data. then transmit that entire data block back to the IC