Automate PCB design with KiCad. Create schematics, design boards, export Gerbers, order from PCBWay. Full design-to-manufacturing pipeline.
Design → Prototype → Manufacture
Automate PCB design workflows using KiCad. From natural language circuit descriptions to manufacturing-ready Gerber files.
# Ubuntu/Debian
sudo add-apt-repository ppa:kicad/kicad-8.0-releases
sudo apt update
sudo apt install kicad
# Verify CLI
kicad-cli --version
pip install pillow cairosvg
# 1. Create a new project
python3 scripts/kicad_pcb.py new "LED Blinker" --description "555 timer LED blinker circuit"
# 2. Add components to schematic
python3 scripts/kicad_pcb.py add-component NE555 U1
python3 scripts/kicad_pcb.py add-component LED D1
python3 scripts/kicad_pcb.py add-component "R 1K" R1 R2
# 3. Generate schematic preview (for review)
python3 scripts/kicad_pcb.py preview-schematic
# 4. Run design rule check
python3 scripts/kicad_pcb.py drc
# 5. Export manufacturing files
python3 scripts/kicad_pcb.py export-gerbers
# 6. Prepare PCBWay order
python3 scripts/kicad_pcb.py pcbway-quote --quantity 5
| Command | Description |
|---|---|
new <name> | Create new KiCad project |
open <path> | Open existing project |
info | Show current project info |
list-projects | List recent projects |
| Command | Description |
|---|---|
add-component <type> <ref> | Add component to schematic |
connect <ref1.pin> <ref2.pin> | Wire components together |
add-net <name> <refs...> | Create named net |
preview-schematic | Generate schematic image |
erc | Run electrical rules check |
| Command | Description |
|---|---|
import-netlist | Import schematic to PCB |
auto-place | Auto-place components |
auto-route | Auto-route traces |
set-board-size <W>x<H> | Set board dimensions (mm) |
preview-pcb | Generate PCB preview images |
drc | Run design rules check |
| Command | Description |
|---|---|
export-gerbers | Export Gerber files |
export-drill | Export drill files |
export-bom | Export bill of materials |
export-pos | Export pick-and-place file |
export-3d | Export 3D model (STEP/GLB) |
package-for-fab | Create ZIP with all files |
| Command | Description |
|---|---|
pcbway-quote | Get instant quote |
pcbway-upload | Upload Gerbers to PCBWay |
pcbway-cart | Add to cart (requires auth) |
Tell me what you want to build:
"I need a simple 555 timer circuit that blinks an LED at about 1Hz. Should run on 9V battery, through-hole components for easy soldering."
# Create project
kicad_pcb.py new "LED_Blinker_555"
# Add components based on description
kicad_pcb.py from-description "555 timer LED blinker, 1Hz, 9V battery"
I'll show you:
You confirm or request changes.
# Import to PCB
kicad_pcb.py import-netlist
# Auto-layout (or manual guidance)
kicad_pcb.py auto-place --strategy compact
kicad_pcb.py set-board-size 50x30
# Preview
kicad_pcb.py preview-pcb --layers F.Cu,B.Cu,F.Silkscreen
# Run final checks
kicad_pcb.py drc --strict
# Export everything
kicad_pcb.py package-for-fab --output LED_Blinker_fab.zip
# Get quote
kicad_pcb.py pcbway-quote --quantity 10 --layers 2 --thickness 1.6
Classic 555 timer in astable mode. Parameters:
Arduino Uno shield template with:
USB-C power delivery (5V):
Create ~/.kicad-pcb/config.json:
{
"default_fab": "pcbway",
"pcbway": {
"email": "[email protected]",
"default_options": {
"layers": 2,
"thickness": 1.6,
"color": "green",
"surface_finish": "hasl"
}
},
"kicad_path": "/usr/bin/kicad-cli",
"projects_dir": "~/kicad-projects",
"auto_backup": true
}
Before ordering, I'll always:
I will NOT auto-order without explicit confirmation.
PCBWay typical pricing (2-layer, 100x100mm, qty 5):
⚠️ High Voltage Warning: This skill does not validate electrical safety. For mains-connected circuits, consult a qualified engineer.
⚠️ No Auto-Order (Yet): Cart placement requires your explicit confirmation.
Built by PaxSwarm