I’ve been using ESP8266 boards successfully with Home Assistant for a while now, and I have several nodes running without any issues. However, I recently tried to set up an ESP32-S3 board using the ESPHome Builder Addon on the same computer hosting Home Assistant, and I’m running into problems.
Here’s what I’ve done so far:
Plugged the ESP32-S3 board into the computer via USB.
Used the ESPHome setup wizard and selected ESP32-S3 as the board type.
Followed the same process that works perfectly for my ESP8266 boards.
Despite this, I can’t seem to get the ESP32-S3 to work. It doesn’t connect or show up as expected in Home Assistant. It might be a network / wifi-issue.
Has anyone else faced similar issues with the ESP32-S3? Could it be a driver issue, configuration problem, or something specific to this board? Any tips or troubleshooting advice would be greatly appreciated!
Log from ESP Home Builder after plugging it back with USB:
INFO ESPHome 2025.2.2
INFO Reading configuration /config/esphome/esphome-s3.yaml...
INFO Starting log output from /dev/ttyACM1 with baud rate 115200
[16:25:57]ESP-ROM:esp32s3-20210327
[16:25:57]Build:Mar 27 2021
[16:25:57]rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
[16:25:57]Saved PC:0x40378d48
WARNING Decoded 0x40378d48: SysTickIsrHandler at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/port_systick.c:122
[16:25:57]SPIWP:0xee
[16:25:57]mode:DIO, clock div:1
[16:25:57]load:0x3fce3808,len:0x43c
[16:25:57]load:0x403c9700,len:0xbec
[16:25:57]load:0x403cc700,len:0x2a3c
[16:25:57]entry 0x403c98d8
And this is the log after re-installing the code:
INFO ESPHome 2025.2.2
INFO Reading configuration /config/esphome/esphome-s3.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esphome-s3 (board: esp32-s3-devkitc-1; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
RAM: [= ] 12.7% (used 41528 bytes from 327680 bytes)
Flash: [===== ] 48.0% (used 881097 bytes from 1835008 bytes)
========================= [SUCCESS] Took 2.80 seconds =========================
INFO Successfully compiled program.
esptool.py v4.7.0
Serial port /dev/ttyACM1
Connecting....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: f0:9e:9e:11:4d:fc
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash will be erased from 0x00010000 to 0x000e7fff...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 881488 bytes to 588162...
Wrote 881488 bytes (588162 compressed) at 0x00010000 in 14.0 seconds (effective 502.7 kbit/s)...
Hash of data verified.
Warning: Image file at 0x0 is protected with a hash checksum, so not changing the flash size setting. Use the --flash_size=keep option instead of --flash_size=16MB in order to remove this warning, or use the --dont-append-digest option for the elf2image command in order to generate an image file without a hash checksum
Compressed 15040 bytes to 10364...
Wrote 15040 bytes (10364 compressed) at 0x00000000 in 0.5 seconds (effective 254.5 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.1 seconds (effective 440.6 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 610.0 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyACM1 with baud rate 115200
Normally with ESP8266 the device will run a start-up procedure and show WiFi connection etc. But not this one…
Sure - but not much details in the rest of the code. I usually make it as light-weighted as possible in the beginning and add sensors and logic when i know the node is spinning.
Can limited / no support for the N8R2 version be the reason for the trouble I experience? There is also an N16R8 version (differences in flash and RAM size). I have also tried to specify these values directly in the YAML config without success.
I too struggled initially to get my ESP32S3 working. I have the N16R8 variant, so adjust your psram accordingly. He’s where I ultimately ended up. I had to use ESP-IDF framework bc I need encryption on mqtt. But I did have it working with the Arduino framework initially.
Also the usb port matters for logging. I want to say I had to initially flash the board with the right usb port, then I switched to the left one looking at both ports head on for logging and subsequent uploads.