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:
- Create
.bakbackup before changes - Validate files after modification
- Support dry-run mode
License
MIT License
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d89a1d029e78f886e7a5fed08f7d1afcb4e978aa21ce8ed7a249c718e92c19f3
|
|
| MD5 |
919d60a2b8cd2d00d21310bbe5e06e8e
|
|
| BLAKE2b-256 |
88e5bba5ee078feb2b7e5c5f02f0fd1ac3fd84bdf0d15814013d71bfe0496d95
|
File details
Details for the file kicad_assistant-2.0.0-py3-none-any.whl.
File metadata
- Download URL: kicad_assistant-2.0.0-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc848ab37b8d07178f1d9224433a3a8362221e84081dca5813425e8b52f8831e
|
|
| MD5 |
762a94fd59d3e4f0b659964714e7c9fe
|
|
| BLAKE2b-256 |
073b9b8af2a95a2c0c0db8a3739e85fd95c583f700cecf5f911cafbdae58d7ea
|