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

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.
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.
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
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:
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.
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:
The cookbook walks through every step:
SAIHUB-xxxxxx AP, and pick your network.http://<device-ip>/mcp. The agent now has a hand on your bench.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 LAN | Self-hosted relay | Managed cloud | |
|---|---|---|---|
| Best for | Bench work, zero setup | Remote access under your own account | Remote access, zero ops |
| MCP URL | http://<device-ip>/mcp | https://<your-worker>/device/<digest>/mcp | https://saihub.xqe2011.com/device/<digest>/mcp |
| Reach | Same LAN only | Anywhere | Anywhere |
| Setup | None after Wi-Fi | Deploy to Cloudflare then rebuild firmware with your origin (details) | None — boards bought from us connect to the managed cloud |
| Auth | None (LAN trust) | OAuth through your relay | OAuth in the browser |
| Traffic path | Direct to the board | Through your Cloudflare account | Through our infrastructure |
| Cost | Free | Cloudflare free tier | Included 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).
Nothing here ties you to us:
| Area | What the agent gets |
|---|---|
| GPIO 0–7 | Digital in / out / open-drain, pulse, PWM up to 50 kHz |
| Trace | Edge capture on one or more pins (up to 60 s) |
| UART | One product UART, UTF-8 or raw bytes |
| Power | Switched 3V3 and 5V rails (off by default) |
| Scripts | Sandboxed Lua 5.4 on-device |
| Access | Streamable HTTP MCP on port 80, REST + OpenAPI, optional cloud relay |
Logic pins are 3.3 V only — full electrical limits in docs/hardware.md.
| Path | What |
|---|---|
main/ | ESP-IDF firmware (ESP32-C5, IDF ≥ 5.5) |
mcp.json | MCP tool schema served by the device |
openapi.json | REST 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 |
MIT.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 100n | Saihub:C_0603_1608Metric | C1, C3, C5, C7, C9, C10, C13, C15, C21 |
| 6 | 10k | Saihub:R_0603_1608Metric | R5, R6, R9, R10, R12, R17 |
| 3 | 1u | Saihub:C_0603_1608Metric | C8, C11, C12 |
| 2 | 22 | Saihub:R_0603_1608Metric | R3, R4 |
| 2 | 26.1k | Saihub:R_0603_1608Metric | R7, R8 |
| 2 | 5.1k | Saihub:R_0603_1608Metric | R1, R2 |
| 2 | SS34 | Saihub:D_SMA | D1, D3 |
| 2 | TPD4E05U06DQAR | Saihub:TPD4E05U06_DQA | U6, U7 |
| 2 | TPS2553DDBVR | Saihub:SOT-23-6 | U4, U5 |
| 2 | USBLC6-2SC6 | Saihub:SOT-23-6 | U1, U10 |
| 1 | 10 | Saihub:R_0603_1608Metric | R18 |
| 1 | 10.5k | Saihub:R_0603_1608Metric | R16 |
| 1 | 100 | Saihub:R_0603_1608Metric | R11 |
| 1 | 10n | Saihub:C_0603_1608Metric | C14 |
| 1 | 10u | Saihub:C_0805_2012Metric | C6 |
| 1 | 1x12 2.54mm right-angle | Saihub:PinHeader_1x12_P2.54mm_Horizontal | J2 |
| 1 | 22u | Saihub:C_1210_3225Metric | C2 |
| 1 | 33k | Saihub:R_0603_1608Metric | R15 |
| 1 | 3A fuse | Saihub:Fuse_1206_3216Metric | F1 |
| 1 | 4.7uH | Saihub:SRP5030TA | L1 |
| 1 | 47u | Saihub:C_1210_3225Metric | C4 |
| 1 | 5.6n | Saihub:C_0603_1608Metric | C16 |
| 1 | AO3400A | Saihub:SOT-23 | Q1 |
| 1 | BOOT | Saihub:SW_SPST_TS2435VS | SW1 |
| 1 | EN | Saihub:TestPoint_Pad_D1.0mm | TP1 |
| 1 | ESPC5-12-H4 | Saihub:ESPC5-12-H4 | U3 |
| 1 | FAULT4 | Saihub:TestPoint_Pad_D1.0mm | TP5 |
| 1 | FAULT5 | Saihub:TestPoint_Pad_D1.0mm | TP6 |
| 1 | GND | Saihub:TestPoint_Pad_D1.0mm | TP2 |
| 1 | KLJ-5020 3.3V | Saihub:KLJ-5020 | BZ1 |
| 1 | SGM6232YPS8G/TR | Saihub:SGM6232_SOIC8_EP | U2 |
| 1 | SMF5.0A | Saihub:D_SOD-123F | D2 |
| 1 | UART_TX | Saihub:TestPoint_Pad_D1.0mm | TP3 |
| 1 | USB4105-GF-A | Saihub:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | V3V3 | Saihub:TestPoint_Pad_D1.0mm | TP4 |

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

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.


hmcneill46/house-rules-led-recreation
Software attempt at recreating Rose Finn-Kelcey's House Rules


Gamecard/k2-plus-cm5
K2 Plus CM5 – Creality K2 Plus mit Upstream-Klipper auf einem Raspberry Pi CM5

natehorst240-sketch/HoboBalancer
Hobby helicopter rotor-balancing instrumentation. KiCad 10 projects plus ESP32-S3 firmware.

It measures 48 × 28 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
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).