Ad Space — Top Banner

Guru Meditation Error

Espressif ESP32

Severity: Critical

What Does This Error Mean?

Guru Meditation Error means the ESP32 CPU encountered a fatal exception and crashed. This is the ESP32 equivalent of a Blue Screen of Death. The error message includes a register dump that helps identify the cause.

Affected Models

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

Common Causes

  • Stack overflow — recursive function or large local variables
  • Null pointer dereference — accessing invalid memory
  • Watchdog timer timeout — code stuck in an infinite loop
  • Heap corruption — writing beyond allocated memory
  • Hardware interrupt handler taking too long

How to Fix It

  1. Read the error type in the crash message.

    Common types: LoadProhibited/StoreProhibited: null pointer or bad memory access. IntegerDivideByZero: dividing by zero. InstrFetchProhibited: jumping to invalid code address.

  2. Use the ESP Exception Decoder to find the crash location.

    Install the ESP Exception Decoder in the Arduino IDE. Paste the crash backtrace to see which line of code crashed.

  3. For stack overflow: increase task stack size or reduce local variables.

    Default stack sizes may be too small for complex functions. In FreeRTOS tasks, increase the stack size parameter.

  4. For watchdog timeout: add yield() or delay(1) in long loops.

    The ESP32's watchdog expects the CPU to yield periodically. Long calculations without yielding trigger WDT reset.

Frequently Asked Questions

Why is it called Guru Meditation?

Espressif borrowed the name from the classic Amiga computer error. On the Amiga, Guru Meditation was the fatal crash screen — a fun retro reference.

What is the ESP Exception Decoder?

It is an Arduino IDE tool that translates the cryptic register dump and backtrace into readable function names and line numbers. Install it from the Arduino Library Manager.