Hi, da mir der Post sehr weitergeholfen hat und ich keinen Zugriff auf den Discord Channel hatte, habe ich nach sehr viel probieren nun eine funktionierende Lösung für ein Waveshare esp32-s3-touch-lcd-4 V3 (Rev3.0 auf der Rückseite gedruckt) https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-4
esphome:
name: esp32-s3-touch-lcd-4-v3
friendly_name: esp32-s3-touch-lcd-4-v3
on_boot:
priority: -100
then:
- switch.turn_on: backlight_switch
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
flash_size: 16MB
framework:
type: esp-idf
sdkconfig_options:
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: "y"
CONFIG_SPIRAM_RODATA: "y"
components:
- name: "espressif/esp_websocket_client"
ref: 1.5.0
- name: "bitbank2/jpegdec"
source: https://github.com/strange-v/jpegdec-esphome
preferences:
flash_write_interval: 1min
psram:
mode: octal
speed: 80MHz
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: xxxxxx
ota:
- platform: esphome
password: xxxxxx
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
external_components:
- source: github://strange-v/RemoteWebViewClient@main
refresh: 0s
components: [ remote_webview ]
i2c:
- id: tp_i2c
sda: GPIO15
scl: GPIO7
pca9554:
id: expander
pin_count: 8
i2c_id: tp_i2c
address: 0x20
touchscreen:
platform: gt911
i2c_id: tp_i2c
id: my_touchscreen
display: my_display
reset_pin:
pca9554: expander
number: 0
interrupt_pin: GPIO16
switch:
- platform: gpio
id: buzzer
name: "buzzer"
pin:
pca9554: expander
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: backlight_switch
name: "backlight switch"
pin:
pca9554: expander
number: 1
mode:
output: true
inverted: false
spi:
- id: lcd_spi
interface: spi3
mosi_pin: GPIO1
clk_pin: GPIO2
display:
- platform: mipi_rgb
model: WAVESHARE-4-480x480
id: my_display
rotation: 0
update_interval: never
spi_mode: MODE3
auto_clear_enabled: false
pclk_inverted: false
pclk_frequency: 12MHz
pixel_mode: 18
dimensions:
height: 480
width: 480
offset_width: 0
offset_height: 0
hsync_pulse_width: 8
hsync_front_porch: 50
hsync_back_porch: 10
vsync_pulse_width: 3
vsync_front_porch: 8
vsync_back_porch: 8
reset_pin:
pca9554: expander
number: 2
de_pin:
number: 40
hsync_pin:
number: 38
vsync_pin:
number: 39
pclk_pin: 41
data_pins:
red:
- 46 #r3
- 3 #r4
- 8 #r5
- 18 #r6
- 17 #r7
blue:
- 5 #b3
- 45 #b4
- 48 #b5
- 47 #b6
- 21 #b7
green:
- 14 #g2
- 13 #g3
- 12 #g4
- 11 #g5
- 10 #g6
- 9 #g7
init_sequence:
- [0x11, 0x00]
- delay 120ms
- [0xFF, 0x77, 0x01, 0x00, 0x00, 0x10]
- [0xC0, 0x3B, 0x00]
- [0xC1, 0x0D, 0x02]
- [0xC2, 0x21, 0x08]
- [0xCD, 0x08]
- [0xB0, 0x00, 0x11, 0x18, 0x0E, 0x11, 0x06, 0x07, 0x08, 0x07, 0x22, 0x04, 0x12, 0x0F, 0xAA, 0x31, 0x18]
- [0xB1, 0x00, 0x11, 0x19, 0x0E, 0x12, 0x07, 0x08, 0x08, 0x08, 0x22, 0x04, 0x11, 0x11, 0xA9, 0x32, 0x18]
- [0xFF, 0x77, 0x01, 0x00, 0x00, 0x11]
- [0xB0, 0x60]
- [0xB1, 0x30]
- [0xB2, 0x87]
- [0xB3, 0x80]
- [0xB5, 0x49]
- [0xB7, 0x85]
- [0xB8, 0x21]
- [0xC1, 0x78]
- [0xC2, 0x78]
- delay 20ms
- [0xE0, 0x00, 0x1B, 0x02]
- [0xE1, 0x08, 0xA0, 0x00, 0x00, 0x07, 0xA0, 0x00, 0x00, 0x00, 0x44, 0x44]
- [0xE2, 0x11, 0x11, 0x44, 0x44, 0xED, 0xA0, 0x00, 0x00, 0xEC, 0xA0, 0x00, 0x00]
- [0xE3, 0x00, 0x00, 0x11, 0x11]
- [0xE4, 0x44, 0x44]
- [0xE5, 0x0A, 0xE9, 0xD8, 0xA0, 0x0C, 0xEB, 0xD8, 0xA0, 0x0E, 0xED, 0xD8, 0xA0, 0x10, 0xEF, 0xD8, 0xA0]
- [0xE6, 0x00, 0x00, 0x11, 0x11]
- [0xE7, 0x44, 0x44]
- [0xE8, 0x09, 0xE8, 0xD8, 0xA0, 0x0B, 0xEA, 0xD8, 0xA0, 0x0D, 0xEC, 0xD8, 0xA0, 0x0F, 0xEE, 0xD8, 0xA0]
- [0xEB, 0x02, 0x00, 0xE4, 0xE4, 0x88, 0x00, 0x40]
- [0xEC, 0x3C, 0x00]
- [0xED, 0xAB, 0x89, 0x76, 0x54, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x45, 0x67, 0x98, 0xBA]
- [0xFF, 0x77, 0x01, 0x00, 0x00, 0x00]
- [0x36, 0x04]
- [0x3A, 0x66]
- [0x21, 0x00]
- delay 120ms
- [0x29, 0x00]
show_test_card: false
remote_webview:
id: rwv
server: 192.168.70.10:8081
big_endian: true
url: https://homeassistant.locale:8123/
# set url: "self-test" to initiate the self-test
#url: "self-test"
full_frame_tile_count: 1
max_bytes_per_msg: 61440
jpeg_quality: 85
Die externen Komponenten sind nur für den remote_webview teil, ein tolles Projekt auf welches ich bei der Lösungssuche gestoßen bin. GitHub - strange-v/RemoteWebViewServer: Headless browser that renders target web pages (e.g., Home Assistant dashboards) and streams them as image tiles over WebSocket to lightweight clients (ESP32 displays)
Ich hoffe es hilft einigen weiter, da das Modell relativ günstig zu bekommen ist 