Skip to content
LeafKVM

How it works?

This section explains how the whole system works.

At its core, a KVM device needs to do three things:

  1. See what the target computer displays
    — by capturing HDMI video/audio.

  2. Control the target computer
    — by emulating a USB keyboard, mouse, or storage device.

  3. Send everything to you remotely
    — through Ethernet or Wi-Fi, using a browser-friendly Web UI.

LeafKVM integrates all of this into a compact, wireless, touchscreen-powered device.


2. Input interfaces (from the target machine)

Section titled “2. Input interfaces (from the target machine)”

The LTC6911 receives HDMI from the target device and:

  • converts video into a CSI-2 stream that the SoC can ingest. Supports up to 4K@30 and 1080p@90.
  • splits audio into an I²S stream. (connected to the SoC’s audio interface)

LeafKVM behaves like a physical USB device:

  • USB HID → Keyboard + Mouse emulation
  • USB Storage → Virtual Media / ISO mount

These are implemented through the SoC’s internal USB 2.0 PHY, and each endpoint is emulated by the backend.


LeafKVM connects to your control device in two primary ways:

  • Ethernet (RJ-45) — includes optional PoE for power
  • Wi-Fi (802.11ac)

Additional auxiliary interfaces include:

  • Local touchscreen — on-device configuration for network parameters
  • Extension USB — auxiliary USB-A USB2.0

Inside the SoC, several subsystems work together:

  • Provides HTTP/WebSocket APIs for the browser UI
  • Handles device settings, Wi-Fi setup, USB mode control
  • Manages WebRTC sessions for remote video streaming
  • Receives CSI frames from the HDMI bridge
  • Encodes them into H.264/H.265
  • Streams them to the browser with low latency
  • Implements software-emulated USB HID and USB Storage
  • Allows injecting keystrokes, mouse movement, or mounting ISOs
  • Renders the on-device 2.4” IPS touchscreen UI
  • Communicates with backend through internal (Web) APIs

  • Web UI
    Responsive interface for video preview, keyboard input, file transfer, and device control.

  • Touchscreen UI
    Local configuration options, live HDMI preview, network setup, ISO mounting.

  • Debug serial console
    Access through USB-C2 (internal USB-UART bridge, CH340).


Here’s the full data flow:

  1. Target outputs HDMI → LTC6911 → CSI → SoC video encoder
  2. Encoded video → WebRTC → your browser
  3. Your keyboard/mouse actions → Web UI → USB HID endpoints → Target
  4. ISO images → Virtual USB Storage → Target
  5. Local control → Slint GUI → Backend → Network/USB subsystems

© 2026 LeafKVM Team
Contact