Skip to main content

KiCad + JLCPCB Ecosystem Analysis

Comparative analysis of open-source tools, MCP servers, Claude Code skills, and CI/CD pipelines for PCB design with KiCad and JLCPCB manufacturing. Originally conducted 2026-04-09, updated 2026-04-10. Upstream refresh 2026-07-31 — stars/releases re-checked, two repos archived, KiBot container bumped to KiCad 10, CI workflow added (see Done — July 2026).


Our Position

ESP32 Emu Turbo has the most advanced Claude Code + KiCad integration found on GitHub:

MetricOur ProjectBest Alternative
Claude Code skills total46 (27 PCB + 6 firmware/docs + 3 CAD + 10 audit/meta/scout)10 (atopile-agent-skill)
DFM verification tests124 (115 at the April analysis)0 (no comparable suite)
MCP serverNone — studied mixelpixx/KiCAD-MCP-Server (64 tools in April; 171 tools as of v2.6.0, July 2026) and mapped them to our skills28 (Seeed-Studio)
Automated checks per commit1150+ (DFM+DFA+electrical+adversarial+design intent)~10 (KiBot DRC)
info

We do not currently run an MCP server. Our pipeline is based on Python scripts, S-expression parsing, and Claude Code skills. The 64-tool inventory in memory/kicad-mcp-tools.md is a reference mapping of mixelpixx's MCP tools onto our equivalent skills — not an indication we expose 64 MCP tools ourselves. See the "MCP server consolidation" long-term plan.


Top Tools by Category

JLCPCB Integration

ToolStarsWhat It DoesValue for Us
kicad-jlcpcb-tools1,993KiCad plugin: BOM+CPL+LCSC lookup, parts databaseCompare with our /jlcpcb-parts skill
JLC-Plugin-for-KiCad657JLCPCB fabrication output from KiCad (v5.3.1, May 2026)Compare with our /release skill
JLCPCB-Kicad-Library544Footprint/symbol library for JLCPCB parts (monthly releases)Reduce footprint mismatches
JLC2KiCad_lib462Generate KiCad footprints from LCSC part numberEnhance /jlcpcb-parts
jlcpcb-kicad-drc2JLCPCB design rules as .kicad_dru (dormant since 2022)Cross-referenced against our DFM suite (done, April 2026)

KiCad Automation & CI/CD

ToolStarsWhat It DoesValue for Us
KiBot728Swiss army knife: DRC, gerber, BOM, 3D, PDF (v1.9.1, July 2026 — KiCad 10 support)In use — docker/kibot + CI workflow
KDT_Hierarchical_KiBot195CI/CD template with KiBot + GitHub ActionsReady-made DRC-on-push workflow
kicad-actions24GitHub Action for KiCad checks (v2.5-k10.0 — KiCad 10)Lighter CI alternative
kicad_auto70Docker image for KiCad automationIn use — kicad10_auto is our KiBot base image
InteractiveHtmlBom4,489Interactive HTML BOM with visual overlay (v2.11.2, May 2026)In use — /ibom on the website

AI / MCP Servers for PCB

ToolStarsWhat It DoesValue for Us
kicad-mcp-server (Seeed)70MCP server for KiCad using pcbnew API. Has CLAUDE.mdReference for future MCP wrapping of our skills
kicad-mcp-server (Huaqiu)3MCP server from NextPCB manufacturer — archived April 2026No longer a reference
jlcmcp166JLCPCB EDA MCP Server — 39 tools for EasyEDAStudy tool decomposition
atopile-agent-skill9Only other hardware Claude Code skills package.claude-plugin/ format adopted (see long-term §4 — done)
atopile3,554"Design circuits with code" — code-first EDAAlternative paradigm to KiCad

KiCad Plugins (Design Quality)

