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 browser cannot talk to serial devices. Chrome or Edge on a desktop can; Firefox and Safari cannot, and neither can any browser on iOS. Serial access needs a secure page. Open this over https.

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

  1. Connect the board to this computer with a USB-C cable.
  2. Press Install and pick the board’s serial port from the list the browser shows. On Linux it is usually /dev/ttyACM0, on Windows a COM port.
  3. 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.
  4. Plug in Ethernet and open https://espkvm.local/. Accept the certificate warning, sign in as admin / admin, and set a password.
  5. 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.
Two USB ports, one of them right. These boards have a USB-serial port and a USB-OTG port. Flashing goes through the serial one — the OTG port is what the target machine sees as a keyboard. If the port list is empty, try the other socket.
If Install fails to connect, hold the board’s BOOT button, press Install, and keep holding until it starts writing. That forces the chip into its bootloader when the automatic reset does not take.
If your board is already running ESP-KVM, you do not need this page or a cable. In the console, Settings → System either checks for a newer build and installs it in one click, or takes a .bin you downloaded from the releases page. Either way it writes a spare slot and rolls back if the new image fails to start.
A full flash from this page erases everything, including any rescue image you put in the device’s flash. That is fine for a first install; on a board you are only updating, the console route above keeps the rescue image (and your settings). Re-upload the rescue image afterwards if you use this page instead.

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.