Upgrade to 2026.04 breaks tdisplay/ST7789V display

On 2026.03, my tdisplay esp32 works using:

display:
  - platform: ili9xxx 
    model: ILI9341

When I upgraded to 2026.04, I got a blank (but backlit) display using the now deprecated ili9xxx platform.

When I switched to the new mipi_spi platform:

display:
  - platform: mipi_spy
    model: st7789v

I got a screen full of random colored white noise.

In some cases, when I pressed the reset button, it restarted on the same old screen containing old sensor values - preserving the old pre-upgrade screen sensor values no matter how many times I reset.

Seems like the upgrade perhaps breaks initialization of the display regardless of the driver used.

Any thoughts?

Did you configure PSRAM?

Show your config.

My board doesn’t have PSRAM.

#### Code for tdisplay s7789 240x135 graphical display follows
spi:
  clk_pin: GPIO18
  mosi_pin: GPIO19

display:
#  - platform: ili9xxx
#    model: ST7789V  # TTGO_TDisplay_135x240
  - platform: mipi_spi
    model: st7789v  # TTGO_TDisplay_135x240
    id: tft_display
    cs_pin: GPIO5
    dc_pin: GPIO16
    reset_pin: GPIO23
    dimensions:
      height: 240
      width: 135
      offset_height: 40
      offset_width: 52
    invert_colors: true  # Required or the colors are all inverted, and Black screen is White
    auto_clear_enabled: false
    rotation: 270
#    color_palette: 8BIT  # Use 8-bit color depth to reduce memory usage
    color_depth: 8  # Use 8-bit color depth to reduce memory usage
    update_interval: ${update_interval}
    lambda: |-

This is the version that gives a white-noise filled screen using mipi_spi
If I use ili9xxx (the commented out code), I get a black screen.

Per the discord channel, it seems like several people are having similar problems on this display as well as others…

Are you using LVGL? If so. Please read the release notes, especially the breaking changes to LVGL.

There is a specific model for the T-Display. The above should be all you need.

And if you still have troubles, show your complete config.

I have a GC9A01A display and simply changed the platform line from ili9xxx to mini_spi - this works but introduces horizontal lines on the screen…

display:
  - platform: mipi_spi
    model: GC9A01A  
    id: watchface
    cs_pin: GPIO10
    dc_pin: GPIO2
    reset_pin: GPIO1
    invert_colors: True


Does anybody know why this is happening?

Not using LVGL

I posted the complete config in Nov 2025 ESPHome config to read from PC-60FW bluetooth Pulse Oximeter and display locally - #16 by puterboy

The only change is that I tried as-is using platform: ili9xxx which gives the black screen (only backlight is on) and with the above posted mod using platform: mipi_spi that gave the colored white noise-like static.

Add draw_rounding: 1 to the config, that should fix it for now. Proper fix in progress.

Or add buffer_size: 25% instead.

Neither option fixes it with mipi_spi.
Specifically, draw_rounding:1 does nothing while buffer_size: 25% fixes the top text line of the screen but rest of screen remains white noise static.

Also neither option is even recognized by the legacy ili9xxx platform.

I tried buffer_size: 100% (the maximum allowed) and it fixed everything but a small square in the lower right corner of the display.

Bottom line is that this is still broken

I am also getting the same result with M5Stack Dial 1.1. Adding “buffer_size: 100%” does fix the problem. Without “buffer_size: 100%” I also get the startup sound to be slowed down…

Should all be fixed with [mipi_spi] Drawing fixes for native display by clydebarrow · Pull Request #15802 · esphome/esphome · GitHub (now merged into dev and will be in the next point release.)

Perfect!

I try substituting:

platform: ili9xxx
with
platform: mipi_spi
…on my ST7789V display, I have been making use of the options:
color_palette: IMAGE_ADAPTIVE

color_palette_images:

These color palette options do not seem to be present with “platform: mipi_spi”. Without the option of setting a color palette according to some sample images, my device just can’t display the images well. Is there a plan to add the color palette option to mipi_spi ?

There’s no plan as such but it could be done. ili9xxx isn’t going to be removed any time soon, and it has been fixed in the latest release, but if that’s a needed feature it can be added to mipi_spi.

I’d suggest opening an issue on GitHub, then be a little patient.