ESP32 et SSD1306 SPI : pas d'affichage

Bonsoir,

J’essaie d’afficher un texte sur un écran SSD1306 SPI 128x64 branché à ESP32.
Malheureusement l’écran n’affiche rien et je ne sais pas trop pourquoi…
Débutant, je ne sais dire si le problème est matériel (écran HS, mauvais branchement etc.) ou logiciel (erreur dans le code, librairie manquante etc.)

Voici le matériel :

Les branchements :

Le code utilisé dans le module ESPHome Builder :

substitutions:
    device_name: UCB Master Bedroom
    esphome_name: ecran-ssd1306-2
    friendly_name: Écran SSD1306 -2

esphome:
  name: "${esphome_name}"
  friendly_name: "${friendly_name}"

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "79Gaeb3yMbt1ZKPLGcNZOMg2qcKjDDcjUTrOXiPogHs="

ota:
  - platform: esphome
    password: "5d23455d1a8acc8d5653d80afbed4fed"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ecran-Ssd1306-2 Fallback Hotspot"
    password: "a6f47KmA6tBP"

captive_portal:

sensor:
  - platform: dht
    model: DHT11
# Advanced:
    pin:
      number: GPIO19
      mode:
        input: true
        pullup: true
    temperature:
      name: "Living Room Temperature"
      id: Temp
      accuracy_decimals: 2
    humidity:
      name: "Living Room Humidity"
      id: Hum
      accuracy_decimals: 2
    update_interval: 60s
    
    # Example configuration entry
spi:
  clk_pin: GPIO18 #D0
  mosi_pin: GPIO23 #D1
  interface: hardware

display:
  - platform: ssd1306_spi
    model: "SSD1306 128x64"
    setup_priority: 950
    cs_pin: GPIO5 #D2
    dc_pin: GPIO14 #D3
    reset_pin: GPIO17 #D4
    brightness : 50%
    contrast: 50%
    lambda: |-
      //it.line(0,0,50,50);
      it.print(53, 53, id(robosapien), "Hello !");
       //it.print(0, 0, id(Temp).state, " °C");
       //it.print(25, 25, id(Hum).state, " %");

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 20

  - file: "fonts/robosapien.ttf"
    id: robosapien
    size: 20
    bpp: 2

Complément d’information:

J’ai ajouté un DHT11 : il est fonctionnel et les données de température et d’humidité sont bien remontée.
La police a été importée dans le dossier “fonts” créé à la racine du dossier “esphome”
J’ai testé avec 2 écrans (même modèle) mais le résultat est identique.

Auriez-vous des pistes pour me faire avancer sur le problème rencontré ?

bonjour, le dc_pin: GPIO14 est branché sur le GPIO16!

@lecureuil
Oui, exact : j’avais modifié pour des tests et n’ai pas mis à jour…
C’est corrigé dans le script (dc_pin: GPIO16)
Mais pour autant l’écran reste noir…