Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Generate JLCPCB-ready KiCad PCB projects from text descriptions or LCSC BOMs: sources basic-tier parts, creates fully-wired .kicad_pcb files via pcbnew, hands off to EasyEDA for routing, and packages Gerbers/drills/CPL/BOM zips for direct manufacturing upload.
npx claudepluginhub beckhamlabsllc/kicad-jlcpcbShare bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
KiCad electronics design skills. Analyze schematics, review PCB layouts, download datasheets, source components, and prep boards for fabrication.
Agentic KiCad PCB design workflow using SKiDL — architect, source, code, and verify circuits with AI agents.
Hardware solution design skills and workflows for embedded and hardware engineers.
AI-powered hardware development platform — design, verify, synthesize, and deploy working RTL with natural language. 18 agents, 25 skills, 8 IP blocks.
RTL-to-GDS skill: drives an open-source EDA flow (Yosys + OpenROAD-flow-scripts + KLayout + Magic + Netgen + OpenRCX) from a natural-language spec or RTL to GDSII with DRC, LVS, and RCX signoff.
97-agent RTL design pipeline with 97 skills for 6-Phase hardware design automation (Research → Architecture → μArch → RTL → Verify → Design Note)
Integrates Google Gemini's visual AI capabilities into the development workflow - image generation, editing, video creation, and design analysis with prompt enhancement and project-aware style profiles
From "I want a board that does X" to a wired
.kicad_pcbEasyEDA can auto-route and JLCPCB can build — in a single Claude Code conversation.
kicad-jlcpcb is a Claude Code plugin + MCP server that automates the tedious half of going from idea to fab. It sources LCSC parts with a hard preference for JLCPCB basic-library stock, auto-fetches pin maps from EasyEDA, places KiCad-stdlib footprints, wires every net by pin name (not pad number), and hands off a .kicad_pcb that EasyEDA can route and order in two clicks.
┌─ you ──────────────────────────────────┐
│ /pcb-new An ESP32-C3 soil-moisture │
│ sensor, USB-C, 3.3V LDO... │
└────────────────┬───────────────────────┘
│
┌─────────────▼─────────────┐
│ kicad-jlcpcb MCP server │
│ • source parts (LCSC) │
│ • fetch pin maps │
│ • place + wire footprints│
│ • save .kicad_pcb │
└─────────────┬─────────────┘
│
drag into easyeda.com
│
Auto Route
│
Order via JLCPCB
Three recurring friction points in small-batch PCB work, automated:
GPIO10?" — You stop reading datasheets to build netlists. The plugin queries EasyEDA by LCSC C-number, caches the pin-name → pad-number map, and lets you reference pins by their functional names..kicad_pcb" and hands off to EasyEDA's cloud auto-router, which works on real designs./pcb-new (from a description) and /pcb-from-bom (from a CSV).part-sourcer — finds the best JLCPCB-stocked part for a generic spec.kicad-jlcpcb-workflow — the full reference the LLM consults while driving the workflow..kicad_jlcpcb_session.json so /pcb-new can resume mid-flow after a Claude Code restart.| Component | Version | Notes |
|---|---|---|
| Python | 3.10 – 3.13 | Tested on all four |
| KiCad | 8.0+ | kicad-cli on PATH, pcbnew Python bindings for pcb_generate |
| EasyEDA account | free | Only needed for the final routing + ordering step |
Install KiCad:
sudo dnf install kicadsudo add-apt-repository ppa:kicad/kicad-9.0-releases && sudo apt install kicadsudo pacman -Syu kicadDistributed via GitHub only — no PyPI, no marketplace. Clone and install locally.
git clone https://github.com/BeckhamLabsLLC/kicad-jlcpcb.git
cd kicad-jlcpcb
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -e ".[dev]"
The editable install puts a kicad-jlcpcb entry-point script in the venv's bin/. .mcp.json calls that script directly; if the venv isn't active when Claude Code launches, point .mcp.json at the absolute path:
{
"mcpServers": {
"kicad-jlcpcb": {
"command": "/abs/path/to/kicad-jlcpcb/.venv/bin/kicad-jlcpcb",
"args": []
}
}
}
If you'd rather install into your user Python without a venv, substitute pip install -e . after cd kicad-jlcpcb and skip the venv lines. The entry-point lands in ~/.local/bin instead.
/plugin marketplace add /abs/path/to/kicad-jlcpcb
/plugin install kicad-jlcpcb@local
Restart Claude Code so the MCP server registers.
kicad-jlcpcb --help # should print nothing (MCP servers speak JSON-RPC on stdio), exit 0
Pick a small idea — an ESP32-C3 board with one sensor, a USB-C port, and an LDO works well. Run: