Skip to the content
PCBKitNew board
2 layers50 × 30 mmMini biped robot, the printed circuit board in 3D

Mini biped robot

mrcha033/hw-codesign2

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

Size
50 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
29
Pads
171
Tracks, vias
0, 0
Pours
2
Routed
Not yet
KiCad
KiCad 8 (file 20240108)
Created
14 Jun 2026
Updated
29 Jul 2026

Overview

Mini biped robot 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 2-layer board of 50 × 30 mm with 36 parts on 29 nets.

It is built around the ATSAMD21G18A-AU, PCA9685PW and BME280, with the AP2112K-3.3TRG1, SN74LVC1G04DBVR and LSM6DSOX among its other parts. Its parts include 10 connectors, 7 capacitors, 7 ICs, 5 resistors and 1 diode. It belongs with the robots and motor control boards and the RP2040 and SAM D and SAM boards of this library.

Main components

12

README

README.md

hw-codesign

CI PyPI GitHub release License

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.

3D CAD render of a generated RP2040 USB hardware candidate with a routed PCB, USB-C connector, and debug header

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.

Quickstart

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.

bash
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_board

That 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.

What the public demo proves—and what remains blocked

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.

The 20-second product loop

20-second prompt-to-board demo

BriefCandidateBlocker 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.

Install

Python 3.11 or newer is required.

bash
python3.11 -m pip install "hw-codesign[mcp]==0.1.4"
hw --help

The 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.

Development install

bash
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 --help

The self-contained review is live at https://mrcha033.github.io/hw-codesign/ and can be inspected without a receiver or cloud account.

Generate the demo candidate

Create the same candidate class used in the demo:

bash
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_board

The generated HTML review is self-contained. No receiver or cloud account is required to inspect it.

MCP clients

Claude Desktop configuration:

json
{
  "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:

bash
claude mcp add hw-codesign \
  -e HW_PLATFORM_ROOT="$PWD" \
  -- /absolute/path/to/hw-codesign/.venv/bin/hw-mcp

For Codex or Claude plugin use, clone this repository and install the hw-codesign marketplace entry:

bash
codex plugin marketplace add /absolute/path/to/hw-codesign
codex plugin add hw-codesign@hw-codesign

What the statuses mean

StatusMeaning
passThe named gate ran and its declared checks passed.
failThe gate ran and found a concrete defect or unmet contract.
blockedEvidence or a required tool/input is missing. This is never treated as pass.
candidateReviewable generated artifacts exist, but release promotion is not authorized.
releasedThe 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.

Supported board families

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.

GroupTemplates
USB devicesrp2040_usb_device, usb_hid_controller, avr_32u4_hid, nrf52840_dongle
Sensors and gatewaysble_sensor_node, sensor_data_logger, lora_sensor_node, esp32_wifi_gateway, samd21_sensor_hub, stm32g0_power_monitor
Robotics and powerrobotics_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.

Agent workflow

The MCP names use the same lifecycle as the CLI:

text
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_bundle

Agents 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.

Build with us

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.

Repository map

PathPurpose
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

Development

bash
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:

bash
hw diagnose-environment --target fabrication_release --backend kicad
hw check my_usb_board

See CONTRIBUTING.md for contribution scope, tests, and claim boundaries. Security reports should follow SECURITY.md.

Known limits

  • Generated artifacts remain candidates until every configured release gate passes. A Gerber ZIP is not proof that a board is safe or manufacturable.
  • Digital checks cannot certify thermal performance, EMI/EMC, vibration, ingress, abuse safety, connector life, assembly quality, or electrical bring-up. Those require traceable physical evidence.
  • The RP2040 golden candidate has not yet been fabricated. Its current blocker report is published deliberately, and no bench measurements are claimed.
  • Supplier catalog entries identify parts and provenance, but current stock and alternates require fresh supplier evidence.
  • The receiver binds only to loopback. Remote use requires an authenticated SSH tunnel or reverse proxy; it is not a multi-tenant hosted service.

License

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.

Parts

36
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.2mm_PadH1, H2, H3, H4
2100nFCapacitor_SMD:C_0402_1005MetricC1, C2
212pF RTC XTALCapacitor_SMD:C_0805_2012MetricC4, C5
25K1 USB-C RdResistor_SMD:R_0603_1608MetricR3, R4
11000uF 10V LOW ESRCapacitor_SMD:C_0603_1608MetricC20
110A SERVO FUSEFuseholder_Blade_MiniF20
110K E-STOP FAIL-SAFE PULLDOWNR0603R20
110uFCapacitor_SMD:C_0603_1608MetricC3
116-CHANNEL I2C PWMTSSOP-28_4.4x9.7mm_P0.65mmU21
11uF VDDCORECapacitor_SMD:C_0603_1608MetricC6
12S LIPO INPUTXT30PW_MJ20
132.768kHz XTALCrystal:Crystal_SMD_Epson_MC-306_3.2x1.5mmX1
13V3 LDOPackage_TO_SOT_SMD:SOT-23-5U1
14K7 SCL PUResistor_SMD:R_0603_1608MetricR1
14K7 SDA PUResistor_SMD:R_0603_1608MetricR2
15V 9A STEP-DOWN MODULEMODULE_POLOLU_D24V90F5U20
1BME280Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mmU4
1E-STOP PWM INVERTERSOT-23-5U22
1LSM6DSOXPackage_LGA:LGA-14_3x2.5mm_P0.5mmU3
1NC E-STOP LOOPTerminalBlock_1x03_P5.08mmJ27
1SAMD21G18APackage_QFP:TQFP-48_7x7mm_P0.5mmU2
1SERVO_1_3PINPinHeader_1x03_P2.54mm_VerticalJ21
1SERVO_2_3PINPinHeader_1x03_P2.54mm_VerticalJ22
1SERVO_3_3PINPinHeader_1x03_P2.54mm_VerticalJ23
1SERVO_4_3PINPinHeader_1x03_P2.54mm_VerticalJ24
1SERVO_5_3PINPinHeader_1x03_P2.54mm_VerticalJ25
1SERVO_6_3PINPinHeader_1x03_P2.54mm_VerticalJ26
1SWD 10-pinConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ2
1USB ESDPackage_TO_SOT_SMD:SOT-23-6D1
1USB-C POWERConnector_USB:USB_C_GCT_USB4105J1

Questions

How big is the Mini biped robot PCB?

It measures 50 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Mini biped robot use?

36 parts, built around the ATSAMD21G18A-AU, PCA9685PW, BME280 and AP2112K-3.3TRG1. 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 Mini biped robot KiCad files?

From the mrcha033/hw-codesign repository on GitHub, at the commit this page was made from: the board is projects/mini_biped_robot/history/iterations/0002/electronics/generated/kicad/mini_biped_robot.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mini biped robot design in my own project?

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).