ToolStarsWhat It DoesValue for Us
kicad-action-plugins419Replicate layout, place footprints, swap pins — archivedHistorical reference only
kicad-action-scripts292Via stitching, teardrops, round tracks, length matchingImprove signal integrity
kicad-auto-silkscreen35Auto-optimize silkscreen placementPre-manufacturing cleanup
kicad-diff-visualizer64Visual diff between PCB versions (inactive since Aug 2025)Deprioritized — see medium-term §2

Deep Dive: Key Repos

Seeed-Studio/kicad-mcp-server vs Our Pipeline

AspectSeeed-StudioOur Project
ApproachMCP server over pcbnew Python API (live KiCad)Claude Code skills + S-expression parsing (standalone)
Tool count28 MCP tools46 Claude Code skills (no MCP server)
Requires running KiCadYesNo
Schematic accessYes (eeschema)Yes (custom parser)
PCB edit capabilityYes (live edit)Yes (generator-based, deterministic)
DFM verificationBasic DRC124 custom tests + JLCPCB rules
Claude integrationCLAUDE.md only46 skills + 6 agents + hooks

Takeaway: Their pcbnew API approach gives real-time editing but requires a running KiCad instance. Our generator-based pipeline is standalone, CI-friendly, and fully deterministic. Wrapping our skills as an MCP server (tracked in long-term plan) would complement — not replace — the generator pipeline.

atopile-agent-skill — Claude Skills for Hardware

The only other hardware-focused Claude Code skills package. Structure:

.claude-plugin/
marketplace.json # Plugin metadata
plugin.json # Tool definitions
skills/
agent/ # Agent coordination
ato-language/ # Language reference
code-review/ # Design review patterns
fabll/ # Fabrication rules
library/ # Component library
lsp/ # Language server integration

Takeaway: Their .claude-plugin/ format enables marketplace distribution. We should consider packaging our 46 skills as a distributable plugin for other KiCad projects.

KiBot — The Automation Standard

KiBot (728 stars, v1.9.1 with KiCad 10 support) is the most mature KiCad automation tool — and since July 2026 it is what our docker/kibot container and the kibot-dfm.yml CI workflow run. Comparison:

FeatureKiBotOur Pipeline
Gerber exportYAML config, 1 commandDocker + kicad-cli hybrid
DRCBasic KiCad DRC124-test custom suite
BOM generationMultiple formatsJLCPCB-specific with LCSC
3D renderingBlender/raytracerkicad-cli raytracer (13 views)
CI/CDFirst-class GitHub ActionsCustom hooks + Makefile
JLCPCB outputSupportedNative (custom export)
Setup complexityYAML filePython scripts + Docker

Takeaway: KiBot could replace our Docker pipeline for gerber/BOM export, but our DFM test suite and JLCPCB-specific validation go far beyond what KiBot offers. Best approach: use KiBot for CI/CD gerber generation, keep our custom DFM tests.


Recommendations

Done — Short-term items completed 2026-04-09

All three short-term items were integrated within hours of this analysis being published:

ItemStatusCommit
InteractiveHtmlBom on website for visual BOM inspection✅ Integratedb1660bafeat(website): add InteractiveHtmlBom for visual assembly inspection (+4717 lines); 7bb75b5 adds links from components/PCB docs
agausmann/jlcpcb-kicad-drc cross-reference against our DFM suite (115 tests at the time)✅ Analyzeddbfd653docs: add JLCPCB DRC gap analysis (6 threshold gaps found)
JLC2KiCad_lib LCSC→footprint lookup in /jlcpcb-parts✅ Integrated (via EasyEDA API)0c69f32feat(jlcpcb-parts): add LCSC footprint lookup via EasyEDA API (+149 lines)

Done — Upstream refresh integrated 2026-07-31

ItemStatusDetail
KiBot container: KiCad 9 → KiCad 10✅ Integrateddocker/kibot/Dockerfile now builds on ghcr.io/inti-cmnb/kicad10_auto (KiBot 1.9.1 + KiCad 10.0.4), matching the local KiCad 10.0.0. The old KiCad 9 container could no longer load the schematic at all.
KiBot + GitHub Actions (was medium-term §1)✅ Integrated.github/workflows/kibot-dfm.yml — board-side DRC + design report on every push touching hardware/kicad/, failing on DRC errors, reports uploaded as artifacts.
InteractiveHtmlBom refresh✅ Regeneratedibom.html regenerated with upstream v2.11.2 (May 2026 release).
.claude-plugin/ packaging (was long-term §4)✅ Shippedkicad-jlcpcb-skills v1.0.0 (.claude-plugin/plugin.json + marketplace.json, commit dd3d0d6).
Resolved — non-IPC references renamed, first full ERC pass (2026-07-31)

KiBot (≥ 1.6.5, upstream #604 — wontfix) rejects any schematic reference that is not PREFIX+NUMBER, which blocked its schematic phase (ERC + BOM cross-check) on our SW_PWR, SW_BOOT, SW_RST. Those are now SW16, SW14, SW15 across schematic, PCB, BOM, CPL, firmware sim and docs, so the full KiBot run (DRC + ERC + BOM) is live both locally (scripts/external-dfm.sh) and in CI, with a regression guard against reintroducing non-IPC references.

The first-ever ERC run then surfaced two generator bugs that had hidden every schematic finding for months — cross-sheet uuid collisions (every sheet counted uuids from the same sequence, so ERC merged unrelated objects and attributed findings to the wrong sheets) and single-level symbol instance paths — plus one genuine drawing error: C3's supply tap ended in empty space, one step away from shorting +3V3 into LCD_CS. All fixed; make verify-erc (KiCad ERC at error severity, mutation-tested) now runs in verify-all, and make external-dfm is fully green: DRC 0, ERC 0 errors, BOM cross-referenced.

A follow-up sweep then removed every dead net the drawing carried: the five one-pin GPIO15/16/35/36/37 phantom nets are now explicit no-connect markers (GPIO35–37 are the WROOM-1's on-module PSRAM pins, which must stay unconnected; 15/16 were freed when audio went PDM-DOUT-only), the dangling BAT_IN stub next to J3 is gone, and the three nets that mixed local + global labels (VBUS, BAT+, BAT_IN) now use global labels only. Net result on the cross-check: T1_ALLOW is empty — seven allowlist entries closed in one day, each one a node the schematic↔PCB comparison now actually verifies. The PCB side already had zero dead nets (54 declared, 54 carrying copper — enforced by the ORPHAN e-test gate).

Next up — Medium-term (next release cycle)

  1. kicad-diff-visualizer — Add visual PCB diffs to PR reviews. Deprioritized: upstream inactive since Aug 2025.
  2. Seeed-Studio MCP server study — Evaluate pcbnew API for an optional interactive editing mode alongside the generator pipeline (repo active, 70 stars as of July 2026).

Long-term (v2 planning)

  1. Contribute to KiBot — Upstream our JLCPCB DFM rules as a KiBot plugin.
  2. MCP server consolidation — Wrap our skills as an MCP server so non–Claude-Code agents can consume them, complementing (not replacing) the generator pipeline. Note: mixelpixx/KiCAD-MCP-Server grew from 64 to 171 tools (v2.6.0, July 2026) and 1,695 stars — worth a fresh mapping pass against memory/kicad-mcp-tools.md before designing ours.

Conclusion

The ESP32 Emu Turbo project has built the most comprehensive AI-assisted PCB design pipeline in the open-source ecosystem. With 46 Claude Code skills, 124 DFM tests, and 1150+ automated checks per commit, it significantly exceeds any other project found on GitHub. We do not currently ship an MCP server — our integration is skill-based — and the mixelpixx reference has since grown to 171 tools (v2.6.0), so the memory/kicad-mcp-tools.md mapping needs a refresh before any MCP work. The two gaps named in April — CI/CD automation and plugin distribution — are both closed as of July 2026; the open items are the non-IPC reference rename (unblocks KiBot ERC) and the long-term MCP consolidation.