Skip to main content

AI-powered design review and repair for KiCad PCB projects

Project description

KiCad Design Assistant

AI-powered design review and repair tool for KiCad PCB projects.

Features:

  • Analyze PCB boards and schematics
  • Check DFM rules for JLCPCB, PCBWay, OSHPark
  • Auto-fix issues (track widths, via sizes, annular rings)
  • Add power planes and ground stitching vias
  • Export BOM (Bill of Materials)
  • Works as Claude Code skill AND MCP server

Installation

Option 1: pip install (Recommended)

pip install kicad-assistant

Then configure MCP in ~/.claude/mcp.json:

{
  "mcpServers": {
    "kicad": {
      "command": "kicad-mcp"
    }
  }
}

Option 2: Claude Code Skill

git clone https://github.com/cohen5/kicad-assistant ~/.claude/skills/kicad-assistant
pip install kiutils

Option 3: From source

git clone https://github.com/cohen5/kicad-assistant
cd kicad-assistant
pip install -e .

Usage Examples

Analyze a board

Analyze the PCB at ~/projects/myboard.kicad_pcb

Check manufacturing rules

Check if this board meets JLCPCB specs
Check DFM for PCBWay advanced capabilities

Auto-fix issues

Fix all DFM issues in this board
Fix the track widths to meet JLCPCB rules

Add power planes

Add a GND plane on layer In1.Cu
Add +3V3 power plane on In2.Cu

Add stitching vias

Add ground stitching vias with 5mm spacing

Add thermal vias

Add thermal vias under U1

Recommend stackup

What layer stackup should I use for this board?

Export BOM

Export BOM as CSV

MCP Tools

Tool Description
analyze_board Board statistics and structure
analyze_schematic Schematic structure
check_dfm DFM validation against fab rules
check_erc Schematic electrical rule check
fix_board_issues Auto-fix DFM violations
add_power_plane Create power/ground plane
add_stitching_vias Add ground stitching
add_thermal_vias Add thermal vias under component
recommend_stackup Suggest layer configuration
export_bom Export Bill of Materials
find_project_files Find KiCad files in directory

DFM Presets

Preset Min Track Min Via Drill Description
jlcpcb_standard 0.127mm (5mil) 0.3mm JLCPCB standard process
jlcpcb_advanced 0.09mm (3.5mil) 0.2mm JLCPCB HDI process
pcbway_standard 0.127mm 0.3mm PCBWay standard
oshpark 0.152mm (6mil) 0.254mm OSH Park (purple boards)

Python API

from kicad_assistant.board.analyzer import analyze_board
from kicad_assistant.board.dfm import check_dfm
from kicad_assistant.board.fixer import fix_board_issues

# Analyze
stats = analyze_board("board.kicad_pcb")
print(f"Board: {stats.board_width_mm} x {stats.board_height_mm} mm")

# Check DFM
result = check_dfm("board.kicad_pcb", preset="jlcpcb_standard")
print(f"Status: {result.status}, Errors: {len(result.errors)}")

# Auto-fix
fix_result = fix_board_issues("board.kicad_pcb", preset="jlcpcb_standard")
print(f"Fixed {len(fix_result.fixes_applied)} issues")

Requirements

  • Python 3.10+
  • Dependencies installed automatically: kiutils, mcp

Safety

All file modifications:

  1. Create .bak backup before changes
  2. Validate files after modification
  3. Support dry-run mode

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kicad_assistant-2.0.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kicad_assistant-2.0.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file kicad_assistant-2.0.0.tar.gz.

File metadata

  • Download URL: kicad_assistant-2.0.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for kicad_assistant-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d89a1d029e78f886e7a5fed08f7d1afcb4e978aa21ce8ed7a249c718e92c19f3
MD5 919d60a2b8cd2d00d21310bbe5e06e8e
BLAKE2b-256 88e5bba5ee078feb2b7e5c5f02f0fd1ac3fd84bdf0d15814013d71bfe0496d95

See more details on using hashes here.

File details

Details for the file kicad_assistant-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kicad_assistant-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc848ab37b8d07178f1d9224433a3a8362221e84081dca5813425e8b52f8831e
MD5 762a94fd59d3e4f0b659964714e7c9fe
BLAKE2b-256 073b9b8af2a95a2c0c0db8a3739e85fd95c583f700cecf5f911cafbdae58d7ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page