FAQ
Frequently asked questions
The questions hardware engineers ask in the first five minutes. If yours is not here, the repo is the best place to ask.
The basics
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.
Is this a chatbot for circuits?
No. It is a loop that leaves artifacts on disk. A run ends with edited KiCad source, updated documents, passing ERC and DRC, and a commit, not with a transcript you have to act on yourself.
Does it replace a hardware engineer?
No, and it is built not to pretend otherwise. It automates the propagation and verification work that eats the day, and it flags every assumption it made. You remain the engineer of record. It will not claim fab-readiness beyond "ERC and DRC clean".
Using it
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.
Which EDA tools does it support?
KiCad, the most widely used open PCB tool. Verification runs through kicad-cli, so the checks are the same ones you would run yourself. There is no support for proprietary EDA formats and none is planned.
Which model does it use?
It is model-agnostic. Claude and GPT-5 are both tested against the same integration suite, and you bring your own key for whichever you prefer. Set ANTHROPIC_API_KEY or OPENAI_API_KEY before the first run.
What does a run cost?
A single change request is roughly 0.10 to 1.00 dollars in model tokens. A full create pipeline run is five to ten times that. You are billed by your model provider directly; copperhead itself is free.
Trust and safety
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. A tool that regenerates the file to move one net has made its own work impossible to review.
Is the board ready to send to fabrication?
The gerbers are producible and the layout is DRC-clean, but the draft layout is correct rather than optimal, and it says so itself. LAYOUT.md lists exactly what is solid and what a layout specialist should redo first. Non-optimal is acceptable. Unlabeled non-optimal is not.
Where does my design data go?
It stays in your own git repository. The agent runs locally, stores nothing on a server, and only sends design context as part of the model API call itself. Run transcripts live in .copperhead/runs/ with secret patterns redacted, and the agent never reads paths outside your repository.
What is the license?
The agent is Apache-2.0. Everything it writes is plain markdown, JSON, and KiCad source in your repository, so there is nothing to be locked into. Our own reference hardware is CERN-OHL-S v2.0.
Is there a hosted version?
Not today. The local CLI with your own key is the whole product right now. A hosted tier is planned, and teams with export-controlled designs will stay on self-hosted.