Sharing my configuration for the Waveshare esp-s3-touch-led-1.9. This configures the display in a horizontal orientation with lvgl support.
esphome:
name: esp32-s3-touch
friendly_name: esp32-s3-touch
on_boot:
priority: 600
then:
# Wake the screen and start the timeout on boot
- script.execute: wake_up_script
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
psram:
mode: octal
captive_portal:
# Enable logging
logger:
level: INFO
i2c:
sda: GPIO47
scl: GPIO48
scan: true
spi:
clk_pin: GPIO10
mosi_pin: GPIO13
touchscreen:
platform: cst816
id: my_touchscreen
interrupt_pin: GPIO21
reset_pin: GPIO17
calibration:
x_min: 4
x_max: 317
y_min: 1
y_max: 160
transform:
swap_xy: true
mirror_y: true
display:
- platform: st7789v
id: tft_ha
model: Waveshare 1.47in 172X320
dc_pin: GPIO11
cs_pin: GPIO12
reset_pin: GPIO9
backlight_pin: no
height: 320
width: 172
offset_height: 34
offset_width: 0
update_interval: 100ms
spi_mode: 0
# Setup pin for backlight control using LEDC for dimming
output:
- platform: ledc
id: backlight
pin:
number: GPIO14
inverted: true
script:
- id: wake_up_script
then:
# Set backlight to full brightness
- output.set_level:
id: backlight
level: 100%
lvgl: