Page 1 of 1

[ESP32-S3] Continuous Reboot After Flashing Larger Firmware – Tried Everything

Posted: Mon Jun 16, 2025 6:20 pm
by sdeveloper
Hi everyone,

I’m facing a persistent reboot issue on one of my ESP32-S3 boards after flashing a larger firmware binary. Here’s a breakdown of the problem:

🔧 What’s Happening
After flashing my project (which worked earlier), the board continuously reboots with:

Guru Meditation Error: Core 1 panic'ed (LoadProhibited)
Backtrace points to invalid memory access—likely due to bad pointer or heap exhaustion.

✅ What I’ve Tried
Flashed Blink Sketch: Works perfectly—board hardware appears okay for small binaries.

Same Firmware on Another Board: No issues. Confirms code is not at fault.

Erased Flash via esptool.py:

esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
Manually Reset NVS Using Code:

cpp
#include <nvs_flash.h>
void setup() {
nvs_flash_erase();
nvs_flash_init();
}
Used Espressif’s Flash Download Tool:

Flashed bootloader.bin (0x0000), partitions.bin (0x8000), and firmware.bin (0x10000)

No luck—the board still reboots.

Tested Multiple USB Cables and Ports: Stable power supply confirmed.

❗ The Catch
Once I flash the buggy firmware, even reverting to previous working builds won’t fix the reboot—unless it’s a trivial sketch like Blink. It's like something persists and interferes with booting.

🔍 What I Suspect
Flash memory corruption or unreadable NVS

Damaged or write-protected flash sector

Misaligned partition table after bad flash

Board-specific hardware failure (but no visible damage)

🆘 What I’m Hoping For
Any advice on:

Checking flash chip health or ID

Forcing a full flash overwrite (including factory partition?)

Recovering from possible bootloader or NVS corruption

Verifying NVS and partition health via command-line tools or logs

Thanks in advance for any help! I’m happy to share boot logs, backtrace, or decoded .elf addresses if it helps debug this further.