Skip to the content
2 layers48 × 28 mmSaihub prerouted, the printed circuit board in 3D

Saihub prerouted

xqe2011/saihub4

Give your agent a hand: MIT-licensed ESP32-C5 IO board that speaks MCP, so Cursor, Claude Code & Codex can drive GPIO, PWM, UART and power on real hardware.

Size
48 × 28 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
39
Pads
215
Tracks, vias
42, 19
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Sep 2026
Updated
7 Nov 2026

Overview

Saihub prerouted is an open-source printed circuit board by xqe2011, from the xqe2011/saihub repository on GitHub, published under the MIT licence. It is a 2-layer board of 48 × 28 mm with 57 parts on 39 nets, routed with 42 tracks and 19 vias.

It is built around the ESPC5-12-H4, SGM6232YPS8G/TR and TPD4E05U06DQAR, with the USBLC6-2SC6, SS34 and AO3400A among its other parts. Its parts include 17 capacitors, 16 resistors, 8 ICs, 3 diodes and 2 connectors. It belongs with the interfaces and adapters and sensors and measurement boards and the ESP32 boards of this library.

Main components

8

README

README.md

SAIHub robot SAIHub

counter

Give your agent a hand.

An MIT-licensed, agent-ready IO board.
ESP32-C5 firmware that speaks MCP, so Cursor, Claude Code, and Codex can drive real hardware.

中文 · Cookbook · Hardware · Protocol · Build · Releases · MIT

Watch the video: YouTube · Bilibili


What it is

SAIHub is a pocket IO companion for coding agents. Flash it, join Wi-Fi, paste an MCP URL, and the agent gets a hand on real hardware:

  • GPIO / PWM / programmable power — toggle pins, generate PWM up to 50 kHz, capture edges like a logic analyzer, and switch the 3.3 V / 5 V rails on and off, all over MCP.
  • On-device scripting — the agent can upload Lua scripts and run them on the board itself, so timing-critical or multi-step logic executes locally without a round-trip per pin.

The board is SAIHub-Mini: 48 × 28 mm, ESP32-C5, USB-C, a BOOT button, a 12-pin header, and an external U.FL antenna. Pinout and electrical details: docs/hardware.md. Firmware, KiCad design, and the relay server all live in this repo.

You do not have to use our board — the firmware runs on any ESP32-C5. See bring your own board for what changes and where to remap the GPIOs.

What you can do with it

Buy an agent a hand. Drop SAIHub next to a DUT and let the agent debug a real embedded board: drive GPIO, generate PWM, capture traces, and speak UART instead of asking you to probe every line.

An agent-ready IO board. The simplest way to hang other IO off an agent:

  • Sweep a servo from a Lua script while the agent watches the mechanism.
  • Dim a light or blink a status LED over PWM.
  • Close an electromagnetic relay to switch a pump, a lock, or a heater.
  • Power a 3.3 V sensor from the switched rail, then read it over UART or GPIO.

Quick start

The cookbook walks through every step:

  1. Open the SAIHub web flasher in Chrome or Edge, pick a release, and flash the board.
  2. Click BOOT to open Wi-Fi pairing, join the SAIHUB-xxxxxx AP, and pick your network.
  3. Point Cursor / Claude Code / Codex CLI at http://<device-ip>/mcp. The agent now has a hand on your bench.

Ways to connect

The LAN URL is all you need at the bench. To reach the board from anywhere, put a relay in front of it — our managed cloud, or one you deploy yourself:

Local LANSelf-hosted relayManaged cloud
Best forBench work, zero setupRemote access under your own accountRemote access, zero ops
MCP URLhttp://<device-ip>/mcphttps://<your-worker>/device/<digest>/mcphttps://saihub.xqe2011.com/device/<digest>/mcp
ReachSame LAN onlyAnywhereAnywhere
SetupNone after Wi-FiDeploy to Cloudflare then rebuild firmware with your origin (details)None — boards bought from us connect to the managed cloud
AuthNone (LAN trust)OAuth through your relayOAuth in the browser
Traffic pathDirect to the boardThrough your Cloudflare accountThrough our infrastructure
CostFreeCloudflare free tierIncluded with the board

After the board authenticates with the relay, the serial log prints its landing page — https://<origin>/cloud/landing/<digest>/page — with live online status, copyable MCP or REST/OpenAPI URLs, and a button to mint a authentication token.

The relay protocol is server-agnostic — the Cloudflare Worker in this repo is the reference implementation (design notes).

No vendor lock-in

Nothing here ties you to us:

  • Any ESP32-C5 board works. SAIHub-Mini is just one carrier; an off-the-shelf DevKit or your own PCB runs the same firmware. See bring your own board.
  • You don't need our managed cloud. The relay is a Cloudflare Worker you can deploy under your own account — or replace entirely, since the protocol is documented and server-agnostic.
  • Everything is open source under MIT. Firmware, KiCad hardware design, and the cloud relay all live in this repo.
  • LAN mode needs no service at all. Wi-Fi plus the local MCP URL is a complete setup; the cloud is optional convenience, not a requirement.

Capabilities

AreaWhat the agent gets
GPIO 0–7Digital in / out / open-drain, pulse, PWM up to 50 kHz
TraceEdge capture on one or more pins (up to 60 s)
UARTOne product UART, UTF-8 or raw bytes
PowerSwitched 3V3 and 5V rails (off by default)
ScriptsSandboxed Lua 5.4 on-device
AccessStreamable HTTP MCP on port 80, REST + OpenAPI, optional cloud relay

