copperhead
NewSimulating serpentine length matching on a bent differential pair

Cursor for circuit boards.

Copperhead is an open source, verification-first AI agent for PCB design.

npm i -g copperhead
 
$ add a USB-C power input to the key
 
▸ read_file docs/POWER.md (48 lines)
▸ list_nets 41 nets, no VBUS, no CC1/CC2
▸ validate_change add-usb-c-power valid, edit tools unlocked
✓ propose: add-usb-c-power validated, edit tools unlocked
▸ edit_file hardware/open-key.kicad_sch: USB-C receptacle, 2x 5.1k CC pulldowns
▸ edit_file docs/POWER.md: VBUS budget, 5 V at 1.5 A
✓ edit: 2 files, 5 anchored regions
▸ run_erc clean, 0 violations
▸ check_drift docs match schematic
✓ verify: ERC clean, no drift
▸ record_decision DECISIONS.md +1 · CHANGELOG.md +1
✓ remember: decision + changelog recorded
done · verified erc · committed 3f2c9a1 · 17s · 12.3k tokens

Backed by

A copperhead-designed board: the Open Telegraph key, with ESP32-S3, USB-C and the copper switch, rendered from its KiCad files.

Built on a real board.

Open Telegraph is a pocket-size ESP32-S3 Morse key designed with this workflow. The KiCad files, the decision log and the check results are all in a public repository.

Eight stages, start to finish.

You write the brief. Copperhead runs the stages in order, each one its own agent run. A stage has to leave its artifact on disk before the next starts. If a gate fails, the run stops there.

in

brief.md

what you want, written in your own words

  1. 01

    spec

    docs/SPEC.md

    gatea budgets section with numbers in it

  2. 02

    architecture

    docs/SUBSYSTEMS.md

    gatea written rationale under every subsystem

  3. 03

    parts

    docs/BOM.md

    gatepart numbers chosen against datasheets

  4. 04

    schematic

    design.kicad_sch

    gatesymbols placed, docs agree, ERC clean

  5. 05

    layout

    design.kicad_pcb

    gatefootprints on the board, DRC clean

  6. 06

    outputs

    gerbers / drill / STEP

    gategerber files on disk

  7. 07

    firmware

    firmware/ / pins.h

    gatesources on disk, pins from the pinout

  8. 08

    dev plan

    docs/DEVPLAN.md

    gatea written bring-up and test plan

out

a design package

gerbers, firmware, docs. One commit per stage.

  • Every hop is a gate: a stage commits only once its artifact is on disk.
  • Copper border: KiCad checks this stage, ERC or DRC clean.
Read the stage-by-stage walkthrough

What the paid plans add.

Copperhead is open core. The CLI is free and does the design work on its own. The paid plans add hosting, team features and the audit trail a compliance review asks for.

  • CLI

    Free

    Apache-2.0, forever

    Design on your own, on your own machine.

    Get started

    Includes:

    • The full agent: do, create, init, check, watch
    • Bring your own Claude or GPT-5 key
    • Runs on your KiCad files, in your own git repo
    • Plain markdown, JSON and KiCad output. No lock-in.
    • Runs locally, never metered
    • Community support
  • Team

    $49per user / month

    + $199 / mo platform

    Cloud, with governance and CI for a whole team.

    Let's talk

    Everything in Cloud, plus:

    • CI bot: run check as a required PR status check
    • Shared, versioned constraint libraries across the org
    • SSO / SAML, role management, central billing
    • Managed credits pooled across the team
    • Shared run history
  • Enterprise

    Customannual

    Self-hosted, one flat price a year.

    Talk to sales

    Everything in Team, plus:

    • Self-hosted or VPC, so design data never leaves your network
    • Altium support beyond KiCad
    • RBAC, security review, dedicated support and an SLA
    • An audit trail your compliance team can hand over
    • Flat annual license, no per-run metering

FAQ

What is Copperhead?

An open source AI agent that designs, documents and verifies printed circuit boards. You describe a change or hand it a product brief, and it edits your real KiCad files, updates every document that references them, and runs KiCad's own checks until they pass. Longer introduction here.

What problem does it actually solve?

Drift. A hardware design spreads one decision across a schematic, a bill of materials, a power budget and several documents, and nothing breaks when they fall out of sync. The inconsistency is found at bring-up, and a respin costs 5,000 to 50,000 dollars and six to eight weeks. The full argument is here.

What do I need installed?

Node 20 or newer, KiCad with kicad-cli on your path and a model API key of your own. Then npm i -g copperhead.

Does it work on a design that already exists?

That is the main case. Point it at a KiCad repository, run copperhead init and start asking for changes. It can also run the full pipeline from a written brief with copperhead create, but iterating on real designs is what it is best at.

What will it refuse to do?

It refuses to run on a dirty git tree, refuses to edit any design file before a validated change proposal exists and refuses changes that break a budget or constraint you have documented, citing the line it would violate. It also never invents a part number it cannot justify from a datasheet.

Will it rewrite my whole schematic?

No. Edits are surgical changes to the KiCad s-expression source, so your diffs stay small and reviewable and untouched parts of the file stay byte-identical.

9 more questions

Try it on a board of your own.

Copperhead is open source and free to use. Install once, describe the board you want in a short brief.md and run create.

npm i -g copperhead
export ANTHROPIC_API_KEY=<api-key>
copperhead create --brief brief.md
brief.md
# Pocket Bluetooth speaker

A palm-size Bluetooth speaker that plays for a day on one charge.

- ESP32, Bluetooth audio (A2DP sink)
- 3 W class-D amp into a 4 Ω driver
- Li-Po cell, USB-C charging
- Standby current budget: 100 µA