ESP32 S3 WROOM CAM über ESP Home funktioniert nicht

Hallo,
ich versuche einen Freenove ESP32-S3-WROOM mit Kamera im ESP Home zum Laufen zu bekommen. Ich wurde durch dieses Video inspiriert: https://youtu.be/OUPwE4_dpwQ?si=LQ-nQaanQ_GdPhVc

Doch leider funktioniert das nicht alles so ganz wie gewollt, sonst würde ich hier auch nicht schreiben :wink:.
Das Board lässt sich im ESP Home einbinden, nur leider gibt es kein Bild.

Das Video ist schon was älter und verwendet keinen Freenove S3-WROOM, daher musste ich die GPIO entsprechend ändern. Vielleicht liegt auch daran mein Fehler. Der Code sieht im Original so aus:

esp32_camera:
  name: esp32_cam
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32

output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

Als Grundlage habe ich das PinOut vom Hersteller genommen:

ESP Home erkennt mein Board als “esp32-s3-devkitc-1”. Das scheint auch ok zu sein, den in der Arduino IDE ist es die gleiche Einstellung. Dementsprechend habe ich folgenden Code:

esphome:
  name: esp32-cam
  friendly_name: ESP32-Cam

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# Enable logging
logger:

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

ota:
  - platform: esphome
    password: "nochvielgeheimer"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Cam Fallback Hotspot"
    password: "sowasvongeheim"

# Enable Web server.
web_server:
  port: 80

captive_portal:

esp32_camera:
  name: esp32_cam
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO40
    scl: GPIO39
  data_pins: [GPIO11, GPIO9, GPIO8, GPIO10, GPIO12, GPIO18, GPIO17, GPIO16]
  vsync_pin: GPIO6
  href_pin: GPIO7
  pixel_clock_pin: GPIO13
  #power_down_pin: GPIO32

output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

binary_sensor:
  - platform: status
    name: "ESP32Cam status"
    
sensor:
  - platform: wifi_signal
    name: "ESP32Cam WiFi Signal"
    update_interval: 60s
   

Den “power_down_pin” konnte ich in der Dokumentation vom Board nicht finden. In der Doku vom ESP Home steht, das dieser nur optional ist und daher habe ich ihn ausgeblendet.

Leider wird weder das Livebild noch das Standbild angezeigt:
image

Da aber die Informationen wie Status und WiFi Signal angezeigt werden. Kann es nicht ganz sooo falsch sein. Ich denke das wahrscheinlich die GPIO von mir falsch gewählt sind.
Vielleicht kann da mal jemand drauf schauen und mir einen Tipp geben?

Gucke mal hier:

Vielen Dank, das hat mir erstmal ein “Stückchen” weitergeholfen. Ich hatte mich bei den external_clock und den i2c pins vertan. Man muss das PinOut auch richtig lesen können :face_with_monocle:

Doch leider habe ich immer noch kein Bild. Es erscheint nur eine weiße Fläche und irgendwann:
image

Was ich jetzt noch festgestellt habe ist, dass das Board irgendwann die Verbindung verliert:
image

Mir ist gerade noch nicht klar warum das passiert. Nach einem Reboot wird die Verbindung hergestellt. Erst nach ein paar Minuten wird diese verloren.

Nachtrag:
Ich habe jetzt mal aus GIThub das “ESP32CamTimeLapse” aufgespielt und das hat im gesamten Testzeitraum (> 5h) einwandfrei funktioniert. Keine Abbrüche.

Am Board kann es also nicht liegen. Jetzt muss ich das “nur” noch im HA ans Laufen bekommen.

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)