YAML Configuration for M5Stack AtomS3R Cam

Hey gang - Try to get a proper configuration for M5Stack AtomS3R Cam. Current YAML and error log below. Hardware is functional.

esphome:
name: atomcam-01
friendly_name: AtomS3R-CAM

esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf

logger:
level: DEBUG

psram:
mode: octal
speed: 80MHz

wifi:
ssid: *******
password: ******
manual_ip:
static_ip: ******
gateway: 192.168.0.1
subnet: 255.255.255.0

api:
ota:

  • platform: esphome

I2C must be defined with an ID for the camera to reference

i2c:
sda: GPIO12
scl: GPIO9
id: cam_bus
scan: true
frequency: 100kHz

esp32_camera:
name: AtomS3R Camera
i2c_id: cam_bus # Links the camera to the I2C bus above
data_pins: [GPIO3, GPIO48, GPIO42, GPIO46, GPIO4, GPIO17, GPIO11, GPIO13]
vsync_pin: GPIO10
href_pin: GPIO14
pixel_clock_pin: GPIO40
external_clock:
pin: GPIO21
frequency: 20MHz
power_down_pin: GPIO18

resolution: VGA
jpeg_quality: 10
max_framerate: 15.0 fps
vertical_flip: true

[10:48:23.574][C][logger:219]: Logger:
[10:48:23.574][C][logger:219]: Max Level: DEBUG
[10:48:23.574][C][logger:219]: Initial Level: DEBUG
[10:48:23.574][C][logger:226]: Log Baud Rate: 115200
[10:48:23.574][C][logger:226]: Hardware UART: USB_SERIAL_JTAG
[10:48:23.575][C][logger:235]: Task Log Buffer Size: 768 bytes
[10:48:23.575][C][i2c.idf:092]: I2C Bus:
[10:48:23.575][C][i2c.idf:093]: SDA Pin: GPIO12
[10:48:23.575][C][i2c.idf:093]: SCL Pin: GPIO9
[10:48:23.575][C][i2c.idf:093]: Frequency: 100000 Hz
[10:48:23.576][C][i2c.idf:106]: Recovery: failed, SCL is held low on the bus
[10:48:23.576][C][i2c.idf:113]: Results from bus scan:
[10:48:23.576][C][i2c.idf:115]: Found no devices
[10:48:23.577][C][psram:015]: PSRAM:
[10:48:23.577][C][psram:018]: Available: YES
[10:48:23.577][C][psram:020]: Size: 8192 KB
[10:48:23.577][C][esp32_camera:124]: ESP32 Camera:
[10:48:23.577][C][esp32_camera:124]: Name: AtomS3R Camera
[10:48:23.577][C][esp32_camera:124]: Internal: NO
[10:48:23.577][C][esp32_camera:124]: Data Pins: D0:3 D1:48 D2:42 D3:46 D4:4 D5:17 D6:11 D7:13
[10:48:23.577][C][esp32_camera:124]: VSYNC Pin: 10
[10:48:23.577][C][esp32_camera:124]: HREF Pin: 14
[10:48:23.577][C][esp32_camera:124]: Pixel Clock Pin: 40
[10:48:23.577][C][esp32_camera:124]: External Clock: Pin:21 Frequency:20000000
[10:48:23.577][C][esp32_camera:124]: I2C Pins: SDA:-1 SCL:-1
[10:48:23.577][C][esp32_camera:124]: Reset Pin: -1
[10:48:23.578][C][esp32_camera:139]: Resolution: 640x480 (VGA)
[10:48:23.578][C][esp32_camera:140]: Pixel Format: JPEG
[10:48:23.578][E][esp32_camera:143]: Setup Failed: ESP_ERR_NOT_SUPPORTED
[10:48:23.578][E][component:224]: esp32_camera is marked FAILED: unspecified
[10:48:23.578][C][wifi:1526]: WiFi:
[10:48:23.578][C][wifi:1526]: Local MAC:
[10:48:23.578][C][wifi:1526]: Connected: YES
[10:48:23.578][C][wifi:1237]: IP Address:
[10:48:23.579][C][wifi:1248]: SSID: [redacted]
[10:48:23.579][C][wifi:1248]: BSSID: [redacted]
[10:48:23.579][C][wifi:1248]: Hostname: 'atomcam-01'
[10:48:23.579][C][wifi:1248]: Signal strength: -55 dB ▂▄▆█
[10:48:23.579][C][wifi:1248]: Channel: 2
[10:48:23.579][C][wifi:1248]: Subnet: 255.255.255.0
[10:48:23.579][C][wifi:1248]: Gateway: 192.168.0.1
[10:48:23.579][C][wifi:1248]: DNS1: 0.0.0.0
[10:48:23.579][C][wifi:1248]: DNS2: 0.0.0.0
[10:48:23.579][C][esphome.ota:097]: Over-The-Air updates:
[10:48:23.579][C][esphome.ota:097]: Address:
[10:48:23.579][C][esphome.ota:097]: Version: 2
[10:48:23.579][C][safe_mode:058]: Safe Mode:
[10:48:23.579][C][safe_mode:058]: Successful after: 60s
[10:48:23.579][C][safe_mode:058]: Invoke after: 10 attempts
[10:48:23.579][C][safe_mode:058]: Duration: 300s
[10:48:23.579][C][safe_mode:079]: Bootloader rollback: support unknown
[10:48:23.580][C][api:238]: Server:
[10:48:23.580][C][api:238]: Address:
[10:48:23.580][C][api:238]: Listen backlog: 4
[10:48:23.580][C][api:238]: Max connections: 5
[10:48:23.815][C][api:250]: Noise encryption: NO
[10:48:23.815][C][mdns:230]: mDNS:
[10:48:23.815][C][mdns:230]: Hostname: atomcam-01strong text

It looks like it might be a problem with the I2C set-up, but is difficult to determine because you did not format your yaml code properly in your post.
Please have a look at this post, and especially the paragraph about how to properly format yaml code: