logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·01.11.26
← Back to news

Show HN: Copperhead – Hardware as Fast as Software

Original article
copperhead.sh|152 points|57 comments|by animeshchouhan|Sep 8, 2026

Copperhead: Accelerating Hardware to the Speed of Software

Copperhead is an open-source AI-driven engineering ecosystem designed to empower hardware teams to design, validate, and manufacture circuit boards with the agility of software development. Think of it as a basic script Cursor for circuit boards.


🛠️ The AI-Powered Workflow in Action

Copperhead doesn't just suggest changes; it executes them. Below is a simulation of the agent adding a USB-C power input to a project:

# Installation
$ npm i -g copperhead

# Project Initialization
$ copperhead init

# Requesting a change
$ add a USB-C power input to the key

⚡ Execution Trace

The agent follows a rigorous verification loop:

  1. Analysis: Reads docs/POWER.md →\rightarrow→ identifies missing VBUS, CC1, and CC2 nets.
  2. Validation: Validates the change against existing constraints.
  3. Execution:
    • Edits hardware/open-key.kicad_sch (Adds USB-C receptacle and 5.1kΩ5.1\text{k}\Omega5.1kΩ CC pulldowns).
    • Updates docs/POWER.md (Sets VBUS budget to 5V5\text{V}5V at 1.5A1.5\text{A}1.5A).
    • Verification: Runs kicad-cli for Electrical Rule Check (ERC).
    • Audit: Records the decision in DECISIONS.md and CHANGELOG.md.

Result: ERC Clean→Committed 3f2c9a1\text{ERC Clean} \rightarrow \text{Committed } \texttt{3f2c9a1}ERC Clean→Committed 3f2c9a1.


🚀 How It Works: The 8-Stage Pipeline

Copperhead operates through a sequence of agent runs. Each stage must produce a verified artifact on disk before the next can begin.

Stage Detail Table

StageArtifactGate/Requirement
01 Specdocs/SPEC.mdBudget section must be fully populated.
02 Architecturedocs/SUBSYSTEMS.mdDetailed reasoning for every subsystem.
03 Partsdocs/BOM.mdPart numbers must be verified against datasheets.
04 Schematicdesign.kicad_schSymbols placed, docs aligned, ERC clean.
05 Layoutdesign.kicad_pcbFootprints placed, DRC clean.
06 OutputsGerbers/Drill/STEPFiles must physically exist on disk.
07 Firmwarefirmware/Source code and pins.h aligned with pinout.
08 Dev Plandocs/DEVPLAN.mdWritten bring-up and testing strategy.

💰 Pricing & Tiers

The core CLI is Apache-2.0 and will always be free. You pay for hosting, collaboration, and enterprise governance.

Plan Comparison

TierPriceKey Features
CLI (Community)FreeLocal runs, BYO API key (Claude/GPT-5), Git repo integration, Markdown/JSON/KiCad output.
Cloud$49/user/moHosted runs, Web viewer (live schematic/board render), Private repos, 200 managed credits/seat.
Team49/user/mo+49/user/mo + 49/user/mo+199/moEverything in Cloud + CI bot (PR status checks), Shared constraint libraries, SSO/SAML.
EnterpriseCustom AnnualSelf-hosted/VPC, Altium support, RBAC, Full audit trails, Flat annual license.

[!IMPORTANT] Free for open hardware repositories.


🧠 Philosophy & Technical Constraints

Copperhead is designed to prevent the "expensive mistake." In hardware, a mismatch between a schematic and a power budget can cost \5,000tototo$50,000andandand6\text{--}8$ weeks of delay.

Core Guardrails

  • Git Integrity: Refuses to run on a "dirty" git tree.
  • Proposal First: No design file is edited without a validated change proposal.
  • Constraint Enforcement: Refuses changes that violate documented budgets or constraints (citing the specific line of documentation).
  • Fact-Based: Never suggests a part number that cannot be justified by a datasheet.
  • Surgical Edits: Modifies KiCad s-expressions directly. This ensures diffs remain small and reviewable, avoiding the entire file being regenerated.

System Requirements

  • Node 20+
  • KiCad (with kicad-cli in the system path)
  • Model API Key (e.g., Anthropic or OpenAI)

🏁 Getting Started

  • Install the CLI
  • Describe your board in brief.md
  • Run copperhead create (for new designs) or copperhead init (for existing ones)

"Never ship a board your docs no longer describe."