Earlier this month, the P4 KVM project was brought to my attention. It provides IP KVM functionality to a Waveshare ESP32-P4-WIFI6-POE-ETH board when paired with a Toshiba TC358743 HDMI-to-CSI adapter.
However, it doesn’t work with the new ESP32-P4 V3.x variants featuring a proper H.264 video encoding implementation, and the developer (Jonathan Rowny) says it’s just a proof-of-concept with many bugs and no security, so I decided to skip it. The good news is that he also encouraged others to fork the project, and Evgenij Spitsyn did just that with the release of the ESP-KVM project, which supports both MJPEG and H.264 encoding and a range of other features.
ESP-KVM highlights:
- Video capture, resolution changes, and MJPEG or H.264 encoding
- Keyboard, absolute and relative pointer, media keys, copy/paste
- Touch mode for phones and tablets (trackpad, on-screen keyboard)
- Multiple viewers, one in control at a time with takeover
- HTTPS, login, physical password reset
- Firmware updates over the network, with rollback
- Thermal protection
- Virtual media — boot the target from a disk image (microSD card or on-chip flash)
- Guessing the target’s OS from how it enumerates USB
- User macros — replayable key sequences
- Wake-on-LAN (no ATX wiring)
- Static IP or DHCP
- ATX power control (power/reset buttons, power-LED sensing)
Some caveats include that HDMI audio is not implemented yet, and the developer explains that apart from HTTPS login and TLS, the security of the solution has not been evaluated thoroughly. For the latter reason, it’s recommended to use it on a LAN or behind a VPN only.

Evgenij uses slightly different hardware, relying on a Waveshare ESP32-P4-ETH board ($20 on Amazon) or an ESP32-P4-Function-EV-Board, and a Geekworm C790 MIPI CSI-to-HDMI board ($23.90), as well as an optional 2-channel PC817 optocoupler module for power and reset buttons/status ($1.30 on AliExpress). The BoM cost is around $45, meaning you won’t save anything considering the price of entry-level IP KVMs these days, but it’s still an interesting project. It should also work with other ESP32-P4 boards with MIPI CSI, USB, and Ethernet or WiFi for connectivity.


As I started wiring this article, I assumed boards based on the new ESP32-P4 V3.x microcontrollers were more common, and H.264 was properly implemented. However, the ESP-KVM project status is the same as the P4 KVM project: 20 FPS with MJPEG and 7 FPS with H.264. That’s because Evgenij still used a board with an ESP32-P4 V1.3 chip that requires an additional color space conversion step that won’t be required with V3.x. As a side note, I noticed that Wireless Tag offers an ESP32-P4 V3.2 module earlier today, so these are definitely coming very soon.
You’ll find all resources to get started with the ESP-KVM project on its website and a GitHub repository with the code and additional documentation. You don’t even need hardware to test it, since there’s a live demo to give you a feel for the user interface.
Via Hackaday

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.




