115 lines
2.4 KiB
YAML
115 lines
2.4 KiB
YAML
# Sunton ESP32-8048S043C: 4.3" 800x480 RGB LCD + GT911 capacitive touch.
|
|
# Edit bambu-display/printers.yaml, then run its generate.py to change the fleet.
|
|
substitutions:
|
|
device_name: bambu-printer-display
|
|
friendly_name: Bambu Printer Display
|
|
|
|
esphome:
|
|
name: ${device_name}
|
|
friendly_name: ${friendly_name}
|
|
min_version: 2026.9.0
|
|
includes:
|
|
- bambu-display/dashboard.h
|
|
|
|
esp32:
|
|
board: esp32-s3-devkitc-1
|
|
flash_size: 16MB
|
|
flash_mode: dio
|
|
cpu_frequency: 240MHz
|
|
framework:
|
|
type: esp-idf
|
|
sdkconfig_options:
|
|
CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
|
|
CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
|
|
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: "y"
|
|
CONFIG_SPIRAM_RODATA: "y"
|
|
|
|
psram:
|
|
mode: octal
|
|
speed: 80MHz
|
|
|
|
logger:
|
|
hardware_uart: UART0 # GPIO19/20 are the touch bus, not native USB.
|
|
|
|
api:
|
|
id: ha_api
|
|
encryption:
|
|
key: !secret api_encryption_key
|
|
|
|
ota:
|
|
- platform: esphome
|
|
encryption:
|
|
key: !secret api_encryption_key
|
|
|
|
wifi:
|
|
ssid: !secret wifi_iot_ssid
|
|
password: !secret wifi_password
|
|
|
|
i2c:
|
|
id: touch_bus
|
|
sda: GPIO19
|
|
scl: GPIO20
|
|
scan: true
|
|
|
|
display:
|
|
- platform: mipi_rgb
|
|
id: panel_display
|
|
model: RPI
|
|
dimensions: 800x480
|
|
color_order: RGB
|
|
byte_order: little_endian
|
|
de_pin: GPIO40
|
|
hsync_pin: GPIO39
|
|
vsync_pin: GPIO41
|
|
pclk_pin: GPIO42
|
|
pclk_inverted: true
|
|
pclk_frequency: 16MHz
|
|
hsync_front_porch: 8
|
|
hsync_pulse_width: 4
|
|
hsync_back_porch: 8
|
|
vsync_front_porch: 8
|
|
vsync_pulse_width: 4
|
|
vsync_back_porch: 8
|
|
data_pins:
|
|
red: [GPIO45, GPIO48, GPIO47, GPIO21, GPIO14]
|
|
green: [GPIO5, GPIO6, GPIO7, GPIO15, GPIO16, GPIO4]
|
|
blue: [GPIO8, GPIO3, GPIO46, GPIO9, GPIO1]
|
|
auto_clear_enabled: false
|
|
update_interval: never
|
|
|
|
touchscreen:
|
|
- platform: gt911
|
|
id: panel_touch
|
|
display: panel_display
|
|
i2c_id: touch_bus
|
|
address: 0x5D
|
|
# Polling avoids the GT911 INT pin's boot/address-selection behaviour.
|
|
update_interval: 20ms
|
|
|
|
output:
|
|
- platform: ledc
|
|
id: backlight_output
|
|
pin: GPIO2
|
|
|
|
light:
|
|
- platform: monochromatic
|
|
id: panel_backlight
|
|
name: Backlight
|
|
output: backlight_output
|
|
restore_mode: ALWAYS_ON
|
|
default_transition_length: 0s
|
|
|
|
packages:
|
|
fleet: !include bambu-display/generated.yaml
|
|
|
|
lvgl:
|
|
id: dashboard
|
|
displays: [panel_display]
|
|
touchscreens: [panel_touch]
|
|
buffer_size: 12%
|
|
color_depth: 16
|
|
byte_order: little_endian
|
|
bg_color: 0x0D131B
|
|
text_color: 0xEDF3F7
|
|
default_font: montserrat_18
|