Firmware for the JetKVM Mini, a KVM-over-IP device built on the ESP32-P4.
Plug the Mini into a computer's HDMI and USB ports, and control that computer from a browser: see its screen, type, click and boot it from a disk image, from anywhere on your network or through JetKVM Cloud.
- Video and sound: HDMI capture up to 1080p30 or 720p60 and the computer's audio, streamed to the browser over WebRTC.
- Keyboard and mouse: the Mini is a USB keyboard and mouse to the computer, so it works in the BIOS and before any OS starts.
- Virtual media: mount a disk or CD-ROM image from the TF card or from a URL, and boot the computer from it.
- The JetKVM web UI: the same UI as JetKVM, served from the device.
- Remote access: JetKVM Cloud and Tailscale, plus MQTT for home automation.
- OS Services: with the OS Services companion installed on the computer, the Mini can show its desktop at higher resolutions and share a terminal, the clipboard and file drops.
- Signed updates: firmware updates over the air, verified against a GPG signature.
![]() JetKVM Mini: wired, IP101 Ethernet |
![]() JetKVM Mini W: Wi-Fi, an ESP32-C5 over SDIO |
Both have a full-size HDMI input (TC358743, up to 1080p30 or 720p60), a 240×240 display and a TF card slot. The USB-C port marked with a monitor goes to the computer for keyboard, mouse and virtual media; the EXT port takes power or an extension. Either port can power the Mini. See hardware variants for wiring and Wi-Fi setup, and the JetKVM Mini docs for using it.
Requires ESP-IDF 6.0.2 and Node.js 22.
Build the web UI:
cd frontend/jetkvm-ui
HUSKY=0 npm ci
npm run build:device -- --outDir dist-p4
cd ../..Build and flash the firmware for your variant:
# Ethernet
idf.py -B build-ethernet -DJETKVM_BOARD_VARIANT=ethernet build
idf.py -B build-ethernet -p /dev/ttyACM0 flash monitor
# Wi-Fi
idf.py -B build-wifi -DJETKVM_BOARD_VARIANT=wifi build
idf.py -B build-wifi -p /dev/ttyACM0 flash monitorOnce it boots, open the address shown on the device's display in a browser.
tools/run_all_tests.shRuns the host tests after idf.py reconfigure. See testing for the device test suites.
JetKVM's code is licensed under MIT. Third-party notices are in THIRD_PARTY_NOTICES.md.


