Overview
The schematic design workflow in KiCad revolves around theSCHEMATIC 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
Initialize Schematic
Create a new schematic through the project manager or File menu. The schematic is initialized with a root sheet:
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
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
Add Power Symbols
Connect power and ground symbols to establish power nets. Power symbols are special symbols marked with
ENTRY_GLOBAL_POWER attribute.Hierarchical Design
Sheet Management
Hierarchical schematics use a tree structure with theSCH_SHEET class:
Sheet Navigation
The hierarchy is maintained as aSCH_SHEET_PATH that tracks the current location:
Electrical Rules Check (ERC)
Before moving to PCB layout, validate your schematic:Run ERC
Execute electrical rules checking to find:
- Unconnected pins
- Conflicting power nets
- Missing labels or references
Review Markers
ERC markers indicate potential issues in the design. Review and resolve all errors before proceeding.
Connection Graph
KiCad builds a connection graph to analyze electrical connectivity:- 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
Organize with Hierarchy
Organize with Hierarchy
Break complex designs into functional blocks using hierarchical sheets. Keep each sheet focused on a specific subsystem.
Use Bus Aliases
Use Bus Aliases
Define bus aliases for multi-signal connections:
Consistent Naming
Consistent Naming
Use meaningful net names and consistent reference designator prefixes. Follow industry standards for power net names (+3V3, GND, etc.).
Document Your Design
Document Your Design
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