Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Display touch doesn't work properly #638

Open
linoreale opened this issue Feb 27, 2025 · 14 comments
Open

Display touch doesn't work properly #638

linoreale opened this issue Feb 27, 2025 · 14 comments

Comments

@linoreale
Copy link

Hi everyone,
I built the miniweb radio based on your project and it works, but there's a problem with display's touch system.
I'm using a ESP32-S3 N16R8 board and an ILI9488 display. On system boot it shows esp web radio logo and then last radio starts playng, but touch screen doesn't respond correctly, if I touch an icon, the led on esp board blinks but no action happens or wrong action or function starts.
Could it be a display problem, a wrong wiring or a known software problem?
Thanks and regards

Michele

@skassel2024
Copy link

richtige TP_VERSION, TP_ROTATION, TP_H_MIRROR, TP_V_MIRROR in common.h ?
Bei ILI9488 TP_VERSION auf 4 setzen. Standard ist 5 (ST7796)

Image

@linoreale
Copy link
Author

Hi skassel2024,
yes, I set 4 for ILI9488 and left other as default.
What can I try in addition?
Thanks and regards

@schreibfaul1
Copy link
Owner

Some displays have a design flaw, maybe it's the same with your display?
https://github.com/schreibfaul1/ESP32-MiniWebRadio/tree/V4-pre-release?tab=readme-ov-file#display

@valera39
Copy link

linoreale, Try installing the touchpad version from a different display, such as ILI9486

@linoreale
Copy link
Author

Okay,
so, have I try to disconnect TFT_DC or TFT_CS pin?
Thanks a lot to you all!
Regards

@valera39
Copy link

linoreale, TFT_DC and TFT_CS do not need to be disabled

@linoreale
Copy link
Author

linoreale commented Mar 1, 2025

Hi,
on common.h I modified all the availlable variables but it's still not working. Screen shows images correctly but it seems touch pad is rotated on 90 degrees and no option modfies this.
Tried setting different display, rotation mirror and so on but it doesn't woek
what can I try again?
above my commn.h

// clang-format off
#define _SSID                   "050153"                        // Your WiFi credentials here
#define _PW                     ""                // Or in textfile on SD-card
#define DECODER                 1                               // (1)MAX98357A PCM5102A CS4344... (2)AC101, (3)ES8388
#define TFT_CONTROLLER          4                               // (0)ILI9341, (1)HX8347D, (2)ILI9486a, (3)ILI9486b, (4)ILI9488, (5)ST7796, (6)ST7796RPI
#define DISPLAY_INVERSION       0                               // (0) off (1) on
#define TFT_ROTATION            1                               // 1 or 3 (landscape)
#define TFT_FREQUENCY           40000000                        // 80000000, 40000000, 27000000, 20000000, 10000000
#define TP_VERSION              4                               // (0)ILI9341, (1)ILI9341RPI, (2)HX8347D, (3)ILI9486, (4)ILI9488, (5)ST7796, (6)ST7796RPI, (7)GT911
#define TP_ROTATION             1                               // 1 or 3 (landscape)
#define TP_H_MIRROR             0                               // (0) default, (1) mirror up <-> down
#define TP_V_MIRROR             0                               // (0) default, (1) mittor left <-> right
#define I2S_COMM_FMT            0                               // (0) MAX98357A PCM5102A CS4344, (1) LSBJ (Least Significant Bit Justified format) PT8211
#define SDMMC_FREQUENCY         80000000                        // 80000000 or 40000000 Hz
#define FTP_USERNAME            "esp32"                         // user and pw in FTP Client
#define FTP_PASSWORD            "esp32"
#define CONN_TIMEOUT            2500                            // unencrypted connection timeout in ms (http://...)
#define CONN_TIMEOUT_SSL        3500                            // encrypted connection timeout in ms (https://...)
#define WIFI_TX_POWER           5                               // 2 ... 21 (dBm) Adjust the WiFi transmission power to optimise power consumption or increase range, default: 5

@valera39
Copy link

valera39 commented Mar 1, 2025

linoreale, and have you tried this combination TFT_ROTATION 1 and define TP_ROTATION 3
or TFT_ROTATION 3 and define TP_ROTATION 1 ?

@valera39
Copy link

valera39 commented Mar 1, 2025

Do you have the same display?
Image
I have the same display and it requires non-standard combinations of touchpad and orientation settings

@linoreale
Copy link
Author

Hi valera39,
It seems the same.
Anyway, have I change values in common.h , build , compile and upload each time?
Thanks a lot, I'll try you suggestion.
Regards

@valera39
Copy link

valera39 commented Mar 1, 2025

linoreale, Yes, exactly like that, change one parameter, compile, test. If it doesn't fit, change it again and so on until we get what we need.
I also fiddled with such a display for a long time until I set it up correctly :)
I don't buy such displays anymore
Good luck!

@valera39
Copy link

valera39 commented Mar 1, 2025

linoreale. Here I found in my archive common.h from the second version of the radio with such display. Try it, maybe it will help
#define _SSID "" // Your WiFi credentials here
#define _PW "
"
#define DECODER 0 // (0)VS1053 , (1)MAX98357A PCM5102A... (2)AC101 (3)ES8388 (4)WM8978
#define TFT_CONTROLLER 4 // (0)ILI9341, (1)HX8347D, (2)ILI9486a, (3)ILI9486b, (4)ILI9488, (5)ST7796, (6)ST7796RPI
#define DISPLAY_INVERSION 0 // (0) off (1) on
#define TFT_ROTATION 1 // 1 or 3 (landscape)
#define TFT_FREQUENCY 40000000 // 27000000, 40000000, 80000000
#define TP_VERSION 3 // (0)ILI9341, (1)ILI9341RPI, (2)HX8347D, (3)ILI9486, (4)ILI9488, (5)ST7796, (3)ST7796RPI
#define TP_ROTATION 3 // 1 or 3 (landscape)
#define AUDIOTASK_CORE 0 // 0 or 1
#define AUDIOTASK_PRIO 2 // 0 ... 24 Priority of the Task (0...configMAX_PRIORITIES -1)
#define SDMMC_FREQUENCY 20000000 // 40000000, 2000000, 10000000, not every SD Card will run at 40MHz
#define FTP_USERNAME "esp32" // user and pw in FTP Client
#define FTP_PASSWORD "esp32"
#define CONN_TIMEOUT 500 // unencrypted connection timeout in ms (http://...)
#define CONN_TIMEOUT_SSL 2000 // encrypted connection timeout in ms (https://...)

@linoreale
Copy link
Author

Hi,
I tried all availlable displays in the code list but touch panel doesn't still work properly, it remains 90° rotated, even though I set rotation 1 or 3 on each display version.
What else can I try? Is there something else to change in the code?
What display version works for sure, so I buy it?
Thanks and regards

@linoreale
Copy link
Author

Hi,
I'm wondering if there are any other tp_rotation option to use in addition to provided options or if it's possible to use other display drivers in the code
thamks

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants