HIDden Bridge (HidBridge)
Hidden Bridge for HID (remote KVM-style control).
HidBridge is a dual‑MCU USB HID bridge built on RP2040 microcontrollers. It acts as a transparent proxy for USB HID devices, enabling remote keyboard/mouse injection while streaming low‑latency video over WebRTC, HLS, FLV, or MJPEG passthrough.
The controlled device remains agentless - no software is installed on the host - because all input is delivered via USB HID and video is served from HidControlServer using standard streaming protocols.
Repository: https://github.com/AlexSkarbo/HidBridge.git
At a high level:
B_hostenumerates a USB HID peripheral as a USB host and forwards input toA_device.A_devicepresents itself to the target PC as a USB HID device.HidControlServercan inject extra mouse/keyboard input intoB_hostover a dedicated control UART (SLIP framed, authenticated) and also provides video streaming endpoints driven by FFmpeg.
Micro Meet is the operator-facing collaboration layer built on top of the new Platform/ stack.
What it demonstrates:
- fleet view of available endpoints
- one-click
Start session/Launch room - room-based invite and join flow
- explicit control handoff between operators
- room timeline for what happened and when
This is positioned as:
- shared control rooms for real endpoints
- not just another screen-sharing demo
Primary docs:
- runtime and local stack:
Platform/README.md - demo walkthrough (UA):
Docs/GoToMarket/MicroMeet_Demo_Runbook_UA.md - demo walkthrough (EN):
Docs/GoToMarket/MicroMeet_Demo_Runbook_EN.md - GitHub packaging notes:
Docs/GoToMarket/MicroMeet_GitHub_Package_UA.md - Reddit draft:
Docs/GoToMarket/MicroMeet_Reddit_Post_UA.md - LinkedIn draft:
Docs/GoToMarket/MicroMeet_LinkedIn_Post_UA.md - publish checklist:
Docs/GoToMarket/MicroMeet_Publish_Checklist_UA.md
Firmware/Firmware/src/A_device— USB device endpoint firmware (TinyUSB device)Firmware/src/B_host— USB host endpoint firmware (TinyUSB host)Firmware/src/common— shared transport/protocol/config
Tools/Tools/HidControlServer— ASP.NET Core server (REST + WebSocket) for HID injection + videoTools/Shared/*— contracts + client SDKTools/Clients/*— client skeletons (Web/Desktop/Mobile)
Docs/— protocol docs + quick starts
Prereqs:
- Pico SDK configured via
PICO_SDK_PATH - CMake + toolchain
Build (example):
cmake -S . -B build -DPICO_BOARD=waveshare_rp2040_zero
cmake --build build -jOutputs typically include build/A_device.uf2 and build/B_host.uf2.
Config:
- Edit
Firmware/src/common/proxy_config.h(UART pins/baud andPROXY_CTRL_HMAC_KEY).
Prereqs:
- .NET SDK 10.0+
- FFmpeg (either in
PATHor configured viaffmpegPathin server config)
Run:
cd Tools/HidControlServer
dotnet run -- --config hidcontrol.config.jsonNotes:
Tools/HidControlServer/hidcontrol.config.jsonis intentionally gitignored (local machine config).- Start from
Tools/HidControlServer/hidcontrol.config.json.example.
- Start from
- For remote video + HID quick start, see
Docs/quick_start_remote.md.
- UART control protocol:
Docs/uart_control_protocol.md - WebSocket control protocol:
Docs/ws_control_protocol.md - Video endpoints mapping:
Docs/video_streams.md - Micro Meet demo/sales runbook (UA):
Docs/GoToMarket/MicroMeet_Demo_Runbook_UA.md - Micro Meet demo/sales runbook (EN):
Docs/GoToMarket/MicroMeet_Demo_Runbook_EN.md
Use the root script to run all main test suites in one command:
.\run_all_tests.ps1Useful options:
-Configuration Debug|Release-DotnetVerbosity quiet|minimal|normal|detailed|diagnostic-SkipDotnet-SkipGo-StopOnFailure
Copyright (c) 2026 Skarbo Oleksandr / Alexander Skarbo.
HidBridge is licensed for non‑commercial use under the PolyForm Noncommercial License 1.0.0.
You can read the full license text at https://polyformproject.org/licenses/noncommercial/1.0.0/ or in the LICENSE file.
Any commercial use (including embedding in products, distribution for profit, or offering as a service) requires a separate commercial license. See COMMERCIAL_LICENSE.md.
If you want to use HidBridge in a commercial product or service, you need a separate commercial license.
See COMMERCIAL_LICENSE.md for available commercial license packages (Indie, Team, Enterprise) and contact details.
Contact: alexandr.skarbo@gmail.com