ESP8266 + SPI ST7789 DISPLAY 320x240 + I2C BME broken wifi

Hello,
I am trying to use firebeetle ESP82266 with BME280 I2C and SPI color display 320x240 with ST7789. When i compile without display and load the binary, everything works. But when i add display and i load the binary the board is not connected as you can see in the log file :

INFO ESPHome 2024.11.2
INFO Reading configuration /config/esphome/test.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing test (board: esp01_1m; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
Dependency Graph
|-- ESPAsyncTCP-esphome @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- Wire @ 1.0
|-- SPI @ 1.0
|-- ArduinoJson @ 6.18.5
Compiling .pioenvs/test/src/main.cpp.o
Linking .pioenvs/test/firmware.elf
RAM:   [====      ]  43.3% (used 35472 bytes from 81920 bytes)
Flash: [====      ]  44.1% (used 451433 bytes from 1023984 bytes)
Building .pioenvs/test/firmware.bin
esp8266_copy_factory_bin([".pioenvs/test/firmware.bin"], [".pioenvs/test/firmware.elf"])
esp8266_copy_ota_bin([".pioenvs/test/firmware.bin"], [".pioenvs/test/firmware.elf"])
========================= [SUCCESS] Took 18.49 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.0.110 port 8266...
INFO Connected to 192.168.0.110
INFO Uploading /data/build/test/.pioenvs/test/firmware.bin (455584 bytes)
INFO Compressed to 318264 bytes
Uploading: [============================================================] 100% Done...

INFO Upload took 5.33 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.0.110 using esphome API
WARNING Can't connect to ESPHome API for test @ 192.168.0.110: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.0.110', port=6053))]: [Errno 111] Connect call failed ('192.168.0.110', 6053) (SocketAPIError)
INFO Trying to connect to test @ 192.168.0.110 in the background

My code is as follows :

esphome:
  name: test
  friendly_name: test
  project:
    name: esphome.web
    version: dev

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:

i2c:
  sda: GPIO4
  scl: GPIO5
  scan: true

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13
  interface: hardware

sensor:
  - platform: bme280_i2c
    temperature:
      name: "Température chambre"
      oversampling: 16x
    pressure:
      name: "Pression chambre"
    humidity:
      name: "Humidité chambre"
    address: 0x77
    update_interval: 60s

display:
  - platform: st7789v
    model: CUSTOM
    height: 240
    width: 320
    offset_height: 0
    offset_width: 0
    dc_pin: GPIO0
    reset_pin: GPIO2

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

captive_portal:

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp8266.yaml@main
  import_full_config: true

# To have a "next url" for improv serial
web_server:

I tried many options but nothing works. Can you help me please.

did you try with ILI9xxx component?

Thanks for your answer, yes I tried with ILI9xxx plateform and ST7789V model but it doesn’t work either with the same error.

If i define just display without option (plateform and model …) that works. Perhaps ST7789V driver break wifi communication with ESP8266 core.

Once binary loaded, when esp tries to connect to homeassistant server a blue led blinks and finally stays on.

Not going to work as the display will need at a minimum around 76K of RAM, you only have around 40K free. You need to use an ESP32, preferably with PSRAM.

Hi Clyde,
I suspected a board compatibility problem.
Thanks for your answer.