
Quadruped robot controller
mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.
Bench robotics controller 5eab0a5d is an open-source printed circuit board by mrcha033, from the mrcha033/hw-codesign repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 160 × 100 mm with 46 parts on 60 nets, routed with 610 tracks and 50 vias.
It is built around the STM32H743VIT6, TCAN1042HGVDRQ1 and ICM-42688-P, with the RC0603FR-07100KL, SMCJ33A and SN74LVC1G97DBVRE4 among its other parts. Its parts include 17 connectors, 10 capacitors, 6 ICs, 4 resistors and 2 diodes. It belongs with the robots and motor control boards and the RP2040 and STM32 boards of this library.
Give an AI agent a hardware brief. Get KiCad, firmware, a 3D assembly, and an explicit fabrication-blocker report.
Agentic hardware co-design from brief to KiCad, firmware, 3D review, and explicit
fabrication blockers. For 13 supported board families, hw-codesign turns a
prompt into a reviewable candidate while keeping missing sourcing, toolchain,
manufacturing, and physical evidence visible instead of silently treating it as
success.
Explore the interactive 3D review
Rotate and zoom the generated RP2040 USB candidate, then inspect its evidence and unresolved blockers.
Explore the interactive 3D review · Install from PyPI · Watch the 20-second demo · Read the validation contract
The render is a candidate-level CAD preview, not a photo of fabricated or qualified hardware.
Python 3.11 or newer is required. This public install path was smoke-tested in a clean Python 3.11 environment against version 0.1.4.
python3.11 -m pip install "hw-codesign[mcp]==0.1.4"
mkdir my-hardware-workspace && cd my-hardware-workspace
hw --root . create-project my_usb_board --template rp2040_usb_device
hw --root . validate-spec my_usb_boardThat creates and validates a typed RP2040 project. Continue to
generate the full demo candidate, or run
hw --help to inspect the CLI.
The published package has also been independently exercised in a disposable Debian 13 x86-64 container with Python 3.11.15. See the clean-platform reproduction report for the exact environment, commands, and passing output.
The demo is a dated full-toolchain repository run against the RP2040 USB-device family. It produced a candidate, not a fabrication-qualified board: 44 of 48 recorded gates passed, 1 failed, and 3 were blocked. Freerouting reports zero raw unrouted connections and KiCad reports zero post-fill unconnected items; native ERC and DRC each report zero violations. The native Zephyr build is blocked because the selected ARM toolchain lacks newlib runtime files.
The remaining evidence is material: sourcing fails, current supplier
availability is blocked, the native Zephyr build is blocked on ARM newlib, and
physical qualification is blocked. The
board has not been fabricated, and the U2.57 via-in-pad fill/cap/tent process is
unqualified. Bundle 7d6731501a24716965593f7fcdc168a3d739d1b0a1b7a57f7a0b29fee51c1b84 records those boundaries.
| Brief | Candidate | Blocker report |
|---|---|---|
| Natural-language constraints are lowered into typed project fields with provenance. | The run emits electronics source, KiCad artifacts, firmware, BOM, review bundle, and hashes. | Every gate is pass, fail, or blocked; physical evidence gaps stay release-blocking. |
hw-codesign is available as a CLI (hw), an MCP server (hw-mcp), and a
repository-owned agent plugin. Its design surface is template- and
contract-driven. It is not an arbitrary-prompt PCB oracle.
Python 3.11 or newer is required.
python3.11 -m pip install "hw-codesign[mcp]==0.1.4"
hw --helpThe v0.1.4 release
also publishes a wheel, source distribution, standalone archives for Linux,
macOS, and Windows, a self-contained review, and checksums. The public container
is ghcr.io/mrcha033/hw-codesign:0.1.4.
git clone https://github.com/mrcha033/hw-codesign.git
cd hw-codesign
python3.11 -m venv .venv
.venv/bin/pip install '.[mcp]'
export PATH="$PWD/.venv/bin:$PATH"
hw --helpThe self-contained review is live at https://mrcha033.github.io/hw-codesign/ and can be inspected without a receiver or cloud account.
Create the same candidate class used in the demo:
mkdir my-hardware-workspace
cd my-hardware-workspace
hw --root . create-project my_usb_board --template rp2040_usb_device
hw --root . update-requirements my_usb_board \
"Design a 2-layer RP2040 USB HID and CDC board powered from USB-C. Use Zephyr."
hw --root . design-candidate my_usb_board --brief \
"Design a 2-layer RP2040 USB HID and CDC board powered from USB-C. Use Zephyr."
hw --root . export-standalone-review my_usb_boardThe generated HTML review is self-contained. No receiver or cloud account is required to inspect it.
Claude Desktop configuration:
{
"mcpServers": {
"hw-codesign": {
"command": "/absolute/path/to/hw-codesign/.venv/bin/hw-mcp",
"args": [],
"env": {
"HW_PLATFORM_ROOT": "/absolute/path/to/a/writable/hardware-workspace"
}
}
}
}Claude Code:
claude mcp add hw-codesign \
-e HW_PLATFORM_ROOT="$PWD" \
-- /absolute/path/to/hw-codesign/.venv/bin/hw-mcpFor Codex or Claude plugin use, clone this repository and install the
hw-codesign marketplace entry:
codex plugin marketplace add /absolute/path/to/hw-codesign
codex plugin add hw-codesign@hw-codesign| Status | Meaning |
|---|---|
pass | The named gate ran and its declared checks passed. |
fail | The gate ran and found a concrete defect or unmet contract. |
blocked | Evidence or a required tool/input is missing. This is never treated as pass. |
candidate | Reviewable generated artifacts exist, but release promotion is not authorized. |
released | The configured release gate passed and the release bundle was exported. This does not imply physical qualification unless physical evidence is present and approved. |
Every public tool response carries release_eligible, candidate_only, and
release_blocking_failures. Only the release-gate and release-export paths can
set release_eligible: true.
All 13 shipped templates conform to the current typed spec schema. Their design and physical maturity are not identical; inspect each candidate's gate report.
| Group | Templates |
|---|---|
| USB devices | rp2040_usb_device, usb_hid_controller, avr_32u4_hid, nrf52840_dongle |
| Sensors and gateways | ble_sensor_node, sensor_data_logger, lora_sensor_node, esp32_wifi_gateway, samd21_sensor_hub, stm32g0_power_monitor |
| Robotics and power | robotics_controller_full, mini_servo_robot, bldc_esc |
Use hw diagnose-environment to inspect the installed native backends, or see
Adapting the design system before adding a materially
different topology.
The MCP names use the same lifecycle as the CLI:
hw_get_capabilities
→ hw_create_project
→ hw_update_requirements
→ hw_design_candidate
→ hw_check_cross_domain_consistency
→ hw_generate_physical_qualification_plan
→ hw_record_physical_evidence
→ hw_check_release_gate
→ hw_export_release_bundleAgents can also author circuit blocks, placement constraints, and firmware modules, explore alternatives, compare candidates, and run adversarial grounding benchmarks. See the MCP tool reference for the complete contract.
If a new board family or backend is your goal, start with
Adapting the design system and preserve the
pass/fail/blocked claim boundary in every new tool path.
| Path | Purpose |
|---|---|
src/hw_codesign/ | CLI, MCP service, generators, validators, and review UI |
src/hw_codesign/templates/ | Supported family specifications |
parts/ | Curated components, role sets, supplier records, and datasheet evidence |
projects/golden_rp2040_usb_hid/ | Date-stamped golden candidate and current evidence gaps |
docs/demo/ | 20-second demo and self-contained read-only review |
schemas/ | Typed project and result contracts |
tests/ | Cross-platform regression and evidence-boundary tests |
python3.11 -m venv .venv
.venv/bin/pip install '.[dev,mcp]'
npm ci --ignore-scripts
pytest -q
ruff check .Native gates require their corresponding tools. Diagnose the current machine before interpreting a blocked result:
hw diagnose-environment --target fabrication_release --backend kicad
hw check my_usb_boardSee CONTRIBUTING.md for contribution scope, tests, and claim boundaries. Security reports should follow SECURITY.md.
The project is licensed under Apache-2.0. The vendored KiCad footprint
under src/hw_codesign/footprints/ retains its CC-BY-SA 4.0 license with the
KiCad libraries exception; see NOTICE for the boundary.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C4, C5, C6, C7, C8 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_Pad | H1, H2, H3, H4 |
| 2 | 4K7 | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 100K | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 10uF 50V | Capacitor_SMD:C_1210_3225Metric | C10 |
| 1 | 120R | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 22uF | Capacitor_SMD:C_1206_3216Metric | C9 |
| 1 | 24V INPUT | HW_Curated:MicroFit_2Pin | J1 |
| 1 | 33V TVS | Diode_SMD:D_SMC | D1 |
| 1 | 3V3 Buck | Package_DFN_QFN:VQFN-16 | U5 |
| 1 | 5V Buck | Package_DFN_QFN:WQFN-30 | U4 |
| 1 | 80A SERVICE FUSE | HW_Curated:MIDI_Fuse | F1 |
| 1 | CAN | HW_Curated:MicroFit_3Pin | J3 |
| 1 | CAN PHY | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | E-STOP | TerminalBlock:Phoenix_3Pin | J2 |
| 1 | E-STOP GATE | Package_TO_SOT_SMD:SOT-23-6 | Q2 |
| 1 | ICM-42688-P | Package_LGA:LGA-14 | U2 |
| 1 | IDEAL DIODE | Package_TO_SOT_SMD:SOT-23-6 | Q1 |
| 1 | MOTOR_IO_1 | HW_Curated:MicroFit_8Pin | J11 |
| 1 | MOTOR_IO_10 | HW_Curated:MicroFit_8Pin | J20 |
| 1 | MOTOR_IO_11 | HW_Curated:MicroFit_8Pin | J21 |
| 1 | MOTOR_IO_12 | HW_Curated:MicroFit_8Pin | J22 |
| 1 | MOTOR_IO_2 | HW_Curated:MicroFit_8Pin | J12 |
| 1 | MOTOR_IO_3 | HW_Curated:MicroFit_8Pin | J13 |
| 1 | MOTOR_IO_4 | HW_Curated:MicroFit_8Pin | J14 |
| 1 | MOTOR_IO_5 | HW_Curated:MicroFit_8Pin | J15 |
| 1 | MOTOR_IO_6 | HW_Curated:MicroFit_8Pin | J16 |
| 1 | MOTOR_IO_7 | HW_Curated:MicroFit_8Pin | J17 |
| 1 | MOTOR_IO_8 | HW_Curated:MicroFit_8Pin | J18 |
| 1 | MOTOR_IO_9 | HW_Curated:MicroFit_8Pin | J19 |
| 1 | STM32H743 | Package_QFP:LQFP-100_14x14mm_P0.5mm | U1 |
| 1 | SWD | Connector_Samtec:FTSH-105 | J4 |
| 1 | USB ESD | Package_TO_SOT_SMD:SOT-23-6 | D2 |
| 1 | USB-C | Connector_USB:USB_C_GCT_USB4105 | J5 |
| 1 | eFuse | Package_DFN_QFN:VQFN-24-1EP | U3 |

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

