Flash it from here
Connect the board over USB and install the firmware from this page. No toolchain, no download, nothing uploaded anywhere — the image goes from the project’s release page straight to your board.
This board ships with either chip revision, and each needs its own image. Read the marking on the ESP32-P4 (or on its module’s lid): the part number ends in X on rev 3.x (ESP32-P4NRW32X) and not on rev 1.x (ESP32-P4NRW32). On the chip itself the second character of the manufacturing code says it exactly: E is rev 1.3; F, G or H is rev 3.0, 3.1 or 3.2.
ESP-KVM comes with no warranty; you flash and use it at your own risk. Disclaimer.
Install another version from a file
The button above always installs the latest release. For an older one,
or your own build, download the board’s
espkvm-<version>-<board>-merged.bin from
GitHub releases
and pick it here. It has to be the -merged one: the plain
.bin is the over-the-network update and does not start on
its own.
What to expect
- Connect the board to this computer with a USB-C cable.
-
Press Install and pick the board’s serial port
from the list the browser shows. On Linux it is usually
/dev/ttyACM0, on Windows aCOMport. - Wait about a minute. The whole flash is written — bootloader, partition table and firmware — so this also works on a board that has never run anything.
-
Plug in Ethernet and open
https://espkvm.local/. Accept the certificate warning, sign in asadmin/admin, and set a password. - Optional: turn on Settings → System → Offer firmware updates. It is off by default. With it on, the console tells you when a newer build is out and installs it in one click — your browser checks, the device itself never goes online. You will not need this cable again unless something goes badly wrong.
.bin you downloaded from the
releases page.
Either way it writes a spare slot and rolls back if the new image fails
to start.
If the browser will not do it
Web Serial exists in Chrome and Edge on desktop, and nowhere else. Every other browser has to fall back to the command line, which does the same thing:
esptool --chip esp32p4 -b 921600 write-flash @flash_args
Take the full-flash archive from the releases page, unpack it, and run that inside the unpacked folder.
The installer on this page is esp-web-tools, bundled here rather than loaded from anywhere.