ESP-KVM - open-source IP-KVM on the ESP32-P4 (HDMI capture + USB HID, in a browser)

spitsynnet
Posts: 1
Joined: Fri Aug 07, 2026 7:02 pm

ESP-KVM - open-source IP-KVM on the ESP32-P4 (HDMI capture + USB HID, in a browser)

Postby spitsynnet » Fri Aug 07, 2026 7:49 pm

ESP-KVM-08-07-2026_09_26_AM.png
ESPKVM UI
ESP-KVM-08-07-2026_09_26_AM.png (733.38 KiB) Viewed 22 times
ESP-KVM, an open-source IP-KVM. It captures a target machine's HDMI (HDMI to CSI 2 Adapter C790), presents itself to that machine as a USB keyboard + mouse, and serves both to a browser - so you can reach a box all the way down to its BIOS with no OS and no agent on it.
Boards.png
ESP32 P4(x) boards + C790
Boards.png (406.82 KiB) Viewed 22 times
What makes it a P4 project specifically:
  • Capture is a TC358743 HDMI -> MIPI-CSI-2 bridge read by the P4's CSI receiver. The link (2 lanes @ 972 Mbit/s, RGB888) caps at ~81 Mpix/s = 1080p30, so the device hands the source a hand-built EDID that only advertises modes under that ceiling (over-advertise and the receiver never completes a frame - black screen).
  • Video is hardware-encoded: MJPEG, and H.264 via the P4's encoder. On rev <3.0 the encoder needs a colour-convert detour through the PPA (~104 ms of a ~150 ms frame -> ~7 fps at 1080p); on rev 3.2 it takes YUV422 directly and hits 22-24 fps (28 at 720p), and runs cooler doing it (34 vs 46 C).
  • USB is TinyUSB on OTG-HS as a composite HID (absolute + relative pointer, full keyboard) plus optional MSC virtual media - boot the target from an ISO. On rev 3.x the microSD writes reliably too (it times out on the older stepping).
  • WiFi, on boards with an onboard ESP32-C6, runs over esp-hosted + esp_wifi_remote across SDIO - with a rescue AP + captive portal. Gotcha worth knowing: that SDIO bus is shared with the microSD slot, so it's one or the other.
  • Also: native Tailscale (and self-hosted Headscale), Home Assistant over MQTT, HTTPS + login, OTA with rollback, and an installable PWA console.
It's built per board - Waveshare ESP32-P4-ETH, Espressif ESP32-P4 Function EV, plus community-tested Waveshare P4 NANO and Guition P4 boards - and there's a browser flasher (esp-web-tools) so you can install over USB with no toolchain.

Apache-2.0.
Repo: https://github.com/espkvm/espkvm
Site + flasher + live demo: https://espkvm.io

Who is online

Users browsing this forum: No registered users and 0 guests