Page 1 of 1

ESP32 watchdog patterns for unattended nodes, what actually recovers

Posted: Wed Jul 08, 2026 2:00 pm
by jhon_iot
Deployed nodes hang eventually, no matter how clean the code. Watchdog is not optional for unattended. Sharing patterns that survived 2 years field.

Layers, weakest to strongest:
  • Task watchdog (esp_task_wdt): catches a hung loop, resets. Fails if the WiFi stack itself hangs.
  • Software timer reboot: esp_restart() every 24h regardless. Blunt but effective against slow leaks.
  • External hardware watchdog (TPL5010 or 555 timer): pulls EN low if not petted. Survives total firmware freeze, even a bootloader hang.
Belt and suspenders: task WDT for fast hangs + external HW WDT for total lockup + daily scheduled reboot for memory creep.

The external HW watchdog saved a remote node that the software WDT could not, WiFi driver deadlock ignored the internal timer.

What watchdog stack do you run on truly unattended nodes?