Major documentation update bringing all docs current with the 122-tool, 16-category state of the project (previously frozen at v2.1.0-alpha/59 tools). New documentation (9 files): - FREEROUTING_GUIDE.md - autorouter setup, Docker/Podman, all 4 tools - SCHEMATIC_TOOLS_REFERENCE.md - all 27 schematic tools with parameters - ROUTING_TOOLS_REFERENCE.md - all 13 routing tools with examples - FOOTPRINT_SYMBOL_CREATOR_GUIDE.md - 8 creator tools with examples - SVG_IMPORT_GUIDE.md - SVG logo import tool - DATASHEET_TOOLS_GUIDE.md - datasheet enrichment tools - PCB_DESIGN_WORKFLOW.md - end-to-end design guide - ARCHITECTURE.md - system architecture for contributors - INDEX.md - documentation table of contents Updated documentation (12 files): - README.md - tool count 64->122, feature list, contributor credits - TOOL_INVENTORY.md - complete rebuild with all 122 tools - STATUS_SUMMARY.md - updated to v2.2.3 feature matrix - ROADMAP.md - marked completed milestones, added v2.3+ vision - KNOWN_ISSUES.md - removed resolved issues, added v2.2.x fixes - CLIENT_CONFIGURATION.md - added KICAD_MCP_DEV, FREEROUTING_JAR env vars - LIBRARY_INTEGRATION.md - added symbol and project-local library support - ROUTER_ARCHITECTURE.md, ROUTER_QUICK_START.md - updated tool counts - IPC_BACKEND_STATUS.md - updated dates - JLCPCB_USAGE_GUIDE.md - added cross-reference note - CONTRIBUTING.md - added ARCHITECTURE.md reference, updated tool count Archived 10 completed planning docs to docs/archive/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6.8 KiB
End-to-End PCB Design Workflow
This guide walks through the complete PCB design process using the KiCAD MCP Server, from project creation to manufacturing-ready output.
Overview
A typical PCB design follows this flow:
Project Setup -> Schematic Design -> PCB Layout -> Verification -> Manufacturing Output
Each stage maps to specific MCP tools. You can ask your AI assistant to perform any of these steps using natural language.
Stage 1: Project Setup
Create a New Project
Create a new KiCAD project named "LEDBoard" in ~/Projects/
This uses create_project to generate:
.kicad_pro-- project file.kicad_pcb-- PCB layout file.kicad_sch-- schematic file (with template symbols pre-loaded)
Set Up the Board
Set the board size to 50mm x 50mm.
Add a rectangular board outline.
Add mounting holes at each corner, 3mm from the edges, 3mm diameter.
Tools used: set_board_size, add_board_outline, add_mounting_hole
Stage 2: Schematic Design
Place Components
Add an LED from the Device library to the schematic at position 100, 50.
Add a 1K resistor at position 100, 70.
Add a connector from the Connector_Generic library with 2 pins at position 60, 60.
Tool: add_schematic_component
The dynamic symbol loader provides access to all ~10,000 KiCad standard symbols. Specify any library and symbol name.
Wire Components
Connect R1 pin 2 to LED1 pin 1.
Add a net label "VCC" at position 60, 50.
Connect J1 pin 1 to the VCC net.
Connect LED1 pin 2 to GND.
Tools: add_schematic_connection, add_schematic_net_label, connect_to_net
FFC/Ribbon Cable Passthrough (Special Workflow)
For passthrough adapter boards (e.g., Raspberry Pi CSI adapters):
Connect all pins from J1 to J2 as a passthrough with net prefix "CSI_".
Tool: connect_passthrough -- automatically wires matching pins between two connectors
Annotate and Validate
Annotate the schematic to assign reference designators.
Run an electrical rule check.
Tools: annotate_schematic, run_erc
Preview the Schematic
Show me the schematic as an image.
Export the schematic to PDF.
Tools: get_schematic_view, export_schematic_pdf
Stage 3: PCB Layout
Synchronize Schematic to PCB
Sync the schematic to the board.
Tool: sync_schematic_to_board -- imports all component footprints and net assignments from the schematic into the PCB (equivalent to pressing F8 in KiCAD)
Place Components
Move R1 to position x=15, y=25.
Move LED1 to position x=25, y=25.
Align all resistors horizontally.
Tools: move_component, align_components
Route Traces
Preferred approach -- pad-to-pad routing:
Route R1 pad 2 to LED1 pad 1 with 0.3mm trace width.
Tool: route_pad_to_pad -- auto-detects pad positions, nets, and inserts vias when pads are on different layers
Manual approach:
Route a trace from x=15, y=25 to x=25, y=25 on the front copper layer.
Tool: route_trace
Advanced Routing
Differential pairs:
Route a differential pair for USB_P and USB_N with 0.2mm width and 0.15mm gap.
Copper zones:
Add a GND copper pour on the bottom layer covering the entire board.
Tools: route_differential_pair, add_copper_pour
Autorouting
For boards with many connections:
Check if Freerouting is available.
Autoroute the board using Freerouting.
Tools: check_freerouting, autoroute
See Freerouting Guide for setup details.
Stage 4: Verification
Design Rule Check
Set design rules with 0.15mm clearance and 0.2mm minimum track width.
Run the design rule check.
Show me all DRC violations.
Tools: set_design_rules, run_drc, get_drc_violations
Visual Inspection
Show me a 2D view of the board.
Tool: get_board_2d_view
Save a Checkpoint
Save a snapshot named "post-routing" with label "All traces routed, DRC clean".
Tool: snapshot_project
Stage 5: Manufacturing Output
Gerber Files
Export Gerber files to the fabrication folder.
Tool: export_gerber
Bill of Materials
Export BOM as CSV.
Tool: export_bom (supports CSV, XML, HTML, JSON)
Pick and Place
Export the component position file.
Tool: export_position_file
3D Preview
Export a 3D STEP model of the board.
Tool: export_3d (supports STEP, STL, VRML, OBJ)
Documentation
Export a PDF of the board layout.
Export an SVG of the board.
Tools: export_pdf, export_svg
Optional: JLCPCB Component Selection
Before placing components, you can search JLCPCB's catalog for optimal parts:
Search JLCPCB for 10K resistors in 0603 package, Basic parts only.
Show me the cheapest option with good stock.
Suggest alternatives to part C25804.
After selecting parts, enrich datasheets:
Enrich datasheets for all components in the schematic.
Tools: search_jlcpcb_parts, get_jlcpcb_part, suggest_jlcpcb_alternatives, enrich_datasheets
See JLCPCB Integration for details.
Optional: Custom Components
When existing libraries do not have the part you need:
Create a custom footprint for a 4-pin SOT-23 package.
Create a custom symbol for the XYZ IC with 8 pins.
Register the custom library so it can be used in the project.
Tools: create_footprint, create_symbol, register_footprint_library, register_symbol_library
See Footprint and Symbol Creator Guide for details.
Optional: Add a Logo
Import our company logo from ~/logos/logo.svg onto the front silkscreen at position x=25 y=45 with width 10mm.
Tool: import_svg_logo
See SVG Import Guide for requirements and tips.
Tips
- Save frequently -- use
save_projectafter major changes - Use snapshots --
snapshot_projectcreates named checkpoints you can return to - Validate early -- run ERC after schematic changes and DRC after routing
- Start with schematic -- always design the schematic first, then sync to PCB
- Use route_pad_to_pad -- it is faster and more reliable than manual XY coordinate routing
- Check the KiCAD UI -- use
launch_kicad_uito open the design for visual verification
Related Documentation
- Tool Inventory -- complete list of all 122 tools
- Schematic Tools Reference -- detailed schematic tool docs
- Routing Tools Reference -- detailed routing tool docs
- Freerouting Guide -- autorouter setup and usage
- JLCPCB Integration -- parts selection and cost optimization