ESP32 watchdog patterns for unattended nodes, what actually recovers

ESP32, ESP32-S3, ESP32-C3, NodeMCU, Wemos D1. WiFi and Bluetooth microcontrollers.
Post Reply
jhon_iot
Posts: 10
Joined: Tue May 05, 2026 11:39 am

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?
Post Reply