Hi folks!
I have a Cheap Yellow Display (ESP32-2432S028) and while it works fine using lambda to put stuff on the screen, I would really like to use LVGL instead as that’s easier for my tiny brain to comprehend.
However, I can’t for the life of me even get a basic Hello World to display when using LVGL
This is my ESPHome script:
esphome:
name: esphome-web-6d0fe4
friendly_name: yellow
min_version: 2024.11.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: arduino
logger:
level: DEBUG
api:
psram:
ota:
- platform: esphome
wifi:
ssid: "xxxx"
password: "xxxx"
spi:
- id: tft
clk_pin: GPIO14
mosi_pin: GPIO13
miso_pin: GPIO12
interface: hardware
lvgl:
display:
- platform: ili9xxx
id: coolscreen
model: TFT_2.4
cs_pin: GPIO15
dc_pin: GPIO2
invert_colors: false
update_interval: never
auto_clear_enabled: false
spi_id: tft
And this is the log output in ESPHome after uploading the script to the device:
[09:56:06][I][app:100]: ESPHome version 2025.4.1 compiled on May 11 2025, 09:54:23
[09:56:06][C][wifi:600]: WiFi:
[09:56:06][C][wifi:428]: Local MAC: 14:33:5C:6D:0F:E4
[09:56:06][C][wifi:433]: SSID: [redacted]
[09:56:06][C][wifi:436]: IP Address: 192.168.1.38
[09:56:06][C][wifi:440]: BSSID: [redacted]
[09:56:06][C][wifi:441]: Hostname: 'esphome-web-6d0fe4'
[09:56:06][C][wifi:443]: Signal strength: -52 dB ▂▄▆█
[09:56:06][C][wifi:447]: Channel: 11
[09:56:06][C][wifi:448]: Subnet: 255.255.255.0
[09:56:06][C][wifi:449]: Gateway: 192.168.1.1
[09:56:06][C][wifi:450]: DNS1: 192.168.1.1
[09:56:06][C][wifi:451]: DNS2: 0.0.0.0
[09:56:06][C][logger:177]: Logger:
[09:56:06][C][logger:178]: Max Level: DEBUG
[09:56:06][C][logger:179]: Initial Level: DEBUG
[09:56:06][C][logger:181]: Log Baud Rate: 115200
[09:56:06][C][logger:182]: Hardware UART: UART0
[09:56:06][C][spi:068]: SPI bus:
[09:56:06][C][spi:069]: CLK Pin: GPIO14
[09:56:06][C][spi:070]: SDI Pin: GPIO12
[09:56:06][C][spi:071]: SDO Pin: GPIO13
[09:56:06][C][spi:076]: Using HW SPI: SPI
[09:56:06][C][ili9xxx:091]: ili9xxx
[09:56:06][C][ili9xxx:091]: Rotations: 0 °
[09:56:06][C][ili9xxx:091]: Dimensions: 240px x 320px
[09:56:06][C][ili9xxx:092]: Width Offset: 0
[09:56:06][C][ili9xxx:093]: Height Offset: 0
[09:56:06][C][ili9xxx:099]: Color mode: 16bit
[09:56:06][C][ili9xxx:108]: Data rate: 40MHz
[09:56:06][C][ili9xxx:111]: CS Pin: GPIO15
[09:56:06][C][ili9xxx:112]: DC Pin: GPIO2
[09:56:06][C][ili9xxx:114]: Color order: BGR
[09:56:06][C][ili9xxx:115]: Swap_xy: NO
[09:56:06][C][ili9xxx:116]: Mirror_x: YES
[09:56:06][C][ili9xxx:117]: Mirror_y: NO
[09:56:06][C][ili9xxx:118]: Invert colors: NO
[09:56:06][C][ili9xxx:123]: Update Interval: never
[09:56:06][C][psram:018]: PSRAM:
[09:56:06][C][psram:033]: Available: NO
[09:56:06][C][lvgl:086]: LVGL:
[09:56:06][C][lvgl:087]: Display width/height: 320 x 240
[09:56:06][C][lvgl:088]: Rotation: 0
[09:56:06][C][lvgl:089]: Draw rounding: 2
[09:56:06][E][component:082]: Component lvgl is marked FAILED:
[09:56:06][C][mdns:116]: mDNS:
[09:56:06][C][mdns:117]: Hostname: esphome-web-6d0fe4
[09:56:06][C][esphome.ota:073]: Over-The-Air updates:
[09:56:06][C][esphome.ota:074]: Address: esphome-web-6d0fe4.local:3232
[09:56:06][C][esphome.ota:075]: Version: 2
[09:56:06][C][safe_mode:018]: Safe Mode:
[09:56:06][C][safe_mode:020]: Boot considered successful after 60 seconds
[09:56:06][C][safe_mode:021]: Invoke after 10 boot attempts
[09:56:06][C][safe_mode:023]: Remain in safe mode for 300 seconds
[09:56:06][C][api:140]: API Server:
[09:56:06][C][api:141]: Address: esphome-web-6d0fe4.local:6053
[09:56:06][C][api:145]: Using noise encryption: NO
The only hint is Component lvgl is marked FAILED:
- which isn’t very helpful
Anyone have any hints? Or is LVGL just not possible on this $10 gizmo?