Skip to the content
PCBKitNew board
4 layers148.1 × 97.9 mmEcb.routed, the printed circuit board in 3D

它與宿主無關、可獨立對外營運:任何支援 MCP 的客戶端(IDE、agent,或你自己的 HTTP 呼叫端) 都能透過 MCP Streamable HTTP 驅動它,不需要任何宿主外殼。正式服務部署在 DockerLab CT105 (http://192.168.100.141:8177/mcp/,經 nginx ingress,POST /invoke 一律 403);容器內部的 TCP port 從不直接對外…

Size
148.1 × 97.9 mm
Copper layers
4
Thickness
1.6 mm
Parts
25
Nets
21
Pads
421
Tracks, vias
135, 87
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Jun 2026
Updated
23 Oct 2026

Overview

Ecb.routed is an open-source printed circuit board by Raw1mage, from the Raw1mage/bodesign repository on GitHub. It is a 4-layer board of 148.1 × 97.9 mm with 25 parts on 21 nets, routed with 135 tracks and 87 vias.

Its parts include 11 ICs, 2 connectors, 1 diode and 1 switch.

README

README.md

bodesign

語言:繁體中文 · English

bodesign 是一個 AI 電路設計(PCB)副駕,以獨立的 MCP server 形式交付。 它由對談與原始輸入檔驅動,走完整個 KiCad 設計生命週期——原理圖 → 佈局 → 製造—— 產出可送廠的文件包,並以展示可靠度(對照已知良品的交叉檢核+KiCad/SPICE/EMC) 而非「宣稱」可靠度。

它與宿主無關、可獨立對外營運:任何支援 MCP 的客戶端(IDE、agent,或你自己的 HTTP 呼叫端) 都能透過 MCP Streamable HTTP 驅動它,不需要任何宿主外殼。正式服務部署在 DockerLab CT105 (http://192.168.100.141:8177/mcp/,經 nginx ingress,POST /invoke 一律 403);容器內部的 TCP port 從不直接對外 publish(BR_20260730d)。

它做什麼

  • 匯入整個專案資料夾(datasheet、原理圖、BOM、Gerber),唯讀。
  • 規劃需求:把自然語言規格轉成結構化計畫(並反問釐清),並把 C00 PRD 產出為帶樣式的 .docx——重現真實 Rockbox C07-PRD Word 架構(封面+改版紀錄表+12 章+章節內表格),範本以 .dotx + JSON 架構描述預存在 server 端供重複使用。
  • 生成 KiCad 符號與經 kicad-cli 驗證的原理圖(以參考設計為依據)。
  • 佈局(pcbnew 擺件+DRC)並匯出製造輸出(gerber/鑽孔/pos/STEP)。
  • 驗證四層:ERC/DRC · 對照組交叉檢核 · SPICE · EMC/熱分析;其中對照組交叉檢核由 確定性參考比對器(G7:純 Python Hungarian 配對+Dice/屬性/連接性加權)執行,SPICE 以 datasheet 接地的 model 卡(每筆參數帶 page-anchor 證據)取代泛用預設模型。
  • 追蹤就緒度,並為每個工程檔產出可讀伴隨檔(docx/pdf)與分享文件。所有「可靠度」皆以 可重現的確定性證據展示(LLM 只負責上游抽取/裁決,驗證與比對全程不參與)。

近期變更

完整紀錄見 CHANGELOG.md。近期重點:

  • 未發布(2026-10-23) — A2A 多 Agent 責任分層硬體設計治理體系(C03-C04): 參考 zhoushoujianwork/easyeda-agent 治理機制,重構為嚴格 IDEF0 規範下的多 Agent 協作制度(規格:plans/workflow_guarded-hardware-governance/)。
    1. 微狀態機與零自我審批(Zero Self-Approval):實作 C03(S0~S5)與 C04(P0~P7)微狀態機,強制作者(EE/Layout)不可兼審查員;
    2. 密碼學憑證(Receipt):每次推進強制顯式列出 not_checked 未測軸向,P7 送廠前強制人類授權(天條 3);
    3. 阻礙中樞(Blocker Hub):結構化異常派工(BLK-nnn)與重試邊界防止循環;
    4. 認證標準電路積木庫:提供 usb_c_sink、power_ldo_3v3、power_dcdc_buck(含 $C_{FF}$)、esd_protection_array,自動處理引腳與佈局約束;
    5. 確定性佈局整潔原語:吸附網格(grid_snap)、線性元件對齊(distribute_passives)、焊盤絲印避讓(silk_tidy);
    6. 視覺化 DRC 局部裁切:自動生成 5mm×5mm 高對比度裁切(100px/mm PNG / SVG),為多模態 Review 提供物理真相;
    7. Landing Verbs 整合:新增 c03_substate_advance、c04_substate_advance、circuit_block_apply、layout_tidy、blocker_record 5 組宿主原生動詞。
  • 未發布(2026-07-06) — BR_20260706 五筆 BR 閉環(schematic 交付保真閘群):spec eda_schematic-draftsman-quality extend DD-8..DD-11 至 living——compose_schematic 新增 fidelity(net 劃分保真閘,抓 ERC 盲區的共線熔合短路)與 density_budget (頁面密度超標 fail-fast 強制分頁);kicad_emit 防熔合 guard(確定性 jog 錯開); qa_svg_text 渲染層文字 QA landing verb;/tmp/engpatch 部署漂移源退場 + engine_rev 回報;SKILL.md 交付契約六硬規。62 tests OK。
  • 未發布(2026-07-05) — skill 語料去誤導化:稽核出 18 筆會誤導 agent 的語料 (含 R20 HV 間距跨欄拼湊安全 bug,裸外層板低壓間距偏小 4.6 倍)全數修畢; 建立 provenance 三級制([primary:]/[fab:]/[rot],經驗值禁入 DRC gate)與 clean-result 邊界語紀律。雙盲 eval:新版 6/6 vs 舊版 0/6。
  • 未發布(2026-07-04) — 跨 spec extend:copper-clearance checker 落地:畢業 design-ir/net-role-extension(封閉 NET_ROLES enum)與 gerber-core/copper-geometry-parser (真實 edge-to-edge 銅箔幾何)兩 spec,新增 copper_clearance.py 消費之,把 control.dfm.ipc-clearance-voltage 由 T-B stub 翻為 T-A landed(landed 8→9)。 拒絕 false-green——landed 由 9 個測試(含 6 個 no-fabrication fail-fast 守衛)背書。
  • 未發布(2026-07-03) — C04 誠實機制接線:修復 aiguard 踩坑的工具層根因。新增 C04 上游履約 gate(C03 未落 netlist → blocked_upstream_c03_missing,不再誤報 drafted), 把去孤兒化的 classify_product_feasibility(tier 分診,無 signals 不臆測)與 emit_si_constraint_export(Tier-3 SI 交手)接進 C04 emit/readiness;41 tests 綠。
  • 0.2.1(2026-07-03) — 第 5 道信任層 PRD↔BOM 履約 crosscheck gate(C04 缺口治理): 驗收發現 C00 PRD 定義的晶片模組未落到板上,以「一級一級治」補 L1 履約 gate (bodesign_prd_bom_crosscheck)、L2 Vault-Absent 降級協議、L3 NPN linear sink 重設計; C04 全鏈實跑 gate=PASS + DRC clean。另落地 atopile DSL 前端(工具 43→45)。
  • 0.2.0(2026-07-02) — R13 compute/landing split(52 verbs 落地)+ WebDAV working cache。

架構圖

A2A 多 Agent 硬體治理工作流架構(C03-C04 責任分層與微狀態)

完整規格與生命週期設計見 plans/workflow_guarded-hardware-governance/。

A2A 治理體系 IDEF0 功能分解(A0)

A2A 治理體系 IDEF0 功能分解

A2A 治理體系 GRAFCET 執行流程(S0S5 ➔ P0P7 & Blocker 派工修復迴圈)

A2A 治理體系 GRAFCET 執行流程

系統全域產品架構(PCB AI Viewer)

完整規格見 specs/product/pcb_ai_viewer/。

IDEF0 功能分解(A0)

IDEF0 功能分解

GRAFCET 執行流程(生成迴圈)

GRAFCET 執行流程

執行

Docker(可攜,建議) — 內含 KiCad 9(kicad-cli + pcbnew)+ LibreOffice +整套工具鏈:

bash
./mcpctl.sh start     # 建置映像+啟動容器(UDS 於 ./.run/bodesign.sock)
./mcpctl.sh status    # 健康檢查+socket
./mcpctl.sh log       # 追蹤日誌
./mcpctl.sh stop

主機(不用 Docker) — 需要 PATH 上有 kicad-cli、pcbnew、soffice、ngspice:

bash
pip install -r services/mcp/requirements.txt
python services/mcp/server.py --transport http --uds .run/bodesign.sock --port 8077
# 或 --transport stdio 供 IDE/agent 直接使用

連線(MCP)

MCP Streamable HTTP:

  • 正式(DockerLab CT105,預設):http://192.168.100.141:8177/mcp/——僅限 LAN,nginx ingress 封鎖 POST /invoke(403),只開放 /healthz、/mcp、/files。部署清單與發布 SOP 見 deploy/dockerlab/。
  • 本機開發:BODESIGN_DEV=1 ./mcpctl.sh start 後經 UDS unix:///…/.run/bodesign.sock:/mcp/。 兩者擇一,不要同時跑。
  • 容器內部 TCP :8077 從不直接 publish(BR_20260730d:publish 會把未認證的 POST /invoke 暴露在所有介面上),對外一律經 ingress。

註冊資訊見 mcp.json。開啟服務的 / 即是即時的自我說明指南—— 安裝、檔案模型、電路設計工作流,以及 /tools、/tools/{name} 的完整 tool-call schema。

檔案模型(兩平面,0.2.0)

Landing plane(本地直跑,零 token 往返) — 52 個確定性、只碰專案目錄的 verb (C00–C06 scaffold/readiness/emitters、orchestration spine、純函數)不再是 MCP 工具, 改由 agent 在主機以自己的身分直接執行:

bash
python3 skills/bodesign/scripts/gate.py --list        # 權威 verb 清單
python3 skills/bodesign/scripts/gate.py <verb> --repo <abs專案路徑> [--json '{…}' | --arg k=v]

誤把已落地的名字當 MCP 工具呼叫,會收到 typed error TOOL_LANDED,內附等效的 gate.py 指令。

Compute plane(容器 token 檔案模型,docxmcp 風格) — 重工具鏈(pcbnew/kicad-cli/ngspice/ 渲染/3D)留在容器內的 43 個 MCP 工具。bodesign 不內含任何工作資料:檔案只走一條路——WebDAV 工作區。Agent 呼叫 opencode runtime verb system-manager_webdav_mount(app="bodesign") 取得 mount_path + token;把輸入檔放進 mount_path,將 token 傳給任一工具(路徑參數在工作區樹內解析), 產出檔直接在 mount_path 讀回。伺服端工作資料依 TTL 自動垃圾回收;容器看不到主機路徑。

Working cache(WebDAV,消滅整包進出儀式) — 需要多檔往返的交付物改用伺服端工作快取: bodesign_cache_provision(由 opencode runtime 呼叫,不由 agent 呼叫)回傳 token + 絕對 mount_url(…/dav/{token}/)+ 選用的專屬 Basic 憑證;重工具直接寫入快取命名空間,產出檔在掛載目錄 直接可見——不需匯出步驟。bodesign_cache_close 回收工作區。每個 cache 依擁有者隔離, 免於 idle 回收(長 safety-net TTL 把關)。

Skill 配對

bodesign(MCP)是生成的那一半;配套的 bodesign skill 是工作流大腦(C00–C07 生命週期、 誠實契約、各階段 SOP),並且承載分析/文件引擎——kicad(原理圖/PCB/Gerber 分析)與 kidoc(工程文件)現在以 engines/kicad、engines/kidoc 的形式住在那裡,所以請安裝 bodesign skill,而非獨立的 kicad/kidoc。分工是雙向的:skill 驅動本 MCP 的 bodesign_* 工具來生成, 而 MCP 的驗證工具(bodesign_simulate/analyze_emc/analyze_thermal)回頭呼叫 skill 的引擎來 分析(透過 BODESIGN_KICAD_SKILL 解析,預設 ~/.claude/skills/bodesign/engines/kicad)。

其餘成熟的模擬/採購/製造 EDA skill(spice、emc、datasheets、bom、distributors、fab), 連同獨立的 kicad/kidoc(legacy,已併入 bodesign skill),都可從執行中的服務在 /skills/ 下載(整包+個別 skill),安裝到你的 skill 目錄。

skill 在執行層之上再加一層設計判斷(各階段的 reference:C01 reduction-lens+Ashby 選材、 C02 DFM/DFA/IP 密封+幾何作圖迴圈、C03 EE advisory+「腳位→電路」合成法、C04 stackup/HDI/SI)。 跨站不收斂(面積/散熱/高度 budget、C06 verdict fail)會以既有 BlockerReturn 回饋到負責的 階段並擋住下游完成(遞迴自我修正)。一開始就用可行性 triage 從 C00 估算分級(Tier 1 可直接 投板/2 需人類 SI 簽核/3 HDI 級交專業 EDA),讓「給 C00,得 C01–C04」對每個產品誠實; Tier-3 由 emit_si_constraint_export 產出中性 SI 約束包(JSON+CSV+逐工具對應),把繞線硬牆變成 乾淨交接而非斷點。

目錄結構

text
bodesign/
├── services/mcp/                 MCP server —— 產品的唯一對外介面
│   ├── server.py                 工具分派、token 路徑解析、UDS+TCP 雙綁定、自我說明網頁
│   ├── token_store.py            docxmcp 式 token 檔案儲存 + TTL/GC
│   ├── requirements.txt
│   └── assets/skills/            EDA skill 套件(13 個 tarball +整包 bundle + MANIFEST.md)
├── packages/                     通用能力函式庫(無產品專屬碼)
│   ├── shared/                   共用契約 + data_root()(程式↔工作資料隔離邊界)
│   ├── design-ir/                DesignIntent 等中介表示(IR);compare/ 子模組=確定性
│   │                             參考比對器(G7:純 Python Hungarian+Dice/屬性/連接性加權+FlexiblePin)
│   ├── component-kb/             可重用零件知識(datasheet 萃取);spice_card.py=datasheet 接地
│   │                             SPICE model 卡(vault L4 → cascade tier-1,確定性、byte-identical)
│   ├── doc-core/                 pin-table/文件產生工具
│   ├── source-core/              來源/證據契約
│   ├── reverse-core/             專案匯入、伴隨檔渲染、文件輸出、board 重建
│   ├── gerber-core/              Gerber/鑽孔解析 + 預覽
│   ├── eda-bridge/               KiCad 橋接:符號/原理圖/佈局/製造/BOM/SPICE/EMC;
│   │                             simulate 標注 model_source(vault-grounded|generic-default)
│   ├── workflow-core/            需求規劃、證據蒐集、就緒度羅盤、對照組交叉檢核、
│   │                             可行性 triage(C04 交付分級)、跨站對帳閘、SI 約束交接;
│   │                             驗證紀律 G1–G7(需求契約/設計審查閘/crosscheck+root-cause/
│   │                             ValidationEvidence 回流/workflow plan 衍生)
│   ├── storage-core/             客戶自有專案登錄
│   └── kicad-plugin/             in-KiCad Action Plugin 契約(roadmap)

bodesign 不內含任何工作資料;客戶專案樹只在執行期經 token 儲存進入,或由外部 data_root()(BODESIGN_DATA_DIR)讀取。

可靠度邊界

交叉檢核+SPICE/EMC 是矽前風險層——在打樣前抓出問題。它們不取代實驗室/工廠的 認證 EMC/EVT/DVT;且 bodesign 在未經確定性驗證+明確批准前,不會輸出任何送廠檔案。

Parts

25
QtyValueFootprintReferences
118650 holderBatteryHolder_Keystone_1042_1x18650BT1
12.4GHz antennaTexas_SWRA117D_2.4GHz_LeftANT1
1BQ24075 chargerQFN-16_L3.0-W3.0-P0.50-TL-EP1.7U9
1CCM-ECB B2B (visual stand-in, MPN open)PinHeader_2x20_P2.54mm_VerticalJ_B2B
1LM66100 power-pathSC-70-6_L2.0-W1.3-P0.65-LS2.1-BLU11
1LM66200 OR-ingSOT-583-8_L2.1-W1.2-P0.50-LS1.6-BLU10
1MIPI mux blockQFN-40-1EP_5x5mm_P0.4mm_EP3.6x3.6mmU13
1RGB LEDLED-SMD_6P-L5.0-W5.0-FDD1
1SWDPinHeader_2x05_P2.54mm_VerticalJ3
1USB ESDDFN-10-1EP_3x3mm_P0.5mm_EP1.58x2.35mmU12
1USB-CUSB-C_SMD-TYPE-C-31-M-12_1J1
1WiFi/BLE module placeholderWLBGA-63_L4.8-W2.8-P0.40-BL_CYW43438KUBGTU4
1buttonSW-SMD_4P-L5.2-W5.2-P3.70-LS6.4-TS-076S-030180-PSW1
1load switch P1SC-70-6_L2.2-W1.3-P0.65-LS2.1-BRU14
1load switch P2SC-70-6_L2.2-W1.3-P0.65-LS2.1-BRU15
1load switch P3SC-70-6_L2.2-W1.3-P0.65-LS2.1-BRU16
1load switch P4SC-70-6_L2.2-W1.3-P0.65-LS2.1-BRU17
1load switch P5SC-70-6_L2.2-W1.3-P0.65-LS2.1-BRU18
1microSDTF-SMD_TF-01AJ_SD
1module port 1PinHeader_2x10_P2.54mm_VerticalJ_M1
1module port 2PinHeader_2x10_P2.54mm_VerticalJ_M2
1module port 3PinHeader_2x10_P2.54mm_VerticalJ_M3
1module port 4PinHeader_2x10_P2.54mm_VerticalJ_M4
1module port 5PinHeader_2x10_P2.54mm_VerticalJ_M5
1touch OLED FPCHirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_HorizontalDS1

Questions

How big is the Ecb.routed PCB?

It measures 148.1 × 97.9 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Ecb.routed use?

25 parts. 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 Ecb.routed KiCad files?

From the Raw1mage/bodesign repository on GitHub, at the commit this page was made from: the board is experiments/route_work/ecb.routed.kicad_pcb and its schematic experiments/e2e-led-driver/C03-EE/e2e-led-driver-npn.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ecb.routed design in my own project?

Its repository states no licence, so its author keeps all rights: ask Raw1mage before reusing the design.

More from Raw1mage/bodesign

3
  • 2 layers90.8 × 19 mmE2e led driver npn.routed, the printed circuit board in 3D

    E2e led driver npn.routed

    Raw1mage/bodesign

    它與宿主無關、可獨立對外營運:任何支援 MCP 的客戶端(IDE、agent,或你自己的 HTTP 呼叫端) 都能透過 MCP Streamable HTTP 驅動它,不需要任何宿主外殼。正式服務部署在 DockerLab CT105 (http://192.168.100.141:8177/mcp/,經 nginx ingress,POST /invoke 一律 403);容器內部的 TCP port 從不直接對外…

    22 parts
  • 2 layers91.1 × 18 mmE2e led driver.poured, the printed circuit board in 3D

    E2e led driver.poured

    Raw1mage/bodesign

    它與宿主無關、可獨立對外營運:任何支援 MCP 的客戶端(IDE、agent,或你自己的 HTTP 呼叫端) 都能透過 MCP Streamable HTTP 驅動它,不需要任何宿主外殼。正式服務部署在 DockerLab CT105 (http://192.168.100.141:8177/mcp/,經 nginx ingress,POST /invoke 一律 403);容器內部的 TCP port 從不直接對外…

    18 parts
  • 4 layers57.9 × 68.5 mmCcm, the printed circuit board in 3D

    Ccm

    Raw1mage/bodesign

    它與宿主無關、可獨立對外營運:任何支援 MCP 的客戶端(IDE、agent,或你自己的 HTTP 呼叫端) 都能透過 MCP Streamable HTTP 驅動它,不需要任何宿主外殼。正式服務部署在 DockerLab CT105 (http://192.168.100.141:8177/mcp/,經 nginx ingress,POST /invoke 一律 403);容器內部的 TCP port 從不直接對外…

    8 parts

Similar boards

  • 4 layers90 × 90 mmPower distribution, the printed circuit board in 3D

    Power distribution

    menloresearch/asimov-1

    v1 of Asimov, an open-source humanoid robot

    25 parts1.4kCERN-OHL-S-2.0
  • 4 layers16 × 22.8 mmReadout 30pin top, the printed circuit board in 3D

    Readout 30pin top

    opentac/opentac

    OpenTac: open tools to design, fabricate, read and simulate flex-PCB tactile skins that sense normal and shear force, for any robot surface.

    25 parts92MIT
  • 4 layers40 × 30.3 mmAPmini, the printed circuit board in 3D

    APmini

    ManiacalLabs/AllPixel

    Firmware and Board Designs for the AllPixel LED Controller Board: Please direct questions and support requests to https://forum.maniacallabs.com/c/hardware - The Issues list here should be reserved for actual bugs.

    25 parts56MIT
  • 4 layers18.6 × 43.1 mmNfc sense, the printed circuit board in 3D

    Nfc sense

    unsurv/NFC_temp

    passive temperature NFC tag

    25 parts49
  • 4 layers63.5 × 27.9 mmTangNano9K5V, the printed circuit board in 3D

    TangNano9K5V

    ryomuk/tangnano-5V

    5V tolerant interface for Tang Nano

    25 parts45MIT
  • 4 layers18 × 13 mmMumo, the printed circuit board in 3D

    Mumo

    kounocom/Mumo

    A compact 13×18mm IMU module featuring the TDK InvenSense ICM-45686 6-axis IMU with integrated 32.768kHz clock and QST QMC6309H 3-axis magnetometer.

    25 parts41CERN-OHL-S-2.0
  • 4 layers13.6 × 19.4 mmMiniCO2, the printed circuit board in 3D

    MiniCO2

    nup002/miniCO2

    A miniature USB CO2 sensor

    25 parts40
  • 4 layers98.8 × 85.1 mmSsc, the printed circuit board in 3D

    Ssc

    jmthompson/ssc

    Simple Serial Card, an Apple Super Serial Card clone

    25 parts37