KiCad PCB Design Workflow: From Schematic to Manufacturing Output for Beginners
A practical walkthrough of the complete KiCad PCB design workflow, covering schematic capture, footprint assignment, PCB layout, design rules, and Gerber output based on real user experiences.

KiCad PCB Design Workflow: From Schematic to Manufacturing Output for Beginners
I've designed dozens of PCBs in KiCad, and I remember the learning curve well. On Reddit's r/PrintedCircuitBoard, a university student asked whether to stick with KiCad or switch to Altium, noting that they "do notice limitations" with KiCad for their work. On r/ElectricalEngineering, a beginner asked "is KiCad's importing really this bad?" with 56 upvotes — reflecting the frustration many newcomers feel when first encountering KiCad's component import workflow. And on the KiCad forum, users regularly ask about the basic workflow from idea to manufactured board.
This guide walks through the complete KiCad workflow from schematic to manufacturing output, covering the pain points I encountered and the solutions I found.
Phase 1: Schematic Capture
Creating the Schematic
- Open KiCad and create a new project (File > New Project)
- Open the Schematic Editor (the icon with the pencil and paper)
- Place symbols using the "Add Symbol" tool (the op-amp icon)
- Search for components in the symbol chooser — type part names like "LM358" or "STM32F4"
- Wire components together using the "Add Wire" tool (the blue line icon)
- Add power symbols (GND, VCC, 3V3) from the power library
- Add labels for nets that connect across the schematic
Common Beginner Mistakes
Not assigning footprints early: On Reddit, users report frustration with footprint assignment. The key is to assign footprints while designing the schematic, not after. Double-click each symbol and set the "Footprint" property to the correct package (e.g., Package_SO:TSSOP-8_4.4x3mm_P0.65mm).
Using wrong symbol libraries: KiCad ships with many symbol libraries. Use the official KiCad libraries first — they're well-maintained and have matching footprints. Only create custom symbols when the part doesn't exist in the standard libraries.
Not using hierarchical sheets: For complex schematics, use hierarchical sheets to organize the design into functional blocks. This makes the schematic readable and navigable. Create a new sheet with the "Add Hierarchical Sheet" tool and double-click to enter it.
Annotation and Electrical Rules Check
- Annotate all symbols: Tools > Annotate Schematic
- Run Electrical Rules Check (ERC): Inspect > Electrical Rules Checker
- Fix all ERC errors — common issues include:
- Unconnected pins
- Power pins not connected to power nets
- Two outputs connected to the same net
- Unassigned footprints
ERC errors must be resolved before proceeding to PCB layout. A warning can sometimes be ignored, but errors indicate real problems.
Phase 2: Footprint Assignment
Using the Footprint Assignment Tool
- Open the Footprint Assignment tool: Tools > Assign Footprints
- For each symbol, select the matching footprint from the library
- Use the search function to find footprints by package name
- Verify the footprint preview matches your component's physical dimensions
When a Footprint Doesn't Exist
On Reddit, a beginner expressed frustration with KiCad's component import process. When a footprint doesn't exist in the standard libraries:
- Check the component datasheet for the exact package dimensions
- Open the Footprint Editor and create a new footprint
- Place pads according to the datasheet dimensions
- Set the courtyard and reference designator
- Save to a custom .pretty library
- Assign the custom footprint to the symbol
This process takes 10-30 minutes per custom footprint. It's tedious but necessary for non-standard components.
Phase 3: PCB Layout
Starting the Layout
- Open the PCB Editor from the main KiCad window
- Update the PCB from the schematic: Tools > Update PCB from Schematic
- All components appear in a pile near the origin — move them to approximate positions
- Define the board outline on the Edge.Cuts layer using the graphic drawing tools
- Set the board stackup in File > Board Setup > Physical Stackup
Component Placement
Good component placement is 80% of PCB design. Follow these principles:
- Place connectors on board edges
- Group related components together (power supply, microcontroller, analog section)
- Keep high-frequency components close together
- Leave room for trace routing — don't pack components too tightly
- Consider mechanical constraints (height limits, mounting holes)
Routing
- Start with power traces (wider for higher current)
- Route critical signals first (clock, high-speed, differential pairs)
- Use the interactive router: Route > Route Differential Pair for paired signals
- Set trace widths in the design rules: File > Board Setup > Design Rules
- Use vias to transition between layers when needed
For differential pairs, set the trace width and spacing based on impedance calculations. KiCad's built-in calculator (Tools > Calculator Tools > Transline) helps determine correct dimensions for your stackup.
Design Rules Check (DRC)
- Run DRC: Inspect > Design Rules Checker
- Fix all DRC errors:
- Unrouted nets
- Clearance violations
- Width violations
- Courtyard overlaps
- Re-run DRC until zero errors
DRC errors must be resolved before generating manufacturing files. Board houses will reject files with DRC violations.
Phase 4: Manufacturing Output
Generating Gerber Files
- Go to File > Plot
- Select the layers to output:
- F.Cu, B.Cu (copper layers)
- F.Mask, B.Mask (solder mask)
- F.SilkS, B.SilkS (silkscreen)
- F.Paste, B.Paste (solder paste, for SMD stencils)
- Edge.Cuts (board outline)
- F.Fab, B.Fab (fabrication notes, optional)
- Set output format to Gerber
- Set the coordinate format to 4.6 (mm) — this is the standard for most board houses
- Click Plot to generate files
Generating Drill Files
- In the Plot dialog, click "Generate Drill Files"
- Select Excellon format
- Set units to millimeters
- Set the drill origin to absolute
- Generate the drill files
Generating Pick-and-Place Files
- Go to File > Fabrication Outputs > Footprint Position File
- Set format to CSV
- Set units to millimeters
- Set origin to grid origin
- Generate the file
Submitting to a Board House
Most board houses accept a ZIP file containing:
- All Gerber files
- Drill files (.drl and .txt)
- Pick-and-place file (optional, for assembly services)
- BOM file (optional, for assembly services)
Popular board houses like JLCPCB, PCBWay, and OSH Park accept KiCad-generated files directly. Upload the ZIP file and verify the preview matches your design.
My Take
KiCad's workflow is logical once you understand it, but the learning curve is steep for beginners. The most common frustration is footprint assignment — not because it's difficult, but because beginners don't realize they need to assign footprints during schematic capture, not after. My recommendation is to start with a simple 2-layer board (an LED blinker or simple sensor breakout) to learn the full workflow before attempting complex designs. The workflow is the same regardless of complexity, so mastering it on a simple board saves time when you move to multi-layer designs with hundreds of components.
Source Verification
- https://www.reddit.com/r/PrintedCircuitBoard/comments/1gb352l/should_i_learn_kicad_or_altium_designer_have/
- https://www.reddit.com/r/PrintedCircuitBoard/comments/185novv/should_i_stick_with_kicad_or_move_towards_altium/
- https://www.reddit.com/r/ElectricalEngineering/comments/1hnqsaj/im_a_beginner_but_is_kicads_importing/
- https://forum.kicad.info/t/altium-vs-kicad/57136
More Kicad Guides
Related workflow Guides
Similar workflow content for other CAD tools
Abaqus
•workflow
Abaqus Composite Material Analysis: Laminate Modeling, Damage, and Progressive Failure
12 min read
Abaqus
•workflow
Abaqus Contact Mechanics: General Contact, Friction, and Wear Simulation
12 min read
Abaqus
•workflow
Abaqus/Explicit Dynamic Analysis: Crash, Drop Test, and High-Speed Impact Simulation
13 min read
Abaqus
•workflow
Abaqus Fracture Mechanics: XFEM, Cohesive Zone, and J-Integral for Crack Propagation
12 min read