Support code for the PhysIO USB instrument: an MCU-based device that exposes relays, ADC/DAC, UART, and an integrated SWD probe over a SCPI command grammar, drivable by an LLM agent through the Model Context Protocol (MCP).
This repository is an open-source snapshot of the host-side tooling and the device firmware; the hardware design files and full project history live elsewhere.
| Path | What it is |
|---|---|
host/mcp/ |
Rust MCP server. Exposes the instrument to an agent as MCP tools (relay control, ADC/DAC, UART, SWD flash/debug) over a SCPI/USB transport. Includes live-client integration tests. |
host/labgrid/ |
Plan for integrating the device into a labgrid test bench. |
dev-firmware/ |
Zephyr + Rust firmware: the app (device application), a shared protocol crate (on-wire command/response grammar), and hardware-in-the-loop tests. |
host/mcp— standard Cargo crate:cargo build --release(run the binary against a connected device; seehost/mcp/README.md).dev-firmware— Zephyr application built withwest. The Zephyr tree and modules are fetched viawest updatefromdev-firmware/app/west.ymland are not vendored here.
Snapshot of work in progress — interfaces may change. No license has been applied yet, so all rights are reserved by the author pending a licensing decision. Contact the author before reuse.