The frozen microcontroller that never comes back
A watchdog fed from a timer interrupt cannot see a stuck main loop. The alive-flags pattern, the ESP-IDF Task Watchdog (5 s and no reset by default), the boot timeout, and the reset reason in esp_reset_reason() or RCC_CSR, with a simulation of two boards.