ESP-KVM 0.45.0 Launch: Open Source IP-KVM Firmware

Published release of the ESP-KVM project, which focuses on developing open firmware that transforms a development board powered by the ESP32-P4 microcontroller into a full-fledged IP-KVM device. This innovative device grants remote access to the screen, keyboard, and mouse of a computer via a browser without the need to install any software on the managed machine. The device simply connects to the computer’s video output and USB port, functioning even during tasks such as BIOS setup, booting, disk initialization, or when the machine is powered off. The firmware is written in C and distributed under the Apache 2.0 license.

The ESP-KVM device is composed of two compact boards: one featuring the ESP32-P4 microcontroller and another with a capture board equipped with a TC358743 chip. The capture board effectively converts HDMI signals to MIPI-CSI format. Subsequently, the image is encoded by the microcontroller’s hardware encoders, supporting H.264 or MJPEG, and transmitted to the browser. Keyboard and mouse input are relayed to the target computer via USB OTG, enabling standard input devices without the need for driver installation. The reference board achieved approximately 20-24 frames per second at 1920×1080 resolution and up to 45 frames per second at 1280×720 resolution.

The ESP-KVM project offers a range of features, including:

  • Text-based screen reading: BIOS console, boot loader, or Linux console content is deciphered by a character generator and transmitted as characters, reducing screen size and facilitating mouse selection and copying of serial numbers or error codes.
  • Screen monitoring with designated phrases triggering alerts when unattended.
  • Target power control via an optocoupler, support for Wake-on-LAN, and waking up a slumbering machine via USB.
  • Bundled WireGuard and Tailscale integration, including management server compatibility with Headscale.
  • Integration with Home Assistant via MQTT for
/Reports, release notes, official announcements.