Also work with micropython lvgl too:
Hi,
Do you have exemple for 7" Waveshare ( [ESP32-S3-Touch-LCD-7] because I cannot use touchscreen?
Hi, yes, I’ve uploaded this example to my github, Scroll down to the bottom of the readme page for the link.
Please don’t forget to share your code and findings so we can all learn from each other.
I’ve started another post for the ESP32-S3-Touch-LCD-7
I played with another microcontroller with display with the help of which I extract the data from the Home Assistant server and display them on the 7-inch display. See in this video: https://youtu.be/iKTeAz46-Ds
Tried your code on a display, that I received recently - just black screen (Model JC3248W535C_I_Y).
Using EspHome 2024.11.3
When flashed, the screen is just black, and the COM port jumps up/down on the connected windows host.
Any clue what the issue could be ?
Re-flashing with firmware file JC3248W535C_I_Y_EN-80M.bin makes the display work again (factory file)
Sometimes it helps by clearing the buid files.
Did you compile it with these settings ?
psram:
mode: octal
speed: 120MHz
esp32:
board: esp32s3box
variant: ESP32S3
flash_size: 8MB
framework:
type: esp-idf
If so, you don’t get any errors or warnings ?
This should be 80MHz. 120MHz doesn’t work, just silently falls back to 40MHz, which works, but isn’t quite as fast.
Another thing to try is using the ESPHOME website to flash the device…
https://web.esphome.io/
and use Prepare For First Use.
That might give a clue to what’s happening.
When I’ve have the USB port continually dropping out it usually means it’s crashing on boot.
I have had one of these in use for a while, working fine until ESPHome 2025.3. Graphics and all work fine but the touchscreen does not. Touch on left lower corner register on top right corner. but touch on left top coner does not register on lower right corner. There does not seem to be any logic. Tried to clibrate it without success, only partially correct touches after that.
Possibly due to [touchscreen] Axis swap bugfix by clydebarrow · Pull Request #8376 · esphome/esphome ?
Tried also latest 2025.4 but same happens. Downgrade to 2025.2 restores functionality. Anyone else had the same and got some resolution?
This is my configuration for the touchscreen:
touchscreen:
platform: axs15231
transform:
swap_xy: true # 0=false, 90=true, 180=false, 270=true
mirror_x: true # 0=false, 90=true, 180=true, 270=false
mirror_y: false # 0=false, 90=false, 180=true, 270=true
Anyone have good experience on other config at 2025.3 → ?
Set the calibration values for the touchscreen (that previously did not work, but there is a fix in the latest release.)
The lack of hardware rotation in the display is the root of the problem, and there will probably be a future change to make that work more seamlessly, but for now using the calibration settings will get you going.
You are correct, with 2025.4 the calibration values work. Thanks for letting me know.
In case someone else is struggling with it, I followed the instructions from there: Touchscreen Components — ESPHome
Got the values on log touching each corner in order:
[14:20:49][I][cal:792]: x=458, y=200, x_raw=14, y_raw=301
[14:20:51][I][cal:792]: x=0, y=206, x_raw=461, y_raw=310
[14:20:52][I][cal:792]: x=458, y=7, x_raw=14, y_raw=12
[14:20:53][I][cal:792]: x=0, y=7, x_raw=461, y_raw=12
Based on those values the touchscreen now works perfect with these settings:
touchscreen:
platform: axs15231
calibration:
x_min: 14
x_max: 461
y_min: 12
y_max: 310
transform:
swap_xy: true # 0=false, 90=true, 180=false, 270=true
mirror_x: false # 0=false, 90=true, 180=true, 270=false
mirror_y: true # 0=false, 90=false, 180=true, 270=true
Given that it is very close to the dimensions, the setting below should work also but as my calibration seems to work perfect, I’ll go with that.
calibration:
x_min: 0
x_max: 480
y_min: 0
y_max: 320
Yes, using the screen dimensions is correct.
Newer (?) versions of the display (bought within the last week) seem to have hardware changes regarding the touch screen.
Using the exact same code on the ‘older’ and the ‘new’ version, Touch is not working anymore. The log shows lots of:
[16:01:39][D][esp-idf:000]: E (5863) i2c.master: s_i2c_synchronous_transaction(945): I2C transaction failed
[16:01:39][D][esp-idf:000]: E (5864) i2c.master: i2c_master_execute_defined_operations(1366): I2C transaction failed
Is there anyone who can replicate this? And what could be a possible reason and solution?
Jörg.
PS: according to sources I got I²C address is 0x3b. Same as before! Chip is axs15231b
What version of ESPHome? 2025.8.0 had a bug affecting i2c, fixed in 2025.8.2.
Ah, good to know! Thank you very much!!!
Jörg.
