Skip to content
@espkvm

ESP KVM

Open-source IP-KVM on an ESP32-P4. Remote desktop from the BIOS up: screen, keyboard, mouse and virtual media in a browser tab.

ESP-KVM

An open IP-KVM on the ESP32-P4 - a target machine's screen, and a USB keyboard and mouse, in a browser.

Website · Flash from the browser · Releases


Reach a machine that has no working operating system: a BIOS screen, a boot menu, a kernel that will not come up. A small ESP32-P4 board plugs into the target's HDMI output and a USB port, and you get its screen, sound, keyboard and mouse in a browser tab, from a laptop, a phone or a tablet. Nothing to install on either end, no cloud, no account.

The ESP-KVM console driving a real machine.

What it does

  • Picture through a TC358743 bridge (or the LT6911D on the M5Stack Unit PoE-P4), H.264 over WebRTC or a WebSocket, or MJPEG. It follows the target from an 800x600 firmware screen to a 1080p desktop on its own.
  • Sound from HDMI, live in the browser and in recordings.
  • Keyboard, mouse and gamepad over USB, as the target sees real ones. The pointer is absolute, so clicks land where you aim.
  • Virtual media: disk and CD/DVD images from microSD, to boot or install from.
  • Recordings, screenshots and a dashcam on microSD, and the screen as text where the link is too thin for video.
  • From anywhere with Tailscale or WireGuard built in, without opening a port.
  • HTTPS, a login and two-factor codes, with a certificate the device issues itself.
  • Updates itself over the network, into a spare slot, with rollback.

Runs on a dozen boards from Waveshare, Espressif and M5Stack. The list, with what is tested, is on espkvm.io.

Repositories

espkvm The firmware. Start here.
console The web console (Vue), a submodule of the firmware.
espkvm.io The project page, the blog and the browser flasher.
fw Images and update manifests behind fw.espkvm.io, written by the release workflow.
check check.espkvm.io, the opt-in count of devices in use.
skills Skills that let an AI agent drive a computer through ESP-KVM.
espkvm-term Experimental: an ESP-KVM screen on an M5Stack Tab5, no browser.
microlink Tailscale client for the ESP32, forked from CamM2325/microlink.
esp_wireguard WireGuard for ESP-IDF, forked from trombik/esp_wireguard.

Standing on someone else's work

ESP-KVM began as a fork of jrowny/p4kvm by Jonathan Rowny. The TC358743 bring-up and the direct MIPI_CSI_BRIDGE programming - the hard, weeks-of-reverse-engineering part - are still the foundation. Everything above them was rewritten. Thank you, Jonathan, for putting it in the open.

A non-commercial, community open-source project.

Apache-2.0. Not for the public internet: keep it on a network you trust, or reach it over Tailscale or WireGuard.

Pinned Loading

  1. espkvm espkvm Public

    IP-KVM on the ESP32-P4: HDMI capture, USB keyboard and mouse, and a browser console over HTTPS

    C 542 38

Repositories

Showing 10 of 10 repositories
  • .github Public
    espkvm/.github's past year of commit activity
    0 0 0 0 Updated Oct 21, 2026
  • fw Public
    espkvm/fw's past year of commit activity
    HTML 0 0 0 0 Updated Oct 21, 2026
  • espkvm.io Public
    espkvm/espkvm.io's past year of commit activity
    HTML 1 1 0 0 Updated Oct 20, 2026
  • check Public
    espkvm/check's past year of commit activity
    JavaScript 0 Apache-2.0 0 0 0 Updated Oct 20, 2026
  • espkvm Public

    IP-KVM on the ESP32-P4: HDMI capture, USB keyboard and mouse, and a browser console over HTTPS

    espkvm/espkvm's past year of commit activity
    C 542 Apache-2.0 38 1 0 Updated Oct 20, 2026
  • console Public
    espkvm/console's past year of commit activity
    Vue 0 Apache-2.0 2 1 0 Updated Oct 20, 2026
  • microlink Public Forked from CamM2325/microlink

    Tailscale-compatible VPN client for ESP32. Full ts2021 protocol support with WireGuard encryption, DERP relay, DISCO path discovery, and STUN. Connect your ESP32 devices to your tailnet and communicate securely with any peer. Production-ready, memory-optimized (~100KB SRAM).

    espkvm/microlink's past year of commit activity
    C 2 86 0 0 Updated Oct 19, 2026
  • skills Public
    espkvm/skills's past year of commit activity
    0 Apache-2.0 1 0 0 Updated Oct 19, 2026
  • espkvm-term Public

    Experimental firmware for the M5Stack Tab5 that shows an ESP-KVM device's screen on the Tab5. Touch, the Tab5 keyboard or a USB keyboard control the target, with its power buttons in the menu. No browser. Same ESP32-P4 as the KVM.

    espkvm/espkvm-term's past year of commit activity
    C 5 Apache-2.0 1 0 0 Updated Oct 15, 2026
  • esp_wireguard Public Forked from trombik/esp_wireguard

    WireGuard Implementation for ESP-IDF.

    espkvm/esp_wireguard's past year of commit activity
    C 2 65 0 0 Updated Jul 31, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Most used topics

Loading…