ToolBB-0133

smolmux: share one serial or SWD connection between people, scripts and agents

smolmux holds one serial, GDB or serial-over-TCP link open and shares it among several clients over Unix sockets. Two MCP servers put the broker in front of agents, and esptool can borrow the port. The README's demo GIF runs on an ESP32-S3, and a linked transcript shows its MCP probe tool identifying a SAM C21 board over SWD.

Open original source github.com · Magnus Malm

Shown working
Why this evidence label?

README GIF recorded on an ESP32-S3 shows a monitor, a script and esptool sharing one port; a linked transcript documents SWD probing of a SAM C21 Xplained Pro.

How we check entries
Preview image for smolmux: share one serial or SWD connection between people, scripts and agents
The source's own preview image, from github.com.

Briefing

smolmux keeps the device connection open itself and hands out access as newline-delimited JSON, with observer, controller and takeover roles. An expect engine, crash detection and boot tracking run on the byte stream. When esptool needs the port, with-port suspends the broker, runs the tool and resumes, and the monitor keeps its place.

smolmux-mcp gives an agent the console with expect-style waits, and smolmux-gdb-mcp drives a GDB stub. On a SAM C21 Xplained Pro, the probe tool decoded a Cortex-M0+ from CPUID, named the part from its device ID register, rejected a false STM32 match and wrote a starter profile.

It builds on Linux only, with CMake and kconfiglib.

From the GitHub API

Repository facts

Repository facts for magnusmalm/smolmux, from the GitHub API
Repositorymagnusmalm/smolmux
Stars2
LicenseMIT Permissive
LanguageC
Last push4 Oct 2026 26 d ago

Tags

Board

Report a problem with this entry