← All boards

ESP-KVM is free, open-source firmware that turns the M5Stack Unit PoE-P4 into an IP-KVM: the screen, keyboard and mouse of another computer in your browser, from the BIOS up. Add an HDMI capture board, flash it from the browser, and it runs with no Linux, no app and no cloud. What it does → Try the demo →

M5Stack Unit PoE-P4
The smallest complete one

M5Stack Unit PoE-P4

A matchbox with PoE and M5Stack's own HDMI capture. Power, network and video on two cables.

StatusRun on hardware
FamilyAll M5Stack parts
ChipESP32-P4, rev 1.x
Memory32 MB PSRAM, 16 MB flash
Size64 x 24 x 20 mm, in its case
Network100M Ethernet, 802.3at PoE
Capture connector24-pin flat cable to the Add-on Display In
microSDyes, on the capture module the board needs anyway
Measured720p: MJPEG 21-23 fps, H.264 17 fps; about 185 ms from mouse to picture

Install from the browser M5Stack documentation Compare

The odd one out: its capture is not a C790 on a camera ribbon but M5Stack's own Add-on Display In, which plugs onto a 24-pin flat cable and brings a microSD slot with it. The same IP101 Ethernet on the same pins as the P4-ETH, and 802.3at PoE.

Measured

One viewer, a screen playing video, 2026-09-23 (the 1080p rows 2026-10-08, after the frame gate):

CodecModefpsBitrate
MJPEG1080p1117-18 Mbit/s
MJPEG720p21-2321-23 Mbit/s
H.2641080p70.5-1.2 Mbit/s
H.264720p171-1.8 Mbit/s

From the pointer moved on the target to the browser showing it, at 720p over H.264: about 185 ms (2026-10-10, 0.62.0).

720p is the mode to give this board. The byte reordering its bridge needs costs four times less there, and over a network H.264 at 720p gives 17 fps at a fifteenth of MJPEG's bandwidth. Pick 720p in the target's own display settings: the bridge holds its own EDID, so ESP-KVM cannot offer fewer modes. The console suggests 720p, or MJPEG, when it sees H.264 above 720p on this board.

If it has to be 1080p, give it 30 Hz, not 60. The bridge writes every frame it receives into memory, whether or not it gets encoded, and at 60 Hz that alone takes most of the memory's bandwidth. Since 0.62.0 the firmware lets through only the frames it can use, so the gap is small now: H.264 at 1080p gives 7 fps at 60 Hz and 8 at 30 Hz.

Good to know

  • The picture comes out a little flat: the PC sends limited-range RGB to what it thinks is a TV. Setting the graphics driver's HDMI output range to Full fixes half of it; the other half is the bridge's own conversion.
  • The microSD slot on the add-on writes at 40 MHz, so recording, screenshots and the dashcam all work.
  • The bridge cannot tell whether the source is switched on, so after a long "No signal" the console offers a Reconnect HDMI button with a countdown.

The rev 3.x version, the PoE-P4X, takes the same firmware from an image of its own.

Capture board

Cases for it

Modules that fit it