Skip to content
LeafKVM

How it works?

LeafKVM is a fully self-contained KVM-over-IP device. It captures video from the target machine, emulates keyboard/mouse input, streams everything through the network, and exposes a clean Web UI and an on-device touchscreen interface.

This section explains how the whole system works, from high-level concepts to the internal data flow inside the RV1106 SoC.

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 TC358743 receives HDMI from the target device and:

  • converts video into a CSI-2 stream that the RV1106 SoC can ingest.
  • 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 RV1106’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) — ncludes optional PoE for power
  • Wi-Fi (802.11ac) via SDIO module

Additional auxiliary interfaces include:

  • Local touchscreen — no PC required for configuration
  • Extension I/O (RJ-11) — auxiliary serial interface for external control

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-defined 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.

  • Serial console (optional)
    Access through USB-C2 when CH340 is enabled.


Here’s the full data flow:

  1. Target outputs HDMI → TC358743 → CSI → RV1106 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

© 2025 LeafKVM Team
Contact