Loading...
Loading...
KiCad command-line interface expertise. Complete reference for schematic/PCB exports, DRC/ERC validation, manufacturing outputs, and automation.
npx skill4agent add o2scale/electronics-agent-kit kicad-cliComplete command reference for kicad-cli (KiCad 8.x)
kicad-cli <application> <command> [options] <input-file>schpcbfpsymkicad-cli sch export netlist \
--output project.net \
project.kicad_sch# Basic BOM
kicad-cli sch export bom \
--output bom.csv \
project.kicad_sch
# With specific fields
kicad-cli sch export bom \
--output bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
--group-by "Value,Footprint" \
--sort-asc \
project.kicad_schkicad-cli sch export pdf \
--output schematic.pdf \
--black-and-white \
project.kicad_schkicad-cli sch export svg \
--output ./svg/ \
--black-and-white \
project.kicad_schkicad-cli sch erc \
--output erc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_sch--severity-all--severity-error--exit-code-violationskicad-cli pcb drc \
--output drc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_pcbkicad-cli pcb export gerbers \
--output ./gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
--subtract-soldermask \
project.kicad_pcbF.CuB.CuIn1.CuIn2.CuF.SilkSB.SilkSF.MaskB.MaskF.PasteB.PasteEdge.CutsF.FabB.Fabkicad-cli pcb export drill \
--output ./gerbers/ \
--format excellon \
--excellon-units mm \
--generate-map \
--map-format pdf \
project.kicad_pcb--format excellon--excellon-units mmin--excellon-zeros-format decimal--generate-map--map-format gerberx2|ps|pdf|svg|dxfkicad-cli pcb export pos \
--output positions.csv \
--format csv \
--units mm \
--side front \
--exclude-dnp \
project.kicad_pcb--format csv|ascii--units mm|in--side front|back|both--exclude-dnp# STEP format (for mechanical CAD)
kicad-cli pcb export step \
--output project.step \
--subst-models \
project.kicad_pcb
# VRML format
kicad-cli pcb export vrml \
--output project.wrl \
project.kicad_pcbkicad-cli pcb export pdf \
--output pcb.pdf \
--layers "F.Cu,B.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcbkicad-cli pcb export svg \
--output pcb.svg \
--layers "F.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcbkicad-cli pcb export dxf \
--output pcb.dxf \
--layers "Edge.Cuts" \
project.kicad_pcbkicad-cli fp export svg \
--output footprint.svg \
footprint.kicad_modkicad-cli fp upgrade \
--output ./upgraded/ \
./library.pretty/kicad-cli sym export svg \
--output ./symbols/ \
library.kicad_symkicad-cli sym upgrade \
--output upgraded.kicad_sym \
legacy.lib| Option | Description |
|---|---|
| Show command help |
| Output file/directory |
| Define text variable |
| Overwrite existing files |
#!/bin/bash
set -euo pipefail
PROJECT="myproject"
# Run ERC
echo "Running ERC..."
kicad-cli sch erc \
--output reports/erc.rpt \
--exit-code-violations \
${PROJECT}.kicad_sch
# Run DRC
echo "Running DRC..."
kicad-cli pcb drc \
--output reports/drc.rpt \
--exit-code-violations \
${PROJECT}.kicad_pcb
# Generate manufacturing files
echo "Generating manufacturing files..."
mkdir -p output/gerbers
kicad-cli pcb export gerbers \
--output output/gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
${PROJECT}.kicad_pcb
kicad-cli pcb export drill \
--output output/gerbers/ \
--format excellon \
${PROJECT}.kicad_pcb
# Generate BOM
kicad-cli sch export bom \
--output output/bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
${PROJECT}.kicad_sch
# Generate position file
kicad-cli pcb export pos \
--output output/positions.csv \
--format csv \
--units mm \
${PROJECT}.kicad_pcb
echo "Done!"#!/bin/bash
PROJECT="$1"
OUTPUT="./jlcpcb"
mkdir -p "$OUTPUT"
# Gerbers (zip for upload)
kicad-cli pcb export gerbers \
--output "$OUTPUT/" \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
"${PROJECT}.kicad_pcb"
kicad-cli pcb export drill \
--output "$OUTPUT/" \
--format excellon \
--excellon-units mm \
"${PROJECT}.kicad_pcb"
cd "$OUTPUT" && zip -r gerbers.zip *.g* *.drl && cd -
# BOM for assembly
kicad-cli sch export bom \
--output "$OUTPUT/bom.csv" \
--fields "Comment,Designator,Footprint,LCSC" \
"${PROJECT}.kicad_sch"
# CPL (Component Placement List)
kicad-cli pcb export pos \
--output "$OUTPUT/cpl.csv" \
--format csv \
--units mm \
--side front \
"${PROJECT}.kicad_pcb"| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | DRC/ERC violations found (with --exit-code-violations) |
Version: This reference is for KiCad 8.x. Commands may differ in older versions.