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 545 38

Repositories

Showing 10 of 10 repositories

People

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

Top languages

Loading…

Most used topics

Loading…