ESP-KVM compared with PiKVM, JetKVM, NanoKVM and GL.iNet Comet
An honest look at where an IP-KVM on a microcontroller wins, where it loses, and when you should buy one of the others instead.
Almost every IP-KVM is a small Linux computer: a Raspberry Pi, a Rockchip or a RISC-V board running a full operating system. ESP-KVM is firmware on an ESP32-P4 microcontroller, with no operating system at all. That one difference explains most of what follows - the lower frame rate, the quick start, the short list of things to keep updated, and a board you can buy from several makers instead of one box from one vendor.
Why no Linux is the point
- Ready about 15 seconds after power-on. There is no operating system to boot first - the firmware is the whole device.
- Nothing to maintain. No distribution, no package updates, no kernel to patch. The whole device is one firmware image, updated from the browser in one click.
- Less to attack. No shell, no SSH, no package manager. What answers on the network is the web console and the device's local name (mDNS) - plus MQTT or a VPN, only if you switch them on.
- A power cut cannot break it. There is no filesystem holding an operating system to corrupt. The firmware sits in flash in two slots, and a bad update puts the device back on the one that worked, by itself.
- Small, cool and quiet. A microcontroller board with no fan, on a 5 V USB supply or over PoE, small enough to stay attached to a machine.
- The same every time. Nothing updates itself in the background, so the device behaves tomorrow the way it did today.
Checked on 25 September 2026 against each vendor's own pages; the sources are at the bottom. No prices here - they change by the month and by the shop.
The table
Swipe the table sideways: ESP-KVM stays in place, the others slide past it.
| ESP-KVM | PiKVM V4 | JetKVM | JetKVM Mini | Sipeed NanoKVM | GL.iNet Comet | |
|---|---|---|---|---|---|---|
| Runs on | ESP32-P4 microcontroller, no OS | Raspberry Pi CM4, Linux | Rockchip RV1106, Linux | ESP32-P4X microcontroller, no Linux | SG2002 RISC-V, Linux (Pro: Axera AX630C) | Rockchip RV1126, Linux |
| What you get | Firmware for fifteen off-the-shelf boards from several makers (ten run on hardware so far), plus an HDMI capture board you connect | Finished appliance | Finished appliance | Finished appliance, shipping from late October 2026 | Finished units (Lite is partly DIY) | Finished appliance |
| Video | 1080p: 20-23 fps MJPEG; H.264 22-24 fps on rev 3.x chips, ~7 on rev 1.3. About 155 ms from mouse to picture, measured | Up to 1920x1200 at 60 fps, MJPEG and H.264 | 1080p60 H.264, 30-60 ms claimed | 1080p30 or 720p60, H.264 | 1080p60, MJPEG and H.264 (Pro: 4K) | H.264, up to 4K input |
| Virtual media | Yes, images on a microSD card (FAT32 or exFAT) or in flash | Yes | Yes | Yes, from a microSD card | Yes | Yes |
| ATX power control | Yes, with an optocoupler module you wire | Included | Add-on board | Planned as an extension | Full and PCIe versions | Add-on board |
| Network | Ethernet; PoE and Wi-Fi on the boards that have them | Gigabit Ethernet, Wi-Fi | 100 Mbit Ethernet | Ethernet or Wi-Fi models | Ethernet; PoE and Wi-Fi options | Gigabit Ethernet; PoE, Wi-Fi 6 and 5G models |
| Remote access | Native Tailscale and WireGuard in the firmware, no vendor cloud | Tailscale, installed by you | JetKVM Cloud, or Tailscale installed by you | Not documented yet | Tailscale supported | Tailscale built in; GL.iNet cloud |
| Home Assistant | Built in, over MQTT discovery: sensors, power buttons, a camera, runbooks | Community integration (HACS) | Built in, over MQTT discovery (since March 2026) | Community integration (HACS) | Community integration (HACS) | |
| Text off the screen | Reads the character grid of a text screen (BIOS, boot loader, console): exact, but text modes only | OCR (Tesseract) on any screen region; can misread | Two-way clipboard through OS Services, which needs software running on the target | |||
| Source code | Apache-2.0 | GPL-3.0 | GPL-2.0 | Promised open, not published yet | GPL-3.0 | GPL-3.0 (a fork of PiKVM's kvmd) |
✓︎ marks where ESP-KVM is ahead. The video row is where the others are ahead; on Home Assistant and text the approaches differ more than they rank. An empty cell means the vendor's pages do not say either way.
When to pick something else
If any of these matter to you, ESP-KVM is the wrong choice today:
- Smooth 60 fps video or 4K. PiKVM, JetKVM, NanoKVM and the Comet all stream 1080p at 60 fps, and some go higher. ESP-KVM is fine for a BIOS, an installer or a console, and gets sluggish for a video playing on the target.
- A box that works out of the box. ESP-KVM is two boards and a ribbon cable; there is no case, no warranty and no vendor support. Flashing takes a minute from the browser, but the build is yours.
- Remote access with nothing to set up. JetKVM Cloud and GL.iNet's app get you in from anywhere after a sign-in with their service. ESP-KVM has no such service: you set up Tailscale or WireGuard on it yourself - which is the point, see below.
- HDMI audio. Not implemented.
- A device you want to put on the public internet. There is a login and TLS, but no external security audit, and secure boot is not switched on. Reach it over the built-in VPN instead.
When ESP-KVM is the better fit
- No vendor cloud, ever. Tailscale and WireGuard run inside the firmware: the device joins your own tailnet and is reached directly. There is no account with me to create and no service of mine in the path - nothing that can be switched off, changed or bought out from under you. Several others build remote access around their own service: JetKVM's goes through JetKVM Cloud with a Google sign-in, GL.iNet has its own cloud and app. Both are optional, and JetKVM's cloud is open source and can be self-hosted.
- Nothing to administer. No Linux, no package updates, no operating system on an SD card. It is ready about 15 seconds after power-on and does one job.
- Automation on the device. Runbooks wait for words on a text screen (
wait Press F2) and press keys, on the device itself, with the browser closed. The device can watch a BIOS or console for phrases while nobody is looking. Home Assistant picks everything up by itself over MQTT. - Hardware you choose. Fifteen ESP32-P4 boards are supported (ten of them run on hardware so far), from a small Ethernet board to PoE and Wi-Fi ones, and the M5Stack Unit PoE-P4 with its HDMI add-on. If one maker stops selling a board, another one works.
- Everything is open. The firmware and the web console are Apache-2.0, published and building in public CI.
JetKVM vs PiKVM
Both are finished Linux appliances, and both do 1080p at 60 fps. PiKVM V4 runs on a Raspberry Pi CM4, goes up to 1920x1200, has Gigabit Ethernet and Wi-Fi, includes ATX power control and reads text off the screen with OCR; it is the older project with the larger community, under GPL-3.0. JetKVM runs on a Rockchip chip, claims 30-60 ms of latency over H.264, has 100 Mbit Ethernet, sells ATX control as an add-on, comes with its own JetKVM Cloud for access from outside, and has Home Assistant built in; its code is under GPL-2.0. Where ESP-KVM fits beside them: no operating system at all, at a lower frame rate - see the next section.
NanoKVM vs PiKVM
Both run Linux and both do 1080p at 60 fps. PiKVM V4 is built on a Raspberry Pi CM4, has Gigabit Ethernet and Wi-Fi, includes ATX power control and reads text off the screen with OCR. Sipeed NanoKVM is built on a RISC-V chip; the Lite is partly DIY, the Full and PCIe versions have ATX control, and the NanoKVM-Pro goes up to 4K. Both are under GPL-3.0, both take Tailscale for access from outside, and both reach Home Assistant through a community integration from HACS. PiKVM is the older project with the larger community.
ESP-KVM as a PiKVM alternative
PiKVM is the reference open-source IP-KVM, and it is better at video: 1080p and up at 60 fps, with a large community and years of polish. What ESP-KVM offers instead is a device with no operating system to maintain, VPN access built into the firmware rather than installed on top, and Home Assistant support out of the box. If you already run PiKVM and are happy, keep it. If you need a KVM on several machines that mostly sit at a BIOS or a console, the microcontroller build is simpler to live with.
ESP-KVM and JetKVM Mini: the same chip
JetKVM announced the JetKVM Mini in September 2026. It uses the ESP32-P4X, the same chip ESP-KVM runs on, which says something good about the idea: a microcontroller is enough for a KVM. The Mini is a finished product from a company, with a case and support, due to ship at the end of October 2026; its firmware is promised to be open source but is not published yet. ESP-KVM is open-source firmware you can flash today onto boards from Waveshare, Espressif, M5Stack, Guition and others. The original JetKVM, on a Rockchip chip running Linux, is the one to pick for 1080p60 video. Its built-in way in from outside is JetKVM Cloud: WebRTC through the company's service, signing in with a Google account. That is optional, the cloud's code is open and can be self-hosted, and Tailscale can be installed instead. ESP-KVM has no service of its own to go through at all.
ESP-KVM and Sipeed NanoKVM
NanoKVM runs Linux on a RISC-V chip and streams 1080p at 60 fps; the NanoKVM-Pro adds 4K. Its capture library used to be closed and has been replaced by an open one since version 2.2.0. It is a finished unit with ATX control on the Full and PCIe versions. ESP-KVM has the lower frame rate, and no Linux underneath.
ESP-KVM and GL.iNet Comet
The Comet family is a line of finished products built on a fork of PiKVM's software: Gigabit Ethernet, PoE, Wi-Fi 6 and 5G models, Tailscale built in, and GL.iNet's own cloud and app (optional; a self-hostable version exists). It is the polished choice if you want a product. ESP-KVM is the choice if you want to own every part of the stack, down to the firmware.
Also worth knowing about
TinyPilot (now the Voyager 3) is a Raspberry Pi based appliance with 1920x1200 at 60 fps; its community edition is MIT, the Pro software shipped on the devices is proprietary. BliKVM builds PiKVM-compatible hardware - CM4, PCIe, HAT and an Allwinner v4 with PoE - under GPL-3.0.
Questions
Is ESP-KVM a PiKVM alternative?
For reaching a machine's BIOS, boot menu or a hung console from a browser, yes: video, keyboard and mouse, virtual media, ATX power and Wake-on-LAN are all there. For smooth 1080p60 video, no.
Does ESP-KVM run Linux?
No. It is firmware on an ESP32-P4 microcontroller, built on ESP-IDF. There is no operating system to update or secure, a power cut cannot corrupt one, and a bad update rolls back by itself.
What frame rate does it reach at 1080p?
About 20-23 fps over MJPEG on every board. Over H.264, 22-24 fps on ESP32-P4 chips of revision 3.x and about 7 fps on revision 1.3.
Which of these work with Home Assistant?
All but the JetKVM Mini, whose pages do not say yet. ESP-KVM and JetKVM have it built in: the device announces itself over MQTT and shows up by itself. PiKVM, NanoKVM and GL.iNet Comet have community integrations you install from HACS. On ESP-KVM it brings sensors, the power buttons, a camera with the screen and runbooks.
Can I reach it from outside without port forwarding?
Yes, with the Tailscale or WireGuard client built into the firmware. No vendor cloud is involved.
Try it before building one
The console runs in your browser as a demo, against a simulated machine, with no hardware. When you have a board, the web flasher installs the firmware over USB in about a minute. The source is on GitHub.
Still choosing, or already run one of these? Ask or tell in GitHub Discussions. I answer there, including when the answer is “take the other one”.
Sources
- PiKVM: pikvm.org/products, docs.pikvm.org/v4, docs.pikvm.org/tailscale, github.com/pikvm/kvmd
- JetKVM: jetkvm.com/docs, github.com/jetkvm/kvm, remote access, JetKVM Cloud source, ATX extension
- JetKVM Mini: jetkvm.com/blog/introducing-jetkvm-mini, CNX Software
- Sipeed NanoKVM: wiki.sipeed.com (NanoKVM), wiki.sipeed.com (NanoKVM-Pro), github.com/sipeed/NanoKVM
- GL.iNet Comet: gl-inet.com (GL-RM1), docs.gl-inet.com, github.com/gl-inet/glkvm, CNX Software review
- TinyPilot: tinypilotkvm.com (Voyager 3), github.com/tiny-pilot/tinypilot
- Home Assistant: JetKVM MQTT and discovery (PR #1195), PiKVM integration, NanoKVM integration, GL.iNet Comet integration
- Text off the screen: PiKVM OCR, JetKVM OS Services
- BliKVM: github.com/blikvm/blikvm, BliKVM v4 datasheet
- ESP-KVM: the numbers are from the README, measured on hardware.
Something here out of date or wrong? Open an issue and I will fix it.