mrcha033/hw-codesign
Agentic hardware co-design: brief to KiCad, firmware, 3D review, and explicit fabrication blockers.

gonewx/quadcuber
本目录是 A1 电子源目录。打开 quadcuber.kicadpro,包含原生可编辑原理图和四层 PCB、本地符号/封装库。本设计为单块PCB,RP2040、QSPI Flash、晶振、USB-C、驱动和电源均直接焊接在板上;A0的Pico H插装已移除。马达使用EV3裸插座。接线定义仍从 ../wiring/spec.py 导入,固件未改动,也没有把 R/L 固件描述成已支持四臂控制。

Matthew-Garcia/NASA-Lunabotics-UHCL-Lunar-Hawks
UHCL Lunar Hawks proof-of-concept excavation rover: ROS 2, micro-ROS, MicroPython, control PCB development, CAD, and research.

ajisrawi/atc-roip-gateway
Airborne Radio-over-IP (RoIP) gateway bridging aircraft VHF COM + HF transceivers to an IP network (Starlink) with an ED-137-style RTP/PTT/COR stream. KiCad hardware, routed 4-layer PCB, STM32H743 firmware.

Bruhdows/klink
Klink is a magnetic tile system for building programmable machines. First up: a marble run with sensors, buttons, lights, gates, splitters and an elevator.



utof/eeg_ads1299_lab
It is not a finished EEG recorder, a validated PCB, or permission to attach a circuit to a person. The firmware is a board-dependent bench-only starter using the ADS1299's internal test/short circuits.

sbbxiii/The-Eagle
The Eagle: Custom STM32F405 4-Layer Autonomous Avionics Flight Controller PCB
It measures 160 × 100 mm and has 4 copper layers, 1.6 mm thick.
46 parts, built around the STM32H743VIT6, TCAN1042HGVDRQ1, ICM-42688-P and RC0603FR-07100KL. 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 mrcha033/hw-codesign repository on GitHub, at the commit this page was made from: the board is projects/bench_robotics_controller_5eab0a5d/history/iterations/0001/electronics/generated/kicad/bench_robotics_controller_5eab0a5d.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).