ESP32 serial monitor
Connect an ESP32 over USB and watch its output here, in Chrome or Edge, with no driver or IDE. Error lines are explained as they arrive, and with the ELF of the build, crashes are decoded into functions and lines the moment they happen.
What it does
- Colors ESP-IDF and Arduino log lines by level (E, W, I, D).
- Explains reset reasons, brownouts, watchdogs, esp_err_t codes and WiFi disconnect reasons under the line that printed them, as the log analyzer does.
- Decodes a Guru Meditation crash as soon as its backtrace arrives, when you have chosen the ELF; on RISC-V chips it unwinds the stack dump with the ELF's call frame information, like
idf.py monitor. - On Zephyr, reads a fatal error as it is printed: the fault, the reason by name, and the call trace as functions and lines from
zephyr.elf. Zephyr's log levels are colored too. - Saves a printed core dump for the core dump decoder.
- Resets the chip the way idf.py monitor does (EN through RTS), reconnects by itself when a board with native USB resets, adds timestamps, filters lines, saves the log, and opens a saved log to explain and decode it the same way.
Web Serial works in Chrome, Edge and Opera on a computer. Close the Arduino IDE serial monitor or idf.py monitor first: only one program can have the port open.
When the device is not on your desk
A serial monitor needs a cable. Pinscope streams the same ESP_LOG output from devices anywhere, over their internet connection, and keeps crash reports across reboots.
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