ESP32 log analyzer
Paste the serial output of an ESP32, from the reset on, and get each known line explained: why it reset, what crashed, which error code it printed, why WiFi dropped, and what usually fixes it. Add the ELF and the backtrace is decoded too.
What it recognizes
- Reset reasons from the ROM line, such as
rst:0xc (SW_CPU_RESET),rst:0x8 (TG1WDT_SYS_RESET),rst:0x10 (RTCWDT_RTC_RESET)andrst:0xf (BROWNOUT_RST), and the download boot mode. - Crashes: every
Guru Meditation Errorreason on Xtensa and RISC-V chips (LoadProhibited, StoreProhibited, InstrFetchProhibited, Load access fault and the rest), NULL pointers fromEXCVADDRorMTVAL, stack overflows,abort(), failed asserts and heap corruption. - Watchdogs: the task watchdog and the interrupt watchdog.
- Power:
Brownout detector was triggered. - Boot problems:
invalid header: 0xffffffff, a flash size mismatch, damaged images, a missing app partition. - Every esp_err_t code of ESP-IDF 5.5, more than 240, by name or number, such as
ESP_ERR_NVS_NO_FREE_PAGESor0x3001, and failedESP_ERROR_CHECKcalls. - WiFi disconnect reasons, such as 201
NO_AP_FOUND, 154WAY_HANDSHAKE_TIMEOUTand 202AUTH_FAIL.
Nothing is uploaded: the log and the ELF stay in your browser.
For devices that are not on your desk
The log that explains a field failure is printed to a serial port nobody is reading. Pinscope sends the device's ESP_LOG output and crash reports over the internet, keeps the crash across the reboot, and decodes it with your ELF. Remote logging without a cable.
Try it
Three devices are free, and no card is needed. Create an account, or read the five-minute guide first.
More
- Remote access to an ESP32 without TLS: what it measured and what it costs
- Reaching an ESP32 web server from outside its network
- Updating ESP32 firmware over the internet, with rollback
- Guru Meditation Error: decoding the backtrace, and crashes from the field
- Remote logging: ESP_LOG without a serial cable
- Heap and stack monitoring in the field
- An ESP32 behind CGNAT, 4G or Starlink
- TLS memory usage on the ESP32, and how to reduce it
- Sharing an ESP32 sensor page with anyone, without port forwarding
- ArduinoOTA over the internet, with a rollback
- ESP32 remote access compared: port forwarding, ngrok, Cloudflare Tunnel, Tailscale
- esp_http_server slow? The 250 ms delay and the fix
- Before the first ESP32 ships: a field support checklist
- ESP32 exception decoder: a Guru Meditation backtrace to lines, in the browser