A hardware replacement for Windows Virtual Serial Port Emulator (VSPE). An ESP32-S3 USB device that presents multiple virtual COM ports (CDC-ACM) to a host PC, with a web-based visual node editor for routing data and signals between USB ports, physical UARTs, and TCP sockets.
No drivers needed — CDC-ACM is natively supported on Windows, macOS, and Linux.
Requires ESP-IDF v5.5+.
# Source ESP-IDF environment
. ~/esp/esp-idf/export.sh
# Set target (first time only)
idf.py set-target esp32s3
# Build
idf.py build
# Flash
idf.py -p /dev/ttyUSB0 flash monitor
[Windows PC] ──USB──> [ESP32-S3] ──UART1──> [Device A]
│ ──UART2──> [Device B]
│
└──WiFi──> [Web GUI / TCP ports]
| Component | Description |
|---|---|
port_core |
Port abstraction layer — common interface for all port types |
port_cdc |
USB CDC-ACM implementation via TinyUSB |
port_uart |
Hardware UART port driver |
port_tcp |
TCP socket port (server/client) |
routing |
Route engine — bridge, clone, merge with signal routing |
config_store |
NVS flash persistence |
wifi_mgr |
WiFi STA management |
web_server |
HTTP server, REST API, WebSocket |
status_led |
RGB LED status indicator |
frontend/ |
Svelte visual node editor SPA |
Work in progress. Phase 1 (USB CDC + port abstraction) compiles and is ready for hardware testing.
MIT