Skip to main content
The PCB Editor (Pcbnew) is where you transform your schematic into a physical printed circuit board layout with footprints, traces, and copper pours.

Overview

The PCB Editor provides comprehensive tools for:
  • Footprint placement and organization
  • Interactive and automatic routing
  • Copper zone management
  • Design rule checking (DRC)
  • 3D visualization
  • Manufacturing file generation (Gerbers, drill files)

Interface Layout

Canvas and Layers

The main design area supports:
  • Multiple copper layers (2-32 layers)
  • Technical layers (silkscreen, soldermask, paste)
  • User documentation layers
  • High-contrast mode for active layer focus

Key Panels

Layer Management:
  • Show/hide individual layers
  • Adjust layer transparency
  • Set rendering options
  • Configure color schemes
Object Visibility:
  • Footprints (THT, SMD, Virtual)
  • Tracks, vias, zones
  • Text and graphics
  • Ratsnest (air wires)
Control what objects can be selected:
  • Filter by object type
  • Filter by layer
  • Locked items
  • Quick toggle buttons
Edit selected objects:
  • Footprint properties
  • Track and via parameters
  • Zone settings
  • Text attributes
  • Dimension properties
Analyze net characteristics:
  • Net list with statistics
  • Length, via count
  • Filter and sort
  • Highlight nets
Reusable PCB layouts:
  • Place design blocks
  • Create from selection
  • Link to library
  • Update instances

Toolbar Functions

  • Update PCB from Schematic: Import netlist changes
  • Save / Save As
  • Print / Plot
  • Undo / Redo
  • Zoom controls
  • 3D Viewer: Launch 3D view
  • DRC: Run design rule check
  • Layer pair selection

PCB Design Workflow

Importing from Schematic

Update PCB from Schematic

1

Open Update Tool

Click “Update PCB from Schematic” or press F8
2

Review Changes

See additions, deletions, and modifications:
  • New footprints to add
  • Nets changed
  • Components removed
  • Footprint associations updated
3

Apply Updates

Execute changes to PCB
Always save your PCB before updating from schematic

Footprint Placement

Placement Strategies

Manual Placement

Full control over component positions:
  • Click and drag
  • Precise coordinates
  • Alignment tools
  • Grid snapping

Auto-Placement

Automatic component arrangement:
  • Optimize by connectivity
  • Place off-board first
  • Respect keep-out areas
  • Minimize wire length

Footprint Operations

ActionShortcutDescription
Place FootprintA or OAdd from library
MoveMReposition
RotateRRotate 90°
FlipFMirror to other side
Edit PropertiesEModify parameters
DuplicateCtrl+DCopy with offset
DeleteDelRemove from board

Board Outline

Defining Board Shape

Board outline must be drawn on the Edge.Cuts layer
Tools:
  • Draw Line segments
  • Draw Arc
  • Draw Rectangle
  • Draw Circle
  • Draw Polygon
  • Import DXF/SVG
Ensure the outline is a closed polygon with no gaps

Routing

Interactive Router

KiCad’s modern push-and-shove router:
Highlight Mode: Shows obstacles
  • Useful for planning
  • No collision avoidance
Shove Mode: Pushes existing traces
  • Smart obstacle avoidance
  • Automatically adjusts existing routes
Walk Around Mode: Routes around obstacles
  • Maintains existing routing
  • Finds path around obstructions

Differential Pairs

  1. Define differential pairs in schematic:
    • Name signals with + and - suffix (e.g., USB_D+, USB_D-)
  2. Configure net class rules
  3. Set coupling constraints
  • Use “Route Differential Pair” tool
  • Maintains spacing and length matching
  • Supports meanders for tuning

Length Tuning

Meander Tool for matched lengths:
  • Set target length
  • Adjust amplitude and spacing
  • Visual feedback on current length
  • Auto-tune to target

Copper Zones

Creating Zones

1

Select Zone Tool

Click “Add Filled Zone” or press Ctrl+Shift+Z
2

Draw Outline

Click to define zone boundary
3

Configure Properties

  • Layer assignment
  • Net connection
  • Fill settings (solid, hatched)
  • Thermal relief parameters
  • Priority level
4

Fill Zones

Press B to fill all zones

Zone Fill Settings

Zone Properties
{
  "Fill Type": "Solid or Hatched",
  "Clearance": "From net class or custom",
  "Minimum Width": "Copper thickness limit",
  "Thermal Reliefs": {
    "Connection": "Thermal relief or solid",
    "Gap": "Distance to pad",
    "Spoke Width": "Thermal spoke size"
  },
  "Priority": "Higher number = higher priority"
}

Design Rule Check (DRC)

Running DRC

Always run DRC before manufacturing!
Checks Include:
  • Clearance violations
  • Track width violations
  • Via size issues
  • Drill to copper clearance
  • Courtyard overlaps
  • Silkscreen on pads
  • Missing connections
  • Isolated copper

DRC Configuration

Set rules in File → Board Setup → Design Rules:

Net Classes

Define rules per net class:
  • Track width
  • Clearance
  • Via sizes
  • Differential pair settings

Constraints

Global design constraints:
  • Minimum track width
  • Minimum via size
  • Micro via parameters
  • Hole to hole spacing

Layer Stack Manager

Configuring Layers

Access via File → Board Setup → Board Stackup
  • 2 to 32 layer boards
  • Name each layer
  • Set copper thickness
  • Impedance control
  • Core and prepreg
  • Material selection
  • Thickness specification
  • Loss tangent for RF
  • Soldermask color and type
  • Silkscreen color
  • Surface finish (HASL, ENIG, etc.)

3D Viewer Integration

Launching 3D View

Press Alt+3 or click the 3D Viewer button
Features:
  • Realistic board rendering
  • Component 3D models
  • Ray-tracing mode
  • Export STEP/VRML
  • Mechanical clearance checking

Manufacturing Outputs

Gerber Files

1

Open Plot Dialog

File → Plot or Ctrl+P
2

Select Layers

Check layers to export:
  • Copper layers
  • Soldermask (F.Mask, B.Mask)
  • Silkscreen (F.Silks, B.Silks)
  • Paste (F.Paste, B.Paste)
  • Edge.Cuts
3

Configure Options

  • Output directory
  • Gerber format (typically X2)
  • Precision
  • Coordinate format
4

Generate Drill Files

Click “Generate Drill Files” button

Other Export Formats

Modern intelligent CAD format:
  • Single file with all data
  • Includes stackup
  • Better than Gerber for complex boards

Advanced Features

Generators

Generators are parametric objects that automatically update
Built-in Generators:
  • Via stitching
  • Track meandering
  • Teardrops
  • Microwave structures

Scripting with Python

Example: Move all resistors
import pcbnew

board = pcbnew.GetBoard()

for footprint in board.GetFootprints():
    if footprint.GetReference().startswith('R'):
        pos = footprint.GetPosition()
        footprint.SetPosition(pcbnew.wxPointMM(pos.x, pos.y + 5))

pcbnew.Refresh()

Multi-Channel Design

Repeat Layout

Replicate circuit blocks:
  • Identify source rule area
  • Generate instances
  • Maintain relative positions

Generate Rules

Auto-create rule areas:
  • From hierarchical sheets
  • For repeating subcircuits
  • Simplifies updates

Keyboard Shortcuts

Essential Shortcuts

ActionShortcut
Place FootprintA or O
Route TrackX
End TrackEnd
Add ViaV
Switch Layer+ / -
Fill ZonesB
Highlight Net`
MeasureCtrl+Shift+M
FlipF
RotateR
Move ExactlyCtrl+M
DuplicateCtrl+D
DeleteDel
Edit PropertiesE

Best Practices

Ground Planes: Use copper pours for ground and power distribution
Decoupling: Place decoupling capacitors close to IC power pins
Trace Width: Use wider traces for power, thinner for signals
Via Stitching: Connect ground planes with vias around board edges
Silkscreen: Keep silkscreen clear of pads and component bodies
Acute Angles: Avoid sharp corners in traces (use 45° or curves)

3D Viewer

Visualize board in 3D

Gerber Viewer

Inspect manufacturing files

Design Rules

Configure DRC constraints

Build docs developers (and LLMs) love