Ad Space — Top Banner

Watchdog Timer Reset

Espressif ESP32

Severity:

What Does This Error Mean?

ESP32 watchdog timer reset means a task ran for too long without yielding control back to the FreeRTOS scheduler. Add delay(1) or vTaskDelay(1) inside any long loop to give the watchdog a chance to reset. This prevents the watchdog from force-rebooting the chip.

Affected Models

  • ESP32-DevKitC
  • ESP32-WROOM-32
  • ESP32-S3
  • ESP32-C3
  • All ESP32 variants

Common Causes

  • Long blocking loop in the Arduino loop() function or a FreeRTOS task
  • Blocking network call (HTTP request) taking too long
  • Waiting in a while() loop without yielding
  • Interrupt handler running for too long
  • Task starvation — idle task cannot run to pet the watchdog

How to Fix It