Copperhead is een open-source AI-agent die specifiek is ontwikkeld voor hardware-engineering, met een focus op het ontwerpen en verifiëren van printplaten (PCB's). Het platform integreert direct met KiCad en is ontworpen om 'drift' te voorkomen: de inconsistentie die ontstaat wanneer wijzigingen in het schema niet worden doorgevoerd in de BOM, het stroombudget of de documentatie.
Kernpunten van het platform:
- Gestructureerde Workflow: Het proces bestaat uit acht strikte fasen (Specificatie, Architectuur, Onderdelen, Schema, Lay-out, Outputs, Firmware en Ontwikkelingsplan). Elke fase moet een tastbaar resultaat (artifact) opleveren en een controlepoort passeren voordat de volgende stap start.
- Technische Aanpak: In plaats van bestanden volledig te regenereren, voert Copperhead 'chirurgische' wijzigingen uit in de KiCad s-expression broncode, waardoor git-diffs klein en reviewbaar blijven.
- Verificatie: De integriteit wordt gewaarborgd door automatische controles zoals de Electrical Rules Check (ERC) en Design Rule Check (DRC) van KiCad.
- Prijsmodel: Copperhead hanteert een open core model. De CLI is gratis en open-source (Apache-2.0), terwijl er betaalde Cloud-, Team- en Enterprise-abonnementen zijn voor hosting, samenwerking en geavanceerde security-eisen.
Het systeem kan zowel nieuwe projecten starten vanuit een briefing als bestaande KiCad-repositories beheren en itereren.
Copperhead: Cursor voor printplaten
Demonstratie van de workflow
Hieronder volgt een voorbeeld van hoe Copperhead werkt in de command-line interface (CLI), waarbij een USB-C stroomingang wordt toegevoegd aan een project:
copperhead v0.8.1
claude via flag · kicad-cli 9.0.4
~/hardware/open-key
❯ $ 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
Verloop van de turns:
- Turn 1/40: Opstellen van het voorstel voor de stroomvoorziening.
- Turn 2/40: Plaatsen van de aansluiting (receptacle).
- Turn 3/40: Uitvoeren van de ERC (Electrical Rules Check).
- Turn 4/40: Schrijven van het besluitvormingslogboek.
- Resultaat: Geverifieerde ERC, commit
3f2c9a1 uitgevoerd in 17 seconden.
Bewezen in de praktijk
De workflow is bewezen op echte hardware. Een voorbeeld is Open Telegraph: een zakformaat ESP32-S3 Morse-sleutel, die volledig via deze workflow is gebouwd. Elke beslissing, elke controle en elk bestand is openbaar.
Hoe het werkt
Het proces bestaat uit acht fasen, van begin tot eind. De gebruiker schrijft de briefing (brief.md) en Copperhead doorloopt de fasen in volgorde. Elke fase wordt uitgevoerd door een eigen agent en moet een resultaat (artifact) op de schijf achterlaten voordat de volgende fase begint. Als een controle (gate) faalt, stopt het proces.
De acht fasen
- Spec (Specificatie)
- Bestand:
docs/SPEC.md
- Controle: Bevat een budgetsectie die daadwerkelijk is ingevuld.
- Architecture (Architectuur)
- Bestand:
docs/SUBSYSTEMS.md
- Controle: Bevat een reële onderbouwing voor elk subsysteem.
- Parts (Onderdelen)
- Bestand:
docs/BOM.md
- Controle: Onderdelnummers zijn gekozen op basis van datasheets.
- Schematic (Schema)
- Bestand:
design.kicad_sch
- Controle: Symbolen zijn geplaatst, documentatie komt overeen en de ERC is schoon.
- Layout (Lay-out)
- Bestand:
design.kicad_pcb
- Controle: Footprints staan op de printplaat en de DRC (Design Rule Check) is schoon.
- Outputs (Output)
- Bestanden: Gerbers / drill / STEP
- Controle: Gerbers staan daadwerkelijk op de schijf.
- Firmware
- Bestanden:
firmware/ / pins.h
- Controle: Source-bestanden staan op de schijf, pinnen komen overeen met de pinout.
- Dev Plan (Ontwikkelingsplan)
- Bestand:
docs/DEVPLAN.md
- Controle: Een geschreven plan voor bring-up en testen.
Resultaat: Een compleet ontwerppakket bestaande uit Gerbers, firmware en documentatie, met één commit per fase. Elke stap fungeert als een poort: er vindt geen commit plaats zonder concreet werk op de schijf. De integriteit wordt geverifieerd door KiCad zelf (ERC en DRC).
Prijsstelling
Copperhead is open core. De CLI is gratis en zal dat altijd blijven. Betalingen zijn bedoeld voor hosting, teamwerk of audit-mogelijkheden.
CLI
- Prijs: Gratis (Apache-2.0 licentie).
- Kenmerken:
- Ontwerp op je eigen machine.
- Volledige agent:
do, create, init, check, watch.
- Gebruik je eigen Claude- of GPT-5-sleutel.
- Werkt op je eigen KiCad-bestanden in je eigen git-repository.
- Output in Markdown, JSON en KiCad (geen lock-in).
- Draait lokaal, geen metering.
- Community support.
Cloud
- Prijs: $49 per gebruiker per maand (Gratis voor open hardware-repositories).
- Kenmerken:
- Alles uit de CLI, plus:
- Gehoste runs zonder lokale setup.
- Privé-repositories.
- Webviewer: chat, live schema- en board-rendering, ERC/DRC-status.
- Historie van runs en deelbare controlerapporten.
- One-click export van Gerbers, DXF/STEP, renders en BOM.
- Eigen API-sleutel of beheerde inference met 200 credits per seat.
Team
- Prijs: $49 per gebruiker per maand + $199 platformkosten per maand.
- Kenmerken:
- Alles uit de Cloud-versie, plus:
- CI-bot: voer controles uit als vereiste PR-statuscheck.
- Gedeelde, geversioneerde constraint-bibliotheken binnen de organisatie.
- SSO / SAML, rolbeheer en centraal factureren.
- Gedeelde credit-pool voor het team.
- Gedeelde historie van runs.
Enterprise
- Prijs: Op maat (jaarlijkse licentie).
- Kenmerken:
- Alles uit de Team-versie, plus:
- Self-hosted of VPC, zodat ontwerpdata het netwerk niet verlaat.
- Ondersteuning voor Altium naast KiCad.
- RBAC, security review, dedicated support en een SLA.
- Audit-trail voor compliance-teams.
- Vast jaarlijks bedrag, geen metering per run.
FAQ
Wat is Copperhead? Een open-source AI-agent die printplaten ontwerpt, documenteert en verifieert. Je beschrijft een wijziging of geeft een productbrief, waarna de agent je echte KiCad-bestanden bewerkt, alle refererende documenten bijwerkt en de controles van KiCad uitvoert tot ze geslaagd zijn.
Welk probleem lost het daadwerkelijk op? "Drift". Bij hardware-ontwerp wordt één beslissing vaak verspreid over een schema, een bill of materials (BOM), een stroombudget en diverse documenten. Niets geeft een melding wanneer deze uit sync raken. Deze inconsistentie wordt vaak pas ontdekt tijdens de bring-up, waarbij een nieuwe revisie (respin) tussen de 5.000 en 50.000 dollar kan kosten en zes tot acht weken in beslag neemt.
Wat moet ik installeren? Node 20 of nieuwer, KiCad met kicad-cli in je path en een eigen model-API-sleutel. Installatie via: npm i -g copperhead.
Werkt het op een ontwerp dat al bestaat? Dat is juist de hoofdfunctie. Richt het op een KiCad-repository, voer copperhead init uit en begin met het vragen om wijzigingen. Het kan ook de volledige pipeline doorlopen vanaf een briefing met copperhead create, maar het is het meest effectief bij het itereren op bestaande ontwerpen.
Waar weigert het systeem mee te werken? Het weigert te draaien op een "dirty" git-tree, weigert ontwerpbestanden te bewerken voordat er een gevalideerd wijzigingsvoorstel is, en weigert wijzigingen die een gedocumenteerd budget of constraint schenden (met vermelding van de betreffende regel). Daarnaast verzint het nooit een onderdeelnummer dat niet kan worden onderbouwd met een datasheet.
Schrijft het mijn hele schema opnieuw? Nee. Bewerkingen zijn chirurgische wijzigingen in de KiCad s-expression broncode. Hierdoor blijven diffs klein en reviewbaar, en blijven ongewijzigde delen van het bestand byte-identiek. Een tool die het bestand volledig regenereert om één net te verplaatsen, maakt een review onmogelijk.
Aan de slag
Installeren en een bord ontwerpen via een briefing:
$ npm i -g copperhead
$ export ANTHROPIC_API_KEY=<api-key>
$ copperhead create --brief brief.md
Voorbeeld van een brief.md:
# Pocket Bluetooth-speaker
Een handzame Bluetooth-speaker die één dag meegaat op één oplading.
- ESP32, Bluetooth audio (A2DP sink)
- 3 W class-D amp naar een 4 $\Omega$ driver
- Li-Po cel, USB-C opladen
- Standby stroombudget: 100 $\mu$A
Copperhead: Cursor voor printplaten
Demonstratie van de workflow
Hieronder volgt een voorbeeld van hoe Copperhead werkt in de command-line interface (CLI), waarbij een USB-C stroomingang wordt toegevoegd aan een project:
copperhead v0.8.1
claude via flag · kicad-cli 9.0.4
~/hardware/open-key
❯ $ 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
Verloop van de turns:
- Turn 1/40: Opstellen van het voorstel voor de stroomvoorziening.
- Turn 2/40: Plaatsen van de aansluiting (receptacle).
- Turn 3/40: Uitvoeren van de ERC (Electrical Rules Check).
- Turn 4/40: Schrijven van het besluitvormingslogboek.
- Resultaat: Geverifieerde ERC, commit
3f2c9a1 uitgevoerd in 17 seconden.
Bewezen in de praktijk
De workflow is bewezen op echte hardware. Een voorbeeld is Open Telegraph: een zakformaat ESP32-S3 Morse-sleutel, die volledig via deze workflow is gebouwd. Elke beslissing, elke controle en elk bestand is openbaar.
Hoe het werkt
Het proces bestaat uit acht fasen, van begin tot eind. De gebruiker schrijft de briefing (brief.md) en Copperhead doorloopt de fasen in volgorde. Elke fase wordt uitgevoerd door een eigen agent en moet een resultaat (artifact) op de schijf achterlaten voordat de volgende fase begint. Als een controle (gate) faalt, stopt het proces.
De acht fasen
- Spec (Specificatie)
- Bestand:
docs/SPEC.md
- Controle: Bevat een budgetsectie die daadwerkelijk is ingevuld.
- Architecture (Architectuur)
- Bestand:
docs/SUBSYSTEMS.md
- Controle: Bevat een reële onderbouwing voor elk subsysteem.
- Parts (Onderdelen)
- Bestand:
docs/BOM.md
- Controle: Onderdelnummers zijn gekozen op basis van datasheets.
- Schematic (Schema)
- Bestand:
design.kicad_sch
- Controle: Symbolen zijn geplaatst, documentatie komt overeen en de ERC is schoon.
- Layout (Lay-out)
- Bestand:
design.kicad_pcb
- Controle: Footprints staan op de printplaat en de DRC (Design Rule Check) is schoon.
- Outputs (Output)
- Bestanden: Gerbers / drill / STEP
- Controle: Gerbers staan daadwerkelijk op de schijf.
- Firmware
- Bestanden:
firmware/ / pins.h
- Controle: Source-bestanden staan op de schijf, pinnen komen overeen met de pinout.
- Dev Plan (Ontwikkelingsplan)
- Bestand:
docs/DEVPLAN.md
- Controle: Een geschreven plan voor bring-up en testen.
Resultaat: Een compleet ontwerppakket bestaande uit Gerbers, firmware en documentatie, met één commit per fase. Elke stap fungeert als een poort: er vindt geen commit plaats zonder concreet werk op de schijf. De integriteit wordt geverifieerd door KiCad zelf (ERC en DRC).
Prijsstelling
Copperhead is open core. De CLI is gratis en zal dat altijd blijven. Betalingen zijn bedoeld voor hosting, teamwerk of audit-mogelijkheden.
CLI
- Prijs: Gratis (Apache-2.0 licentie).
- Kenmerken:
- Ontwerp op je eigen machine.
- Volledige agent:
do, create, init, check, watch.
- Gebruik je eigen Claude- of GPT-5-sleutel.
- Werkt op je eigen KiCad-bestanden in je eigen git-repository.
- Output in Markdown, JSON en KiCad (geen lock-in).
- Draait lokaal, geen metering.
- Community support.
Cloud
- Prijs: $49 per gebruiker per maand (Gratis voor open hardware-repositories).
- Kenmerken:
- Alles uit de CLI, plus:
- Gehoste runs zonder lokale setup.
- Privé-repositories.
- Webviewer: chat, live schema- en board-rendering, ERC/DRC-status.
- Historie van runs en deelbare controlerapporten.
- One-click export van Gerbers, DXF/STEP, renders en BOM.
- Eigen API-sleutel of beheerde inference met 200 credits per seat.
Team
- Prijs: $49 per gebruiker per maand + $199 platformkosten per maand.
- Kenmerken:
- Alles uit de Cloud-versie, plus:
- CI-bot: voer controles uit als vereiste PR-statuscheck.
- Gedeelde, geversioneerde constraint-bibliotheken binnen de organisatie.
- SSO / SAML, rolbeheer en centraal factureren.
- Gedeelde credit-pool voor het team.
- Gedeelde historie van runs.
Enterprise
- Prijs: Op maat (jaarlijkse licentie).
- Kenmerken:
- Alles uit de Team-versie, plus:
- Self-hosted of VPC, zodat ontwerpdata het netwerk niet verlaat.
- Ondersteuning voor Altium naast KiCad.
- RBAC, security review, dedicated support en een SLA.
- Audit-trail voor compliance-teams.
- Vast jaarlijks bedrag, geen metering per run.
FAQ
Wat is Copperhead? Een open-source AI-agent die printplaten ontwerpt, documenteert en verifieert. Je beschrijft een wijziging of geeft een productbrief, waarna de agent je echte KiCad-bestanden bewerkt, alle refererende documenten bijwerkt en de controles van KiCad uitvoert tot ze geslaagd zijn.
Welk probleem lost het daadwerkelijk op? "Drift". Bij hardware-ontwerp wordt één beslissing vaak verspreid over een schema, een bill of materials (BOM), een stroombudget en diverse documenten. Niets geeft een melding wanneer deze uit sync raken. Deze inconsistentie wordt vaak pas ontdekt tijdens de bring-up, waarbij een nieuwe revisie (respin) tussen de 5.000 en 50.000 dollar kan kosten en zes tot acht weken in beslag neemt.
Wat moet ik installeren? Node 20 of nieuwer, KiCad met kicad-cli in je path en een eigen model-API-sleutel. Installatie via: npm i -g copperhead.
Werkt het op een ontwerp dat al bestaat? Dat is juist de hoofdfunctie. Richt het op een KiCad-repository, voer copperhead init uit en begin met het vragen om wijzigingen. Het kan ook de volledige pipeline doorlopen vanaf een briefing met copperhead create, maar het is het meest effectief bij het itereren op bestaande ontwerpen.
Waar weigert het systeem mee te werken? Het weigert te draaien op een "dirty" git-tree, weigert ontwerpbestanden te bewerken voordat er een gevalideerd wijzigingsvoorstel is, en weigert wijzigingen die een gedocumenteerd budget of constraint schenden (met vermelding van de betreffende regel). Daarnaast verzint het nooit een onderdeelnummer dat niet kan worden onderbouwd met een datasheet.
Schrijft het mijn hele schema opnieuw? Nee. Bewerkingen zijn chirurgische wijzigingen in de KiCad s-expression broncode. Hierdoor blijven diffs klein en reviewbaar, en blijven ongewijzigde delen van het bestand byte-identiek. Een tool die het bestand volledig regenereert om één net te verplaatsen, maakt een review onmogelijk.
Aan de slag
Installeren en een bord ontwerpen via een briefing:
$ npm i -g copperhead
$ export ANTHROPIC_API_KEY=<api-key>
$ copperhead create --brief brief.md
Voorbeeld van een brief.md:
# Pocket Bluetooth-speaker
Een handzame Bluetooth-speaker die één dag meegaat op één oplading.
- ESP32, Bluetooth audio (A2DP sink)
- 3 W class-D amp naar een 4 $\Omega$ driver
- Li-Po cel, USB-C opladen
- Standby stroombudget: 100 $\mu$A