Skip to main content
The Schematic Editor (Eeschema) is where you create circuit diagrams using symbols, wires, and labels to represent electronic connections.

Overview

The Schematic Editor provides:
  • Symbol placement and connection
  • Hierarchical sheet organization
  • Design rule checking (ERC)
  • Bill of Materials (BOM) generation
  • Netlist export for PCB design
  • SPICE simulation integration

Main Interface

Canvas Area

The main drawing area where you:
  • Place symbols from libraries
  • Draw wires and buses
  • Add labels and annotations
  • Create hierarchical sheets
  • Add graphical elements

Side Panels

Navigate complex designs with multiple sheets:
  • View sheet hierarchy tree
  • Click to navigate between sheets
  • See parent/child relationships
  • Access sheet properties
Browse and inspect circuit connectivity:
  • List all nets in design
  • Filter and search nets
  • Highlight net connections
  • View net properties
Edit selected object properties:
  • Symbol fields (Reference, Value, Footprint)
  • Wire and bus properties
  • Label and text attributes
  • Sheet properties
Reusable schematic fragments:
  • Browse design block library
  • Insert pre-designed circuits
  • Create custom blocks
  • Share between projects

Toolbar Functions

  • Save / Save As: Store schematic files
  • Print: Generate PDF or print schematics
  • Undo / Redo: Edit history
  • Zoom controls
  • Page settings
  • Update PCB: Sync changes to board

File Menu

File
├── New
├── Open
├── Recent Files
├── Save / Save As / Revert
├── Import
│   ├── Non-KiCad Schematic (EAGLE, Altium, etc.)
│   ├── Footprint Assignments
│   └── Graphics
├── Export
│   ├── Drawing to Clipboard
│   ├── Netlist
│   └── Symbols to Library
├── Schematic Setup
├── Page Settings
├── Print
└── Plot (PDF, SVG, etc.)

Edit Menu

1

Undo/Redo

Navigate edit history (Ctrl+Z / Ctrl+Y)
2

Find/Replace

Search for text, references, and properties (Ctrl+F)
3

Edit Operations

  • Edit Tracks and Vias
  • Edit Text and Graphics
  • Change Symbols
  • Edit Page Number

Symbol Placement

Adding Symbols

1. Press 'A' key
2. Type symbol name
3. Click to place
4. Press ESC when done

Symbol Properties

Reference Designator

Component identifier (R1, C2, U3)

Value

Component value or part number

Footprint

PCB footprint assignment

Custom Fields

Manufacturer, supplier, cost, etc.

Wiring and Connections

Wire Tool (W)

Wires create electrical connections between symbol pins
Features:
  • Auto-snap to connection points
  • 45° and 90° angle constraints
  • Right-click to finish wire
  • Junctions auto-created at crossings

Bus Tool (B)

Buses represent multiple signals as a single line
Bus Naming:
DATA[0..7]     → 8-bit data bus
ADDR[0..15]    → 16-bit address bus  
CTRL{RD,WR,CS} → Named signal group

Labels and Net Names

Label TypeShortcutScope
Local LabelLCurrent sheet
Global LabelCtrl+LEntire design
Hierarchical LabelHSheet interface

Hierarchical Design

Sheet Organization

Creating Hierarchical Sheets

1

Draw Sheet Box

Press S and draw rectangle for sub-sheet
2

Set Sheet File

Assign .kicad_sch file (new or existing)
3

Add Sheet Pins

Create connection points for hierarchical labels
4

Wire Connections

Connect sheet pins to global or local nets

Electrical Rules Check (ERC)

Running ERC

Run ERC frequently during design to catch errors early
ERC Checks:
  • Pin connection types (Input, Output, Power, etc.)
  • Unconnected pins
  • Conflicting pin assignments
  • Multiple drivers on nets
  • Power pins not connected
  • Similar labels (typo detection)

ERC Markers

Fix all ERC errors before generating PCB netlist
Marker Types:
  • 🔴 Error: Must be fixed
  • 🟡 Warning: Should be reviewed
  • Exclusion: User-approved violation

Annotation

Automatic Annotation

Assign unique reference designators:
- Scope: Current sheet or entire hierarchy
- Order: By X position, Y position, or auto
- Method: All components or only new
- Starting number: Default 1

Bill of Materials (BOM)

BOM Generation

Generate CSV or XML formatted BOMs:
  • Component list with quantities
  • Custom field inclusion
  • Grouping by value/footprint
  • Exclude DNP components
Use Python or other scripts for custom formats:
  • Configure in BOM plugin manager
  • Output to various formats
  • Integration with PLM systems

SPICE Simulation

Simulator Integration

KiCad includes ngspice for circuit simulation
Workflow:
  1. Assign SPICE models to symbols
  2. Add simulation directives
  3. Open Simulator tool
  4. Configure simulation type (AC, DC, Transient)
  5. Run simulation
  6. Probe signals and view waveforms

Design Blocks

Using Design Blocks

Insert Block

Drag and drop pre-designed circuits

Create Block

Save selection as reusable block

Link to Block

Maintain connection to source

Update from Block

Sync changes from library

Keyboard Shortcuts

Essential Shortcuts

ActionShortcut
Place SymbolA
Place PowerP
Draw WireW
Draw BusB
Place LabelL
Place Global LabelCtrl+L
Place JunctionJ
Zoom In/OutMouse wheel
PanMiddle button drag
RotateR
Mirror XX
Mirror YY
Edit PropertiesE
DeleteDel
Repeat LastInsert

Advanced Features

Variants

Create multiple versions of a design with different component options
Use Cases:
  • Different component values
  • Alternate part numbers
  • Regional variations
  • Cost optimization versions

Cross-Probing

Integration with PCB Editor:
  • Select symbol → Highlights footprint
  • Select net → Shows routing
  • Synchronized navigation

Export Options

Export connectivity for PCB:
  • KiCad format (recommended)
  • Spice format
  • Other EDA formats

Best Practices

Naming Convention: Use consistent naming for nets and hierarchical sheets
One Symbol Per Package: Don’t use multi-unit symbols for different functions
Power Symbols: Use dedicated power symbols (VCC, GND) for clarity
Before PCB Update: Always run ERC and fix all errors

Symbol Editor

Create custom symbols

PCB Editor

Layout PCB from schematic

Symbol Libraries

Manage symbol libraries

ERC Configuration

Configure design rules

Build docs developers (and LLMs) love