I have a handful of esp32-h2 devices which I have been successfully using. After a recent update, one of my devices has gone into a boot loop. Reflashing the device with a USB cable doesn’t resolve it. Furthermore, if I install that same firmware on a different (known good) esp32-h2 devkit board I have, it also goes into a boot loop. I even tried removing almost everything from my yaml to no avail. Any help in how to debug what is going on would be greatly appreciated.
Welcome to forum.
You might get best support here if you post your code (using code tags </>) and tell what “device” you are actually dealing with.
You can obviously plug into the device to flash it as well, so post your logs as well as your yaml.
Apologies, I was out of town. But am back.
I’m using a esp32-h2-devkitm-1 (Espressif brand devboard for the -h2).
I’m using the following minimal yaml to test on a known-good board that has zero things attached to any of the pins:
esphome:
name: test-device
friendly_name: Thread Based ESP32-H2 Test
esp32:
board: esp32-h2-devkitm-1
variant: ESP32H2
framework:
type: esp-idf
preferences:
flash_write_interval: 12h
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxx"
ota:
- platform: esphome
password: "xxxxxxxxx"
network:
enable_ipv6: true
openthread:
tlv: xxxxxxxxxxxxxxxxxxxxxxxxxx
device_type: FTD
When I flash it via esptool I get the following:
$ esptool -p /dev/ttyUSB1 write-flash 0x0 test-device.factory.bin
esptool v5.2.0
Connected to ESP32-H2 on /dev/ttyUSB1:
Chip type: ESP32-H2 (revision v1.2)
Features: BT 5 (LE), IEEE802.15.4, Single Core, 96MHz
Crystal frequency: 32MHz
MAC: 74:4d:bd:ff:fe:68:63:52
BASE MAC: 74:4d:bd:68:63:52
MAC_EXT: ff:fe
Stub flasher running.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x000cefff...
Wrote 844336 bytes (508201 compressed) at 0x00000000 in 45.5 seconds (148.5 kbit/s).
Hash of data verified.
Hard resetting via RTS pin...
And when I connect to the USB UART on that device I get the following block repeated endlessly in a boot loop:
ESP-ROM:esp32h2-eco5-20240613
Build:Jun 13 2024
rst:0xc (SW_CPU),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40003318
SPIWP:0xee
mode:DIO, clock div:1
load:0x408460f0,len:0x16dc
load:0x4083c2d0,len:0xf98
load:0x4083efd0,len:0x3044
entry 0x4083c2d0
Any help, guidance, or pointing me to what to do next would be greatly appreciated.
Try rolling back, does that fix it? If so - log a ticket on Github.
If you need to roll back to a previous ESPHome version, add this repository to your add-ons apps:
It will let you compile with previous ESPHome versions. That may solve your issue while you search for root cause.
@zoogara - Thanks! I didn’t know how to roll back to older versions like that.
I have verified that I can get it working with ESPHome 2025.11, so definitely looks like something that was introduced in a recent update. I’m running on an HA Green (so build takes a while), so I haven’t stepped through to figure out exactly which update breaks this for me.