How to Design PCBs with KiCad: From Schematic to Gerber Export
Introduction
KiCad is a free, open-source electronics design automation (EDA) suite used by professionals and hobbyists worldwide to design printed circuit boards (PCBs). It includes schematic capture, PCB layout, a 3D viewer, and Gerber export — everything needed to go from a circuit idea to a manufacturable board. This guide walks through the complete KiCad workflow from creating your first schematic, assigning footprints, routing the PCB, running design rule checks (DRC), and exporting manufacturing files for JLCPCB or any other fab house. Whether you are designing a simple LED driver or a multi-layer microcontroller board, this guide gives you the workflow to produce professional results.
What You Need
- KiCad 8.0 or newer (free from kicad.org)
- A circuit idea or existing schematic to recreate
- Component datasheets for pinouts and package dimensions
- A JLCPCB or other fab house account for ordering
Step 1: Install and Configure KiCad
- Download KiCad from kicad.org for your OS (Windows, macOS, Linux)
- Run the installer and keep the default libraries selected — they contain thousands of symbols and footprints
- Launch KiCad and open the Project Manager
- Go to Preferences > Preferences and configure:
- Paths: Verify symbol and footprint library paths are correct
- Mouse and touchpad: Choose your preferred zoom behavior (scroll wheel or right-drag)
- Common: Set your default path for projects
- Download the JLCPCB fabrication toolkit plugin later for easy BOM and placement export
Step 2: Create a New Project
- File > New Project > Create a new blank project
- Name your project descriptively (e.g., "LED_Driver_v1")
- KiCad creates a folder with three main files:
- .kicad_pro — project settings
- .kicad_sch — schematic file
- .kicad_pcb — PCB layout file
Step 3: Schematic Capture
Schematic capture is where you draw your circuit using standard electronic symbols.
Placing Symbols
- Click the Symbol button (or press A)
- Search for components by name (e.g., "R" for resistor, "C" for capacitor, "LED", "Arduino_Nano")
- Place symbols on the sheet by clicking
- Press R to rotate, X/Y to mirror while placing
Wiring the Circuit
- Click the Wire tool (W) to draw connections
- Click on a pin to start, click on another pin to end
- Use Labels (L) to connect distant points without drawing long wires — essential for clean schematics
- Add Power symbols (VCC, GND, +5V) from the power library
Assigning Values
- Press E on any symbol to edit its properties
- Set the Value field (e.g., "10k" for a resistor, "100nF" for a capacitor)
- Add a Reference designator if not auto-assigned (R1, C1, U1)
Annotating the Schematic
- Tools > Annotate Schematic > Annotate Automatically
- This assigns sequential reference designators to all components
Running ERC (Electrical Rule Check)
- Inspect > Electrical Rules Checker
- Click Run ERC
- Fix any errors or warnings (unconnected pins, power flags missing, etc.)
- No ERC errors should exist before moving to PCB layout
Step 4: Assigning Footprints
Every schematic symbol needs a physical footprint (the copper pattern on the PCB).
- Tools > Assign Footprints
- The Footprint Assignment window opens showing all your components
- For each component, select the appropriate package:
- Resistors: R_0603, R_0805, R_1206 (SMD) or R_Axial_DIN0207 (through-hole)
- Capacitors: C_0603, C_0805, C_Electrolytic (choose by diameter)
- ICs: Check the datasheet for package name (SOIC-8, TQFP-32, QFN-48)
- Connectors: PinHeader_1x04, USB_C_Receptacle, etc.
- Filter by library using the left panel
- Click the footprint name to preview it in the right panel
- Double-click to assign
Pro tip: Use JLCPCB's KiCad library for parts they stock — it includes both footprint and LCSC part number for automated BOM generation.
Step 5: PCB Layout
Once footprints are assigned, transfer the schematic to the PCB editor.
Initial Setup
- Click Update PCB from Schematic in the toolbar
- KiCad imports all components as unplaced footprints
- Set your board outline: Edge.Cuts layer, use the rectangle or polygon tool
- Common board sizes: 50x50mm, 100x100mm (common for cheap prototyping)
Placing Components
- Drag components from the right-side panel onto the board area
- Place connectors and user-interface components at the board edge
- Group related circuits together (power section, microcontroller, sensor area)
- Keep high-frequency or sensitive traces short by placing components close
Setting Design Rules
- File > Board Setup > Design Rules > Constraints
- Set rules based on your fabrication house capabilities:
- Trace width: 0.25mm minimum (JLCPCB standard), 0.15mm for advanced
- Clearance: 0.2mm between traces
- Via size: 0.3mm drill, 0.6mm pad (standard), 0.2mm drill for microvias
- Track width: Set power traces wider (0.5-1.0mm for VCC/GND)
Routing Traces
- Select the Route Tracks tool (X)
- Click on a pad to start routing
- Click at each corner to place segments
- Double-click to finish on the destination pad
- Use the V key to add a via while routing (for changing layers)
Routing Best Practices
- Route power first — wide traces for VCC and GND
- Use a ground plane on the bottom layer (or inner layer) for 4-layer boards
- Keep high-speed signals short and away from noisy power lines
- Maintain clearance between analog and digital sections
- Use 45-degree angles instead of 90-degree corners (reduces reflections and etching issues)
- Differential pairs (USB, HDMI) — keep traces equal length and tightly coupled
Copper Zones (Ground Planes)
- Click the Copper Zone tool
- Select the GND net
- Draw a polygon covering the board area on your chosen layer
- Press B to fill all zones
- Ground planes reduce noise and provide return paths for signals
Step 6: Design Rule Check (DRC)
- Inspect > Design Rules Checker
- Click Run DRC
- Fix all errors before proceeding:
- Clearance violations: Traces or pads too close together
- Unconnected items: Nets that should be connected but are not
- Short circuits: Unintended connections between different nets
- Silkscreen overlap: Text or outlines overlapping pads
- Zero errors and zero unconnected items is the goal
Step 7: Silkscreen and Documentation
- Add silkscreen text for component references (automatically placed)
- Add board title, version, and your name on the front silkscreen
- Mark polarity for diodes, LEDs, and electrolytic capacitors
- Add mounting holes (typically 3.2mm diameter for M3 screws)
- Keep silkscreen text away from pads and exposed copper
Step 8: 3D Viewer and Validation
- View > 3D Viewer
- Verify component placement and orientation
- Check for tall components blocking each other
- Verify connectors face the correct direction
- Export a STEP file if you need to integrate with mechanical CAD
Step 9: Gerber Export
Gerber files are the industry standard manufacturing format.
- File > Fabrication Outputs > Gerbers (.gbr)
- Select these layers minimum:
- F.Cu (top copper)
- B.Cu (bottom copper)
- F.SilkS (top silkscreen)
- B.SilkS (bottom silkscreen — optional)
- F.Mask (top solder mask)
- B.Mask (bottom solder mask)
- Edge.Cuts (board outline)
- Set format to 4.6 (high precision)
- Use protel filename extensions
- Click Plot
Drill Files
- File > Fabrication Outputs > Drill (.drl)
- Select PTH and NPTH in single file or separate as required by your fab
- Use absolute coordinates
- Units: mm
BOM and Pick-and-Place
- File > Fabrication Outputs > Component Placement (.pos)
- This generates the pick-and-place file for assembly services
- Also export BOM: Tools > Generate Bill of Materials
Step 10: Ordering from JLCPCB
- Zip all Gerber files and the drill file together
- Go to jlcpcb.com and click Quote Now
- Upload your Gerber zip file
- Verify the PCB preview looks correct (layer stack, outline, holes)
- Select options:
- Layers: 1-2 (standard) or 4 for complex boards
- Dimensions: auto-detected from your Edge.Cuts
- Quantity: 5 is cost-effective for prototypes
- Surface finish: HASL (cheap) or ENIG (better for fine-pitch)
- Solder mask: Green (standard) or any color
- Silkscreen: White (standard)
- If using SMT assembly, upload your BOM and placement files
- Review the part placement preview carefully
- Order and wait 5-7 days for delivery
Pro Tips for Better PCBs
- Always run ERC and DRC before exporting — every time
- Use net labels instead of long wires for clean schematics
- Decoupling capacitors: Place 100nF ceramic caps as close as possible to IC power pins
- Test points: Add exposed pads or through-holes for key signals you may need to probe
- Mounting holes: Always add them — 3.2mm for M3 screws, keep away from copper pours
- Silkscreen polarity: Mark + and - for all polarized components
- Keepout zones: Define areas where copper should not go (under connectors, antennas)
- Version number: Silkscreen your version — you will iterate
- Save incrementally: Save versions as v1, v2, v3 — do not overwrite
Conclusion
KiCad is a professional-grade PCB design tool that costs nothing. By following this workflow — schematic capture, ERC, footprint assignment, PCB placement, routing, DRC, and Gerber export — you can design boards ranging from simple breakout boards to complex multi-layer designs. The key to success is methodical checking: ERC before layout, DRC before export, and visual inspection before ordering. With practice, you will develop an intuition for good layout that minimizes noise, eases manufacturing, and produces reliable electronics.
Related Guides
- How to Order PCBs from JLCPCB: From KiCad Upload to Delivery
- How to Design and Etch a PCB at Home: From KiCad to Soldered Board
- How to Do Reflow Soldering with a Hot Plate: SMD Assembly for Makers
- How to Install Threaded Inserts in 3D Printed Parts for Strong, Reusable Hardware
- Designing Snap Fits and Press Fits for 3D Printed Parts
- Designing Parts for FDM: Tolerances, Overhangs and Supports
- Soldering Basics: Tools, Technique, and Common Mistakes
- Soldering Basics for Beginners: Technique, Equipment, and Fixing Common Mistakes