Logic pins are 3.3 V only — full electrical limits in docs/hardware.md.

Repo layout

PathWhat
main/ESP-IDF firmware (ESP32-C5, IDF ≥ 5.5)
mcp.jsonMCP tool schema served by the device
openapi.jsonREST API for the same tools
cloud/cloudflare/Cloudflare Worker relay + OAuth (reference server)
hardware/SAIHub-Mini KiCad project
docs/Cookbook, hardware, build, protocol, and BYO-board docs

Community

License

MIT.

Parts

57
QtyValueFootprintReferences
9100nSaihub:C_0603_1608MetricC1, C3, C5, C7, C9, C10, C13, C15, C21
610kSaihub:R_0603_1608MetricR5, R6, R9, R10, R12, R17
31uSaihub:C_0603_1608MetricC8, C11, C12
222Saihub:R_0603_1608MetricR3, R4
226.1kSaihub:R_0603_1608MetricR7, R8
25.1kSaihub:R_0603_1608MetricR1, R2
2SS34Saihub:D_SMAD1, D3
2TPD4E05U06DQARSaihub:TPD4E05U06_DQAU6, U7
2TPS2553DDBVRSaihub:SOT-23-6U4, U5
2USBLC6-2SC6Saihub:SOT-23-6U1, U10
110Saihub:R_0603_1608MetricR18
110.5kSaihub:R_0603_1608MetricR16
1100Saihub:R_0603_1608MetricR11
110nSaihub:C_0603_1608MetricC14
110uSaihub:C_0805_2012MetricC6
11x12 2.54mm right-angleSaihub:PinHeader_1x12_P2.54mm_HorizontalJ2
122uSaihub:C_1210_3225MetricC2
133kSaihub:R_0603_1608MetricR15
13A fuseSaihub:Fuse_1206_3216MetricF1
14.7uHSaihub:SRP5030TAL1
147uSaihub:C_1210_3225MetricC4
15.6nSaihub:C_0603_1608MetricC16
1AO3400ASaihub:SOT-23Q1
1BOOTSaihub:SW_SPST_TS2435VSSW1
1ENSaihub:TestPoint_Pad_D1.0mmTP1
1ESPC5-12-H4Saihub:ESPC5-12-H4U3
1FAULT4Saihub:TestPoint_Pad_D1.0mmTP5
1FAULT5Saihub:TestPoint_Pad_D1.0mmTP6
1GNDSaihub:TestPoint_Pad_D1.0mmTP2
1KLJ-5020 3.3VSaihub:KLJ-5020BZ1
1SGM6232YPS8G/TRSaihub:SGM6232_SOIC8_EPU2
1SMF5.0ASaihub:D_SOD-123FD2
1UART_TXSaihub:TestPoint_Pad_D1.0mmTP3
1USB4105-GF-ASaihub:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1V3V3Saihub:TestPoint_Pad_D1.0mmTP4

Similar boards

  • 2 layers106.3 × 21.7 mmNanoleaf shapes, the printed circuit board in 3D

    Nanoleaf shapes

    Cptmeme/Nanoleaf-Shapes-controller

    Bus-powered half-duplex interface board between a 3.3 V MCU and the Nanoleaf Shapes panel bus

    63 parts3GPL-3.0
  • 4 layers110 × 80 mmEsp32p4 extreme, the printed circuit board in 3D

    Esp32p4 extreme

    Andreuxxx1977/esp32-p4

    An open-hardware, actively cooled ESP32-P4 board for heavy multimedia work: a 2-lane MIPI camera, a 2-lane MIPI display, USB 2.0 High-Speed, 10/100 Ethernet, UHS-I microSD, 32 MB flash and 32 MB PSRAM.

    234 parts1CERN-OHL-P-2.0
  • 4 layers90 × 60 mmVW MTC1, the printed circuit board in 3D

    VW MTC1

    Sajeevanveeriah/Ataxia-Monitor

    Real-Time Ataxia Monitor

    154 partsUnlicense
  • 4 layers16 × 16.8 mmHouse rules usb, the printed circuit board in 3D

    House rules usb

    hmcneill46/house-rules-led-recreation

    Software attempt at recreating Rose Finn-Kelcey's House Rules

    7 parts
  • 4 layers160 × 80 mmAmos, the printed circuit board in 3D

    Amos

    des256/pcbs

    Making electronics as well

    401 parts
  • 4 layers90 × 56.1 mmK2-cm5-traeger, the printed circuit board in 3D

    K2-cm5-traeger

    Gamecard/k2-plus-cm5

    K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5

    137 partsGPL-3.0
  • 4 layers60 × 55.1 mmBalancerREF, the printed circuit board in 3D

    BalancerREF

    natehorst240-sketch/HoboBalancer

    Hobby helicopter rotor-balancing instrumentation. KiCad 10 projects plus ESP32-S3 firmware.

    88 parts
  • 2 layers100 × 75 mmAirQualityPCB, the printed circuit board in 3D

    AirQualityPCB

    leslier7/AirQualityPCB

    MAE 5220 Air Quality Board

    57 parts

Questions

How big is the Saihub prerouted PCB?

It measures 48 × 28 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Saihub prerouted use?

57 parts, built around the ESPC5-12-H4, SGM6232YPS8G/TR, TPD4E05U06DQAR and USBLC6-2SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Saihub prerouted KiCad files?

From the xqe2011/saihub repository on GitHub, at the commit this page was made from: the board is hardware/agent/routing/saihub-prerouted.kicad_pcb and its schematic hardware/saihub.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Saihub prerouted design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).