Tools
The things this project’s bug reports keep needing. Everything runs in the browser — the files you drop are read in the page and are never uploaded anywhere.
Read a board’s log over USB with no terminal installed, and save it to a file worth attaching to an issue. It only listens, so it cannot disturb the board it is watching, and it takes a pasted log too.
Which chip is on my board?
Connect the board over USB and press the button: the page asks the chip for its revision, reads the flash chip's size and names the USB bridge, then says which image fits. It is a hint, not a verdict - the marking on the chip is the last word. The board restarts when the reading is done. Chrome or Edge on a desktop.
What is in this firmware image?
Drop an espkvm-*.bin — the plain image or the merged one
— and it will tell you the version it really is, when it was built,
and which silicon it will boot on. The two ESP32-P4
families refuse each other’s images, so that last line is usually the
answer to “why does this board sit in the loader”.
Decode a panic
Paste a Guru Meditation dump - registers, the stack, whatever
the board printed - and give it the symbols for the firmware that was
running. Every address that lands in a known function is named, so a reboot
becomes a stack.
Symbols come from the release the board was running:
the releases page
has espkvm-<version>-symbols.zip. Drop the zip here and
pick your board, or drop a single .sym from it. Both stay in
the browser.
No symbols loaded.
Read an EDID
Drop an EDID blob (128 or 256 bytes) or paste it as hex. It lists the modes the block advertises with the pixel clock of each, and marks anything the capture path cannot carry: two MIPI lanes at 972 Mbit/s carrying RGB888 stop at about 81 Mpixel/s, and a mode above that gives a black screen rather than a slower one.