ESP32 ILI-display and PSRAM really necessary?

I am using the ILI9488 TFT display (320x480 pixel SPI-version) in many freestanding platformio projects with ESP32MINI (with Bodmers TFT_eSPI library).
This is a fantastic library that is very fast and has LOTS of functions.

Now I would like to integrate this project into ESPHOME (the same configuration, basically just a ESP32MINI and a ILI9488 SPI display), but if I run install in ESPHOME, it wont work.
The log says that the display is “Marked Failed” ,and that it Failed to init memory.

Is there any way around this (as there are no speed/memory issues in platformio using this hardware combination ??

(If I replace the ESP32MINI in ESPHOME, with a ESP32S2MINI (that has PSRAM), the display works, so it seems as this has to do with the way ESPHOME deals with the ESP32MINI)…

ESP32MINI & ILI9488 with platformio:

Yaml, logs. Bare minimum.

Same hardware as above and part of the log output from ESPHOME (Just trying to output a text line “Hello World”…:

What part to bare minimum is impossible to understand?

And don’t post images of your logs. It’s text.

Oh, really sorry, its obvious that only people who are experts in HA or ESPHome, (like you), should post questions in this forum. We newbies
(who make newbie-mistakes), should absolutely be corrected in a very unfriendly tone, as I have noticed in your anwers to my and other posts…

1 Like

2 weeks later and you still haven’t posted what has been asked for. We can’t help, if you won’t help yourself.

I am getting a very similar problem. In my case this ESP32 based display has been working fine until ESPHome Device Builder update to 2025.2.0
Here is my log: ESPDisplayFail - Pastebin.com
and here is some of the config

  name: esp32lcddisplay
  friendly_name: ESP32LCDDisplay

esp32:
  board: esp32-s2-saola-1
  framework:
    type: arduino

# Enable logging
logger:
  baud_rate: 0
  logs:
    component: ERROR  

 

# Enable Home Assistant API
api:
  encryption:
    key: ""

ota:
  platform: esphome
  password: ""
  
.
.
.
spi:
  clk_pin: 40
  mosi_pin: 39
  miso_pin: 41
    
display:
  - platform: ili9xxx
    model: ILI9488_A
    invert_colors: false


    dc_pin: 21
    reset_pin: 33 
    cs_pin: 38 

OTA updates proceed ok but display is blank and reports Failed as per logs.

I had trouble after updating to 2025.2.0 which turned out to be an issue with PSRAM. See post here:

Not sure if this is a similar issue? Sorry if this is unrelated…I’m a newbie too :slight_smile:

1 Like

If your device has PSRAM, enable that as per the INFO message with:

psram:

If not, you have two options; either use 8 bit colour mode, so in your display config add:

    color_palette: 8bit

Or use LVGL instead of the ESPHome display lambda, in that case you will need to set buffer_size: 25% in the LVGL config, but you will get 16 bit colour and faster updates.

2 Likes

Thanks for replying here.
Your solution worked for me:

  platformio_options:
    build_flags: "-DBOARD_HAS_PSRAM"

How do we help make this flow back to the devs?

Thanks.
I was not able to use buffer_size: 25% in the LVGL config as it gave a conflict with the use of a lambda.

I tried just adding “psram:” and removing the build_flags option and that worked also so I think this is the correct solution. Thanks Clyde.

1 Like

You don’t - there is no need to set build_flags, just add psram: to your config, if your board has PSRAM that is all that is required.

1 Like