Has anyone managed to get ESPHome working on this dev board?
https://www.aliexpress.com/item/1005006881646670.html
I’ll admit I grabbed one to toy with without much thought, and it doesn’t seem to even run.
Has anyone managed to get ESPHome working on this dev board?
https://www.aliexpress.com/item/1005006881646670.html
I’ll admit I grabbed one to toy with without much thought, and it doesn’t seem to even run.
Not that specific board. I have an ESP32-S3-CAM from Seeed and that works fine, with a bit different setup than those listed on esphome.io.
Are you not able to get it working with a basic ESP32-S3 config in ESPHome?
Yes. Do not use. It overheats.
Get the Freenove ESP32 cam instead.
This is what I tried, and it neither showed up on my wifi nor gave me any console output.
esphome:
name: esp32-s3-cam
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
variant: esp32s3
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "<snip>"
wifi:
ssid: <snip>
password: <snip>
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-Camera Fallback Hotspot"
password: "<snip>"
captive_portal:
Maybe I got a lemon?
I did notice it got very very warm when it just booted up and started playing some music. Darn, that’s a shame. I quite liked that it had support for microphone and speakers built-in.
On the paper it looks like a nice little board, but from what @Rudd-O posted and your own experience, it seems like you’re better of just binning it and count yourself lucky it was cheap.
For reference; this is what the head of my ESP32-S3-Cam config looks like:
esphome:
name: esp32-cam-1
friendly_name: "ESP32-CAM-1"
platformio_options:
build_flags: -DBOARD_HAS_PSRAM
board_build.arduino.memory_type: qio_opi
board_build.f_flash: 80000000L
board_build.flash_mode: qio
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
Thanks. I gave that a try and still no joy.
I’ll leave this open a little longer but might have to do as you suggest, I suspect. Always figured it was the risk I was taking, so it’s no big surprise.
Do you happen to know how feasible it would be to hook up an I2S mic and speaker to it while retaining the camera functionality? Looking at the pinout it seems a lot of them are taken.
If you don’t use the camera pins, I bet you could reuse them with extremely advanced soldering skills on a ribbon cable.
Or bin it and use another device.
I meant on the Freenove ESP32 cam (or maybe the Freenove ESP32-S3-WROOM CAM).
The more I look around, the more it seems like I might want two ESP32s. One for video and one for mic and speaker.
I think the Freenove should be able to do I2S and camera simultaneously. Don’t expect gaming framerates tho.
So, an update on this. I actually managed to get these boards running, sort of. It seems they use the PSRAM pins for the camera. Here’s my YAML:
esphome:
name: esp-s3-cam-test
friendly_name: esp-s3-cam-test
# Commented out because it prevents the camera detecting
# platformio_options:
# build_flags: -DBOARD_HAS_PSRAM
# board_build.arduino.memory_type: qio_opi
# board_build.f_flash: 80000000L
# board_build.flash_mode: qio
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
#snip
ota:
# snip
wifi:
# snip
captive_portal:
esp32_camera:
external_clock:
pin: GPIO33
frequency: 20MHz
i2c_pins:
sda: GPIO37
scl: GPIO36
data_pins: [GPIO7, GPIO5, GPIO4, GPIO6, GPIO8, GPIO42, GPIO48, GPIO47]
vsync_pin: GPIO35
href_pin: GPIO34
pixel_clock_pin: GPIO41
#power_down_pin:
# Image settings
name: ESP32 Camera
esp32_camera_web_server:
- port: 8080
mode: stream
This works, though I’m concerned about the PSRAM being disabled or conflicting with the camera. There is a diagram for the wiring of all parts on the seller’s site, but it’s hard to read, and I’m not sure how I’d go about telling ESPHome to use different pins for the PSRAM.
Interestingly, now that it’s running ESPHome properly the chip doesn’t seem to be getting particularly hot.
Log dump, in case it’s useful:
INFO ESPHome 2024.5.5
INFO Reading configuration /config/esphome/esp-s3-cam-test.yaml...
WARNING GPIO33 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO37 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO36 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO35 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
WARNING GPIO34 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models
INFO Starting log output from 10.0.2.63 using esphome API
INFO Successfully connected to esp-s3-cam-test @ 10.0.2.63 in 0.160s
INFO Successful handshake with esp-s3-cam-test @ 10.0.2.63 in 0.054s
[16:57:43][I][app:100]: ESPHome version 2024.5.5 compiled on Jun 14 2024, 16:44:07
[16:57:43][C][wifi:580]: WiFi:
[16:57:43][C][wifi:408]: Local MAC: 74:4D:BD:AF:34:14
[16:57:43][C][wifi:413]: SSID: [redacted]
[16:57:43][C][wifi:416]: IP Address: 10.0.2.63
[16:57:43][C][wifi:420]: BSSID: [redacted]
[16:57:43][C][wifi:421]: Hostname: 'esp-s3-cam-test'
[16:57:43][C][wifi:423]: Signal strength: -41 dB ▂▄▆█
[16:57:43][C][wifi:427]: Channel: 1
[16:57:43][C][wifi:428]: Subnet: 255.255.0.0
[16:57:43][C][wifi:429]: Gateway: 10.0.0.1
[16:57:43][C][wifi:430]: DNS1: 10.0.0.1
[16:57:43][C][wifi:431]: DNS2: 0.0.0.0
[16:57:43][C][logger:185]: Logger:
[16:57:43][C][logger:186]: Level: DEBUG
[16:57:43][C][logger:188]: Log Baud Rate: 115200
[16:57:43][C][logger:189]: Hardware UART: USB_CDC
[16:57:43][C][esp32_camera:048]: ESP32 Camera:
[16:57:43][C][esp32_camera:049]: Name: ESP32 Camera
[16:57:43][C][esp32_camera:050]: Internal: NO
[16:57:43][C][esp32_camera:052]: Data Pins: D0:7 D1:5 D2:4 D3:6 D4:8 D5:42 D6:48 D7:47
[16:57:43][C][esp32_camera:053]: VSYNC Pin: 35
[16:57:43][C][esp32_camera:054]: HREF Pin: 34
[16:57:43][C][esp32_camera:055]: Pixel Clock Pin: 41
[16:57:43][C][esp32_camera:056]: External Clock: Pin:33 Frequency:20000000
[16:57:43][C][esp32_camera:060]: I2C Pins: SDA:37 SCL:36
[16:57:43][C][esp32_camera:062]: Reset Pin: -1
[16:57:43][C][esp32_camera:080]: Resolution: 640x480 (VGA)
[16:57:43][C][esp32_camera:129]: JPEG Quality: 10
[16:57:43][C][esp32_camera:131]: Contrast: 0
[16:57:43][C][esp32_camera:132]: Brightness: 0
[16:57:43][C][esp32_camera:133]: Saturation: 0
[16:57:43][C][esp32_camera:134]: Vertical Flip: ON
[16:57:43][C][esp32_camera:135]: Horizontal Mirror: ON
[16:57:43][C][esp32_camera:136]: Special Effect: 0
[16:57:43][C][esp32_camera:137]: White Balance Mode: 0
[16:57:43][C][esp32_camera:140]: Auto Exposure Control: 1
[16:57:43][C][esp32_camera:141]: Auto Exposure Control 2: 0
[16:57:43][C][esp32_camera:142]: Auto Exposure Level: 0
[16:57:43][C][esp32_camera:143]: Auto Exposure Value: 300
[16:57:43][C][esp32_camera:144]: AGC: 1
[16:57:43][C][esp32_camera:145]: AGC Gain: 0
[16:57:43][C][esp32_camera:146]: Gain Ceiling: 0
[16:57:43][C][esp32_camera:152]: Test Pattern: NO
[16:57:43][C][psram:020]: PSRAM:
[16:57:43][C][psram:021]: Available: YES
[16:57:43][C][psram:024]: Size: 8191 KB
[16:57:43][C][captive_portal:088]: Captive Portal:
[16:57:43][C][mdns:115]: mDNS:
[16:57:43][C][mdns:116]: Hostname: esp-s3-cam-test
[16:57:43][C][ota:096]: Over-The-Air Updates:
[16:57:43][C][ota:097]: Address: esp-s3-cam-test.local:3232
[16:57:43][C][ota:100]: Using Password.
[16:57:43][C][ota:103]: OTA version: 2.
[16:57:43][C][api:139]: API Server:
[16:57:43][C][api:140]: Address: esp-s3-cam-test.local:6053
[16:57:43][C][api:142]: Using noise encryption: YES
[16:57:43][C][esp32_camera_web_server:088]: ESP32 Camera Web Server:
[16:57:43][C][esp32_camera_web_server:089]: Port: 8080
[16:57:43][C][esp32_camera_web_server:091]: Mode: stream
[16:57:49][D][esp32_camera:196]: Got Image: len=19258
[16:57:59][D][esp32_camera:196]: Got Image: len=19293
Interestingly, it says that the PSRAM is available…
It uses this microphone msm261s4030h0 with the following settings:
I2s:
GPIO38 as SCK (input)
GPIO39 as SD (output)
GPIO40 as WS (serial data-word select for I2S)
No pin AFAICT is assigned to enabling or disabling the microphone so prob is always on hardware wise
Here is the datasheet for the microphones
microphone datasheet
it uses this speaker ns4168 with the following settings:
I2s:
GPIO9 as I2S ADC SDOUT
GPIO10 as I2S MCLK
GPIO45 as I2S LRCK
GPIO46 as PA CTRL
maybe someone who can speak chinese can help with this datasheet
speaker datasheet
My knowledge in programming unfortunately doesnt translate as far as i would like to continue this on my own
Got this link from a vendor on ali.
https://drive.google.com/drive/folders/1oJGKMcIU5iBQF0UDqe7xDhWQU1bvcbMg?usp=sharing