ESP 32 avec ecran integré dans esp home

Bonjour,

je n’arrive pas a faire fonctionner l’écran intégré de mon ESP32 avec esphome

j’ai recu en test l’esp32 suivant : https://www.amazon.fr/diymore-ESP32-ESP-WROOM-32-OLED/dp/B0DK399Y9Q?ref_=ast_sto_dp&th=1
je l’ai intégré sans souci via esp home et fais qque test tout va bien, je le retrouve dans home assistant.
mon probleme, c’est quer je n’arive pas a faire fonctionner l’écran, alors que le programme de test préchargé (et que je n’ai plus bien sur:/ ) affichait bien une image en couleur.

Comme je débute en esp home j’ai peu etre loupé qque chose?
touours est il que je me tape les mots doux suivants dans les logs
[…]
[20:57:52][I][i2c.arduino:096]: Results from i2c bus scan:
[20:57:52][I][i2c.arduino:098]: Found no i2c devices!
{…]
[20:57:52][E][ssd1306_i2c:036]: Communication with SSD1306 failed!
[20:57:52][E][component:082]: Component display is marked FAILED
[…]

Help please :slight_smile:

le pdf de documenttion est le suivant :manuel pdf

le code esp home « hello word » que j’ai fait est le suivant :

esphome:
  name: testxscren
  friendly_name: testxscren

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  level: DEBUG
# Enable Home Assistant API
api:
  encryption:
    key: "######################"

ota:
  - platform: esphome
    password: "######################"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Testxscren Fallback Hotspot"
    password: "######################"
i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true
font:
  - file: "fonts/arial.ttf"  # Fichier de police sans majuscule
    id: my_font
    size: 20

display:
  - platform: ssd1306_i2c
    
    model: "SSD1306 128x64"
    address: 0x3D  # ou `0x3C` j'ai testé aussi meme resultat
    update_interval: 1s
    lambda: |-
      it.print(0, 0, id(my_font), "Hello, ESPHome!");

et les logs sont les suivants
log de compil :

INFO ESPHome 2024.11.3
INFO Reading configuration /config/esphome/testxscren.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing testxscren (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Update @ 2.0.0
|-- noise-c @ 0.1.6
|-- Wire @ 2.0.0
Compiling .pioenvs/testxscren/src/main.cpp.o
Linking .pioenvs/testxscren/firmware.elf
RAM:   [=         ]  12.3% (used 40408 bytes from 327680 bytes)
Flash: [=====     ]  48.6% (used 891901 bytes from 1835008 bytes)
Building .pioenvs/testxscren/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/testxscren/firmware.bin"], [".pioenvs/testxscren/firmware.elf"])
Wrote 0xeb290 bytes to file /data/build/testxscren/.pioenvs/testxscren/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/testxscren/firmware.bin"], [".pioenvs/testxscren/firmware.elf"])
========================= [SUCCESS] Took 61.66 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.62 port 3232...
INFO Connected to 192.168.1.62
INFO Uploading /data/build/testxscren/.pioenvs/testxscren/firmware.bin (897680 bytes)
Uploading: [============================================================] 100% Done...
INFO Upload took 8.98 seconds, waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO ESPHome 2024.11.3
INFO Reading configuration /config/esphome/testxscren.yaml...
INFO Starting log output from 192.168.1.62 using esphome API
INFO Successfully connected to testxscren @ 192.168.1.62 in 0.045s
INFO Successful handshake with testxscren @ 192.168.1.62 in 0.087s
[20:57:52][I][app:100]: ESPHome version 2024.11.3 compiled on Dec 12 2024, 22:31:13
[20:57:52][C][wifi:600]: WiFi:
[20:57:52][C][wifi:428]:   Local MAC: 88:13:BF:25:13:88
[20:57:52][C][wifi:433]:   SSID: [redacted]
[20:57:52][C][wifi:436]:   IP Address: 192.168.1.62
[20:57:52][C][wifi:440]:   BSSID: [redacted]
[20:57:52][C][wifi:441]:   Hostname: 'testxscren'
[20:57:52][C][wifi:443]:   Signal strength: -57 dB ▂▄▆█
[20:57:52][C][wifi:447]:   Channel: 11
[20:57:52][C][wifi:448]:   Subnet: 255.255.255.0
[20:57:52][C][wifi:449]:   Gateway: 192.168.1.1
[20:57:52][C][wifi:450]:   DNS1: 192.168.1.1
[20:57:52][C][wifi:451]:   DNS2: 0.0.0.0
[20:57:52][C][logger:185]: Logger:
[20:57:52][C][logger:186]:   Level: DEBUG
[20:57:52][C][logger:188]:   Log Baud Rate: 115200
[20:57:52][C][logger:189]:   Hardware UART: UART0
[20:57:52][C][i2c.arduino:071]: I2C Bus:
[20:57:52][C][i2c.arduino:072]:   SDA Pin: GPIO21
[20:57:52][C][i2c.arduino:073]:   SCL Pin: GPIO22
[20:57:52][C][i2c.arduino:074]:   Frequency: 400000 Hz
[20:57:52][C][i2c.arduino:086]:   Recovery: bus successfully recovered
[20:57:52][I][i2c.arduino:096]: Results from i2c bus scan:
[20:57:52][I][i2c.arduino:098]: Found no i2c devices!
[20:57:52][C][ssd1306_i2c:023]: I2C SSD1306
[20:57:52][C][ssd1306_i2c:023]:   Rotations: 0 °
[20:57:52][C][ssd1306_i2c:023]:   Dimensions: 128px x 64px
[20:57:52][C][ssd1306_i2c:024]:   Address: 0x3D
[20:57:52][C][ssd1306_i2c:025]:   Model: SSD1306 128x64
[20:57:52][C][ssd1306_i2c:027]:   External VCC: NO
[20:57:52][C][ssd1306_i2c:028]:   Flip X: YES
[20:57:52][C][ssd1306_i2c:029]:   Flip Y: YES
[20:57:52][C][ssd1306_i2c:030]:   Offset X: 0
[20:57:52][C][ssd1306_i2c:031]:   Offset Y: 0
[20:57:52][C][ssd1306_i2c:032]:   Inverted Color: NO
[20:57:52][C][ssd1306_i2c:033]:   Update Interval: 1.0s
[20:57:52][E][ssd1306_i2c:036]: Communication with SSD1306 failed!
[20:57:52][E][component:082]:   Component display is marked FAILED
[20:57:52][C][mdns:116]: mDNS:
[20:57:52][C][mdns:117]:   Hostname: testxscren
[20:57:52][C][esphome.ota:073]: Over-The-Air updates:
[20:57:52][C][esphome.ota:074]:   Address: testxscren.local:3232
[20:57:52][C][esphome.ota:075]:   Version: 2
[20:57:52][C][esphome.ota:078]:   Password configured
[20:57:52][C][safe_mode:018]: Safe Mode:
[20:57:52][C][safe_mode:020]:   Boot considered successful after 60 seconds
[20:57:52][C][safe_mode:021]:   Invoke after 10 boot attempts
[20:57:52][C][safe_mode:023]:   Remain in safe mode for 300 seconds
[20:57:52][C][api:140]: API Server:
[20:57:52][C][api:141]:   Address: testxscren.local:6053
[20:57:52][C][api:143]:   Using noise encryption: YES

Bonjour,
Le code Arduino en exemple dans le pdf utilise un bus SPI.
Ça risque de ne pas marcher en i2c

D’ailleurs les commentaires sur ce module qui parle de i2c montre un modele différent.

Essaie de chercher quel référence d’écran oled supporte la lib LCD_Driver que l’on voit dans le code Arduino sinon ça risque d’être compliqué

ok donc je doit trouver un exemple de code SPI, le seul truc c’est autant je comprend (un bien grand mot) l’exemple I2XC que j’ai trouvé, autant je comprends pas du tout les paramètres qu’il faut que je rentre pour un SDI…
bon ca me donne déjà une piste, je vais regarder :wink: