Skip to main content
The schematic editor (Eeschema) is the core application for creating electronic circuit diagrams in KiCad. It manages hierarchical schematics, electrical connectivity, and generates netlists for PCB layout.

Overview

The schematic design workflow in KiCad revolves around the SCHEMATIC class (source/eeschema/schematic.h:87), which holds all data relating to one or more sheets in a hierarchical design.

Single Sheet

Simple designs with all components on one sheet

Hierarchical

Complex designs organized into multiple sheets

Creating a New Schematic

1

Initialize Schematic

Create a new schematic through the project manager or File menu. The schematic is initialized with a root sheet:
2

Add Components

Place symbols from libraries onto the schematic canvas. Components are managed by the schematic editor frame (SCH_EDIT_FRAME).
  • Use the Add Symbol tool (A key)
  • Browse libraries using the symbol chooser
  • Place components with proper orientation and values
3

Connect Components

Create electrical connections using wires, buses, and labels:
  • Wires: Point-to-point connections (source/eeschema/bus-wire-junction.cpp)
  • Buses: Multi-signal connections with bus aliases
  • Labels: Net names for logical connections
  • Global Labels: Cross-sheet connections
4

Add Power Symbols

Connect power and ground symbols to establish power nets. Power symbols are special symbols marked with ENTRY_GLOBAL_POWER attribute.
5

Annotate References

Assign unique reference designators to all components:
The annotation system ensures no duplicate references exist in the design.

Hierarchical Design

Sheet Management

Hierarchical schematics use a tree structure with the SCH_SHEET class:
Use hierarchical sheets to organize complex designs into functional blocks. Each sheet can be reused multiple times with different instance data.

Sheet Navigation

The hierarchy is maintained as a SCH_SHEET_PATH that tracks the current location:

Electrical Rules Check (ERC)

Before moving to PCB layout, validate your schematic:
1

Run ERC

Execute electrical rules checking to find:
  • Unconnected pins
  • Conflicting power nets
  • Missing labels or references
2

Review Markers

ERC markers indicate potential issues in the design. Review and resolve all errors before proceeding.
3

Resolve Exclusions

Mark intentional violations as excluded:

Connection Graph

KiCad builds a connection graph to analyze electrical connectivity:
The connection graph is recalculated when:
  • Components are added or removed
  • Wires or labels change
  • Hierarchy structure is modified

Variants

KiCad supports assembly variants for different product configurations:
Variants allow you to manage DNP (Do Not Place) status and alternate component values for different product builds.

File Format

Schematics are saved in .kicad_sch format (S-expression based):

Best Practices

Break complex designs into functional blocks using hierarchical sheets. Keep each sheet focused on a specific subsystem.
Define bus aliases for multi-signal connections:
Use meaningful net names and consistent reference designator prefixes. Follow industry standards for power net names (+3V3, GND, etc.).
Add text notes, title blocks, and revision history. Use symbol fields for datasheets and manufacturer part numbers.

Source References

Next Steps

Symbol Libraries

Manage and create symbol libraries

PCB Layout

Transfer your design to PCB layout

Design Rules

Configure electrical and physical rules

Manufacturing Output

Generate production files