More from mrcha033/hw-codesign

7
  • 4 layers160 × 100 mmBench robotics controller 5eab0a5d, the printed circuit board in 3D

    Bench robotics controller 5eab0a5d

    mrcha033/hw-codesign

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

    46 parts2Apache-2.0
  • 4 layers160 × 100 mmQuadruped robot controller, the printed circuit board in 3D

    Quadruped robot controller

    mrcha033/hw-codesign

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

    42 parts2Apache-2.0
  • 2 layers65 × 30 mmGolden rp2040 usb hid, the printed circuit board in 3D

    Golden rp2040 usb hid

    mrcha033/hw-codesign

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

    35 parts2Apache-2.0
  • 2 layers50 × 35 mmBench ble lipo sensor b204035a, the printed circuit board in 3D

    Bench ble lipo sensor b204035a

    mrcha033/hw-codesign

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

    23 parts2Apache-2.0
  • 2 layers50 × 35 mmBle sensor node, the printed circuit board in 3D

    Ble sensor node

    mrcha033/hw-codesign

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

    21 parts2Apache-2.0
  • 2 layers70 × 50 mmSensor data logger, the printed circuit board in 3D

    Sensor data logger

    mrcha033/hw-codesign

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

    20 parts2Apache-2.0
  • 2 layers51 × 21 mmBench rp2040 usb hid 5eab0a5d, the printed circuit board in 3D

    Bench rp2040 usb hid 5eab0a5d

    mrcha033/hw-codesign

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

    15 parts2Apache-2.0

Similar boards

  • 2 layers290 × 280 mmCm5-guard A, the printed circuit board in 3D

    Cm5-guard A

    Brico-Hams/antenaSatCommrotor

    DUPLEXER 145 / 435 MHz — BNC — 25 W TARGET — REV A

    158 parts
  • 2 layers45.6 × 73 mmRcs controller, the printed circuit board in 3D

    Rcs controller

    psas/rcs-controller

    The controller PCB for the RCS v2 module

    110 parts
  • 4 layers120 × 78.5 mmEce4900-senior thesis, the printed circuit board in 3D

    Ece4900-senior thesis

    kadinkn/ece4900-senior-thesis

    Floating PV Senior Thesis KiCAD

    91 parts
  • 4 layers109.2 × 76.2 mmArmatron power supply, the printed circuit board in 3D

    Armatron power supply

    feoranis26/armatron_pcb

    PCB prototype files for ARMATRON

    107 parts
  • 4 layers16.9 × 119.4 mmOrbit, the printed circuit board in 3D

    Orbit

    earthtojake/text-to-cad

    Design physical products with AI

    182 parts26kMIT
  • 4 layers129 × 79.5 mmStimjim, the printed circuit board in 3D

    Stimjim

    open-ephys/stimjim

    A precise intra and extracellular electrical stimulator

    236 parts7
  • 4 layers165 × 100 mmUsb scoring platform, the printed circuit board in 3D

    Usb scoring platform

    AndrewCraswell/agency

    Native KiCad engineering prototype, separate from the earlier ESP32/tscircuit board. Open usb-scoring-platform.kicadpro in KiCad 10; schematic and PCB are the editable source, with no generator required.

    224 partsMIT
  • 4 layers93.3 × 155.8 mmKiCAD Keypad, the printed circuit board in 3D

    KiCAD Keypad

    EesaWithTheShot/Macropad

    72 parts