KiCad Basics: Understanding the Essentials
KiCad is a powerful, free, and open-source software suite for Electronic Design Automation (EDA). It facilitates the design of electronic schematics and their conversion into Printed Circuit Board (PCB) designs. For hobbyists, students, and even professionals, KiCad offers a compelling alternative to expensive commercial EDA tools, boasting a rich feature set, a vibrant community, and continuous development.
Embarking on the journey of PCB design can seem daunting, especially with the array of tools and concepts involved. This article aims to demystify KiCad, focusing on the fundamental concepts and workflow required to take an electronic idea from a schematic diagram to a manufacturable PCB layout. We will cover the essential components of the KiCad suite, the typical design process, and key techniques needed to get started.
1. Introduction to the KiCad Ecosystem
Before diving into the specifics, it’s crucial to understand that KiCad isn’t just one program; it’s a suite of integrated applications working together. When you launch KiCad, you are greeted by the KiCad Project Manager. This central window acts as a hub, providing access to the different tools and managing the files associated with your project.
A typical KiCad project consists of several key file types:
.kicad_pro
: The main project file, holding project settings..kicad_sch
: The schematic file, containing the logical circuit diagram (created/edited with Eeschema)..kicad_pcb
: The PCB layout file, containing the physical board design (created/edited with Pcbnew)..kicad_sym
: Symbol library files (often managed globally or locally)..kicad_mod
: Footprint library files (often managed globally or locally).sym-lib-table
andfp-lib-table
: Files managing the symbol and footprint library lists, respectively.
The primary tools you’ll interact with via the Project Manager are:
- Eeschema (Schematic Editor): Used to draw the circuit diagram, define components, and establish electrical connections (nets).
- Symbol Editor: Used to create or modify schematic symbols.
- Pcbnew (PCB Editor): Used to arrange components physically on the board, route copper traces between them, define board shape, and create manufacturing outputs.
- Footprint Editor: Used to create or modify PCB footprints (the physical patterns components solder onto).
- Gerber Viewer (GerbView): Used to inspect the Gerber files, which are the standard manufacturing outputs sent to PCB fabricators.
- Bitmap to Component Converter: A utility to convert images into schematic symbols or PCB footprints (useful for logos).
- PCB Calculator: A handy tool for various calculations related to trace width, electrical spacing, transmission lines, etc.
- Plugin and Content Manager (PCM): Introduced in later versions, allows easy installation of community-contributed libraries, plugins, and themes.
The typical workflow involves starting with Eeschema to create the schematic, then moving to Pcbnew to lay out the PCB, potentially iterating between them as the design evolves. Library management (Symbols and Footprints) is an ongoing task crucial for both stages.
2. Installation and Setup
KiCad is cross-platform, available for Windows, macOS, and various Linux distributions.
- Download: Visit the official KiCad website (kicad.org). Navigate to the “Download” section.
- Choose Version: Generally, download the latest stable version. Release candidates or nightly builds offer newer features but may be less stable.
- Installation: Follow the platform-specific installation instructions. The installers typically include the core application suite and a comprehensive set of standard libraries (symbols, footprints, 3D models). During installation, you might be asked about installing these standard libraries – it’s highly recommended to do so, especially as a beginner.
- Initial Launch: After installation, launch KiCad. You might be prompted about configuring the global library tables. Usually, accepting the defaults (pointing to the libraries installed with KiCad) is the best starting point.
3. Starting a New Project
Everything in KiCad revolves around a project.
- Launch KiCad: Open the main KiCad application (the Project Manager).
- New Project: Go to
File -> New Project
. - Name and Location: Choose a location on your computer to save the project and give it a descriptive name (e.g.,
BlinkingLED
). KiCad will create a folder with this name (if it doesn’t exist) and place the project files (.kicad_pro
,.kicad_sch
,.kicad_pcb
, etc.) inside it. It’s good practice to keep all project-related files within this dedicated folder. - Project Manager View: Once created, the project files will appear in the KiCad Project Manager window’s tree view. You can now launch the individual tools by double-clicking the corresponding file (e.g., double-click the
.kicad_sch
file to open Eeschema).
4. Schematic Capture with Eeschema
The schematic is the logical heart of your electronic design. It defines what components are used and how they are electrically connected, without worrying (yet) about their physical size or placement.
4.1. Eeschema Interface Overview
When you open the schematic editor (Eeschema), you’ll see:
- Main Editing Area: A large grid where you draw your schematic.
- Top Toolbar: Contains common actions like save, print, zoom, Electrical Rules Check (ERC), Annotation, Netlist generation, and launching Pcbnew.
- Right Toolbar: Contains the primary tools for schematic creation:
- Select item (
Arrow
icon) - Highlight net (
Highlight
icon) - Add Symbol (
Op-amp
icon, Shortcut:A
) - Add Power Port (
Power
icon, Shortcut:P
) - Add Wire (
Wire
icon, Shortcut:W
) - Add No-Connection Flag (
X
icon, Shortcut:Q
) - Add Net Label (
Label
icon, Shortcut:L
) - Add Junction (
Dot
icon, Shortcut:J
) - Add Text, Graphics, etc.
- Select item (
- Left Pane: Often shows page navigation or other context-dependent information.
- Bottom Status Bar: Displays coordinates, grid settings, and messages.
4.2. Setting Up the Schematic Sheet
Before drawing, it’s good practice to set up the title block.
- Go to
File -> Page Settings
. - Fill in details like
Title
,Company
,Revision
,Date
. This information appears in the schematic’s border. - You can also choose the paper size here.
4.3. Placing Symbols
Symbols represent electronic components (resistors, capacitors, ICs, connectors, etc.).
- Activate Add Symbol Tool: Click the “Add Symbol” icon on the right toolbar or press
A
. - Click on Schematic: Click anywhere on the schematic sheet where you want to place a symbol.
- Choose Symbol Window: This window appears, allowing you to select a symbol.
- Filter: Type keywords (e.g., “resistor,” “LED,” “LM7805”) in the filter box to narrow down the list.
- Libraries: Symbols are organized into libraries (e.g.,
Device
,Connector
,Regulator_Linear
). You can browse through these. - Preview: Selecting a symbol shows its preview and description.
- Select and Place: Find the desired symbol (e.g., search for
R
for a standard resistor, orLED
for a light-emitting diode), clickOK
, and then click on the schematic sheet to place it. - Repeat: You can immediately click again to place another instance of the same symbol or press
Esc
to stop placing.
4.4. Manipulating Symbols
Once placed, symbols can be manipulated:
- Move: Hover over a symbol, press
M
. Click to place it in the new location. - Rotate: Hover over a symbol, press
R
. Rotates by 90 degrees clockwise. - Copy: Hover over a symbol, press
C
. Click to place the copy. - Delete: Hover over a symbol, press
Del
. - Edit Properties: Hover over a symbol, press
E
. This opens the Symbol Properties window where you can change the reference designator (e.g., R1, C2, U3), value (e.g., 10k, 1uF, LM7805), footprint assignment, and other fields. Double-clicking a symbol also often opens this window.
4.5. Adding Power Symbols
Power connections (+5V, +3.3V, GND, VCC, VEE, etc.) are crucial. KiCad uses special “Power Port” symbols.
- Activate Add Power Port Tool: Click the “Add Power Port” icon or press
P
. - Choose Symbol Window: Similar to adding regular symbols, a window appears. Common power symbols like
+5V
,+3V3
,GND
are usually found in thepower
library. - Select and Place: Choose the required power symbol (e.g.,
GND
) and place it on the schematic.
Important: Placing a GND
symbol automatically creates a global net named GND
. All GND
symbols are implicitly connected. The same applies to other named power symbols like +5V
, VCC
, etc.
4.6. Wiring Components
Wires represent electrical connections (nets) between component pins.
- Activate Wire Tool: Click the “Add Wire” icon or press
W
. - Start Wire: Click on a component pin (a small circle will appear when hovering over a valid connection point).
- Draw Wire: Move the mouse. Wires are drawn orthogonally (horizontal/vertical). Click to create corners.
- End Wire: Click on another component pin or another wire to complete the connection.
-
End Floating Wire: Double-click to end a wire segment not connected to anything (generally avoided unless using labels). Press
Esc
or right-click and select “End Wire” to stop wiring mode. -
Junctions: When wires cross and are intended to connect, a junction dot is automatically placed if you click to start or end a wire on an existing wire. If wires simply cross without a dot, they are not connected. You can manually add junctions using the “Add Junction” tool (
J
). - Bus Wires: For connecting groups of related signals (like data or address buses), you can use Bus wires and Bus Entries (found under the Wire tool dropdown). This is a more advanced topic usually involving labels.
4.7. Net Labels
For complex schematics or connections spanning different areas, drawing long wires can be messy. Net Labels provide a cleaner way to connect points.
- Activate Add Net Label Tool: Click the “Add Net Label” icon or press
L
. - Enter Label Name: Type a descriptive name for the net (e.g.,
SIGNAL_OUT
,RESET_N
). - Place Label: Click on a wire segment. The wire segment (and any wire or pin directly connected to it) now belongs to the net defined by the label name.
- Connect Elsewhere: Place the same label name on another wire segment elsewhere in the schematic. These two segments are now electrically connected, even without a visible wire between them.
Power symbols (GND
, +5V
) act like global labels.
4.8. No-Connection Flags
Sometimes, component pins are intentionally left unconnected. To avoid warnings during the Electrical Rules Check, mark these pins explicitly.
- Activate No-Connection Flag Tool: Click the “Add No-Connection Flag” icon or press
Q
. - Place Flag: Click on the pin that should remain unconnected. A small ‘X’ marker will appear.
4.9. Annotation
Components are initially placed with question marks in their reference designators (e.g., R?, C?, U?). Annotation assigns unique sequential numbers.
- Open Annotation Tool: Go to
Tools -> Annotate Schematic
or click the corresponding icon in the top toolbar. - Configure Settings: Choose the order (e.g., across then down), numbering sequence (e.g., start from 1), and scope (entire schematic). The defaults are usually fine.
- Annotate: Click the “Annotate” button, then “OK”. Close the window.
- Result: Your components will now have unique designators (R1, R2, C1, U1, etc.).
4.10. Electrical Rules Check (ERC)
ERC checks the schematic for common logical errors, such as unconnected pins, outputs connected together, power pins not connected to power, etc.
- Run ERC: Go to
Tools -> Electrical Rules Check
or click the ERC icon in the top toolbar. - Click Run ERC: In the ERC window, click the “Run ERC” button.
- Review Results: The window lists any errors or warnings found. Clicking on an error message will often highlight the corresponding location on the schematic.
- Common Errors:
- “Pin not connected”: An input/output/passive pin is floating. Add a wire, label, or No-Connection flag (
Q
). - “Pin connected to some others pins but no pin to drive it”: Often occurs with power nets if a Power Flag is missing. Power symbols like
GND
and+5V
are often defined as ‘Power Input’ pins. Something needs to supply that power (act as a ‘Power Output’). If your power comes from off-board (e.g., a connector), you need to add aPWR_FLAG
symbol (found via Add SymbolA
, searchPWR_FLAG
) and connect it to the power net (e.g., wire thePWR_FLAG
to the+5V
net). This tells ERC that power is indeed provided to this net. - “Input Power pin not driven by any Output Power pins”: Similar to the above, requires a
PWR_FLAG
or connection to an actual power output pin (like from a voltage regulator symbol).
- “Pin not connected”: An input/output/passive pin is floating. Add a wire, label, or No-Connection flag (
- Common Errors:
- Fix and Rerun: Address the reported issues in the schematic and rerun ERC until it passes cleanly (or until remaining warnings are understood and acceptable).
4.11. Assigning Footprints
Every schematic symbol needs a corresponding PCB footprint – the physical pattern of pads the component will be soldered onto.
- Open Footprint Assignment Tool: Go to
Tools -> Assign Footprints
or click the corresponding icon. - Tool Interface: This tool shows three main panes:
- Left: Footprint Libraries available.
- Middle: Components in your schematic.
- Right: Footprints available in the selected library.
- Assigning:
- Select a component in the middle pane (e.g., R1).
- In the left pane, navigate to the appropriate library (e.g.,
Resistor_SMD
orResistor_THT
). THT = Through-Hole Technology, SMD = Surface Mount Device. - In the right pane, find the correct footprint (e.g.,
R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal
for a standard through-hole resistor, orR_0805_2012Metric
for a common surface-mount size). Knowing the physical package of your component is crucial here! Datasheets are your friend. - Double-click the desired footprint in the right pane to assign it to the selected component in the middle pane. The assignment will appear next to the component.
- Filtering: You can use the filters at the top to view only footprints matching certain criteria (pin count, library keywords). KiCad often pre-filters based on the symbol’s properties, which helps narrow down choices.
- Viewing Footprints: You can right-click a footprint in the list and select “View Footprint” to see what it looks like.
- Complete Assignments: Repeat the process for all components in the schematic.
- Apply and Close: Click
Apply, Save Schematic & Continue
, thenOK
. Close the tool.
4.12. Generating the Netlist (Older KiCad versions) or Updating PCB from Schematic (Newer KiCad versions)
The netlist is a text file describing the components and their interconnections, derived from the schematic. Pcbnew uses this information to understand how the physical footprints should be connected.
-
Older KiCad (v5 and earlier): Generate Netlist
- In Eeschema, go to
Tools -> Generate Netlist File
or click the Netlist icon. - Ensure the “Pcbnew” tab is selected.
- Click “Generate Netlist”.
- Save the
.net
file in your project directory (the default location is usually correct).
- In Eeschema, go to
-
Newer KiCad (v6 and later): Update PCB from Schematic
This is a more integrated workflow.- In Eeschema, go to
Tools -> Update PCB from Schematic...
or click the corresponding icon (F8
). - A “Update PCB from Schematic” window appears, showing changes to be applied (new footprints, changed nets, etc.).
- Review the changes.
- Click “Update PCB”. Any errors or warnings will be shown in the messages box.
- Close the window. This action directly communicates the netlist information to Pcbnew without generating a separate file. If Pcbnew isn’t open, this command will often open it or prompt you to.
- In Eeschema, go to
This completes the essential steps in schematic capture. You now have a logically defined circuit, checked for basic electrical errors, with physical footprints assigned to each component.
5. PCB Layout with Pcbnew
Pcbnew is where the schematic’s abstract connections become physical copper traces on a board.
5.1. Pcbnew Interface Overview
- Main Editing Area: Where you place footprints and route traces on the board layers.
- Top Toolbar: Save, DRC, 3D Viewer, Flip Board View, Plot (Gerber generation).
- Right Toolbar: Tools for layout:
- Select item (
Arrow
) - Route Tracks (
X
icon, Shortcut:X
) - Add Vias (
Via
icon, Shortcut:V
) - Add Filled Zones (
Copper pour
icon) - Add Graphic Lines/Shapes (
Line
,Circle
,Arc
,Polygon
icons) - Add Text (
T
icon) - Add Footprint (
Chip
icon – less common now, usually footprints come from schematic) - Set Grid Origin, Dimensions, etc.
- Select item (
- Left Toolbar: Visibility controls, layer selection presets.
- Layer Manager (Right Pane): Crucial for selecting the active layer to work on (e.g.,
F.Cu
for Front Copper,B.Cu
for Back Copper,Edge.Cuts
for board outline,F.SilkS
for Front Silkscreen). You can control the visibility and color of each layer here. - Bottom Status Bar: Coordinates, grid, differential pair/trace length info, messages.
5.2. Initial Setup: Importing Netlist and Defining Board Outline
- Open Pcbnew: From the KiCad Project Manager, double-click the
.kicad_pcb
file. - Load Netlist (Older KiCad): If using the older workflow, go to
Tools -> Load Netlist
or click the icon. Browse to your.net
file. Click “Update PCB”. A dialog will show changes; review and confirm. You should see a cluster of footprints (often outside the drawing area) connected by thin white lines called “ratsnest” lines. These represent the required connections defined in the netlist. - Update PCB from Schematic (Newer KiCad): If Pcbnew is already open and you used the
Update PCB from Schematic
command in Eeschema (F8
), the footprints and ratsnest should already be loaded. If not, use theF8
command again from Eeschema orTools -> Update PCB from Schematic...
within Pcbnew. - Define Board Outline: The physical shape of your PCB.
- Select Edge.Cuts Layer: In the Layer Manager pane on the right, click on
Edge.Cuts
to make it the active layer. The color swatch next to it should highlight. - Choose Graphic Tool: Select one of the graphic drawing tools from the right toolbar (e.g., “Add graphic lines”).
- Draw Outline: Click on the main editing area to draw the perimeter of your board. Use the grid (change grid size via right-click menu or top toolbar dropdown) for accuracy. Ensure the outline forms a closed shape (start and end points meet). Common shapes are rectangles, but complex shapes are possible.
- Select Edge.Cuts Layer: In the Layer Manager pane on the right, click on
5.3. Design Rules Setup
Before placing components and routing, define the manufacturing constraints (design rules). These rules dictate minimum trace widths, spacing between copper features, via sizes, etc., and are critical for ensuring your board can actually be manufactured reliably.
- Open Board Setup: Go to
File -> Board Setup...
. - Key Sections:
- Layers: Confirms the layer stackup (usually 2 layers: F.Cu, B.Cu for simple boards).
- Design Rules -> Constraints: This is crucial.
Minimum clearance:
The smallest gap allowed between any two different copper items (trace-to-trace, trace-to-pad, pad-to-pad). Check your chosen PCB manufacturer’s capabilities (e.g., 0.15mm or 6 mils is common for standard processes).Minimum track width:
The thinnest copper trace allowed. Again, check manufacturer specs (e.g., 0.15mm or 6 mils). Power traces often need to be wider (see Net Classes).Minimum via diameter:
Smallest finished hole size for vias.Minimum via drill:
Smallest drill bit size used for vias.- Other constraints related to hole sizes, annular rings, etc. Start with manufacturer defaults if unsure.
- Design Rules -> Net Classes: Allows you to define different rules for different groups of nets.
- The
Default
net class applies to all nets unless overridden. Set the defaultClearance
,Track Width
,Via Size
, etc., here based on your standard signal requirements and manufacturer constraints. - You can add new net classes (e.g., “Power”). Click the
+
button, name it “Power”. Set widerTrack Width
(e.g., 0.5mm or 1mm depending on current) and potentially largerVia Size
andClearance
for power nets. - Assign nets to classes: Below the class definitions, assign specific nets (like
GND
,+5V
) to the “Power” class you created. Select the net on the left, select the desired class on the right, and click the assignment arrows.
- The
- Solder Mask/Paste: Settings related to solder mask expansion and paste stencil apertures. Defaults are often okay initially, but check manufacturer recommendations.
- Apply: Click
OK
to save the settings.
5.4. Component Placement
Arrange the footprints loaded from the netlist onto the defined board area. Good placement is critical for routability, signal integrity, and thermal management.
- Select Footprints: Use the Select tool (
Arrow
) to click and drag footprints from their initial cluster onto the board outline area. - Move (
M
) and Rotate (R
): Hover over a footprint and useM
to move it. Click to place. UseR
to rotate it (usually in 90-degree steps). UseF
to flip it to the opposite side of the board (if needed, e.g., for SMD components on the bottom layer). - Placement Strategy:
- Connectors: Place connectors (USB, power jacks, headers) near the board edges where they need to be accessed.
- Related Components: Group components that work together (e.g., microcontroller and its bypass capacitors, power supply circuitry).
- Ratsnest Guidance: Pay attention to the ratsnest lines. Try to place components to minimize the length and crossing of these lines. Rotate components (
R
) to untangle connections. - Decoupling Capacitors: Place bypass/decoupling capacitors (usually small, e.g., 0.1uF) physically very close to the power pins of the ICs they are decoupling.
- Heat Sensitive/Generating Components: Keep heat-sensitive components away from those that generate significant heat. Consider airflow if applicable.
- Orientation: Try to orient similar components (like resistors, capacitors) consistently for easier assembly and inspection.
- Space for Routing: Leave enough space between components for routing traces. Don’t pack things too tightly initially.
5.5. Routing Traces
Connect the pads according to the ratsnest lines using copper traces.
- Select Layer: Choose the copper layer to route on (e.g.,
F.Cu
– Front Copper orB.Cu
– Back Copper) from the Layer Manager. - Activate Route Tracks Tool: Click the “Route Tracks” icon or press
X
. - Start Routing: Click on a pad that has a ratsnest line connected to it.
- Draw Trace: Move the mouse. KiCad will draw a copper track following the cursor. The width and clearance will adhere to the Design Rules (Net Classes) set earlier. Click to place corners/vertices.
- Change Layer (Via): While routing, if you need to switch to the other copper layer (e.g., to cross over another trace), press
V
(Add Via). KiCad places a via, switches the active layer, and continues routing from the via on the new layer. Click to confirm the via location. You can also pre-select the target layer in the layer manager before pressingV
. - Complete Route: Click on the destination pad to finish the connection. The corresponding ratsnest line will disappear.
- Routing Modes: KiCad’s router has different modes (accessed via right-click menu while routing or toolbar icons):
Highlight Collisions:
Shows potential DRC violations as you route.Shove:
Attempts to automatically push nearby tracks and vias out of the way to make space for the current track (very useful).Walkaround:
Routes around obstacles following their contour.
- Trace Width: While routing, you can often cycle through predefined track widths (set up in Board Setup -> Design Rules -> Track & Via sizes) by pressing
W
(increase) andShift+W
(decrease). - Routing Strategy:
- Route Power First: Often beneficial to route power (
GND
,VCC
) first, possibly using wider traces (defined in Net Classes). Consider using copper pours for GND. - Short and Direct: Keep traces, especially for high-speed signals, as short and direct as possible.
- Avoid Acute Angles: Avoid sharp (less than 90-degree) angles in traces, as they can be problematic during etching and can trap acid. KiCad usually defaults to 45-degree or curved corners.
- Minimize Vias: Vias add inductance and resistance and are potential points of failure. Use them when necessary but try to route primarily on one layer if possible for simpler signals, or use a two-layer strategy (e.g., horizontal on one, vertical on the other).
- Layer Preference: Sometimes dedicating one layer primarily to horizontal routes and the other to vertical routes can help organize complex boards.
- Route Power First: Often beneficial to route power (
5.6. Copper Pours / Filled Zones
Large areas of copper, often connected to GND, are useful for shielding, heat dissipation, and providing a low-impedance return path.
- Select Layer: Choose the layer for the pour (e.g.,
GND
pours are common on bothF.Cu
andB.Cu
). - Activate Add Filled Zone Tool: Click the icon on the right toolbar.
- Zone Properties: Before drawing, a dialog appears:
- Select the
Layer
and theNet
the zone should connect to (e.g.,GND
). - Configure
Clearance
(gap between zone and other nets),Minimum width
(for narrow sections of the zone),Thermal relief
settings (how the zone connects to pads of the same net – thermal spokes are common to aid soldering), etc. Defaults are often a reasonable starting point.
- Select the
- Draw Zone Outline: Click on the board editing area to define the corners of the zone’s boundary, typically encompassing a large area or the entire board (inside the Edge.Cuts outline). Double-click to finish the outline.
- Fill Zone: The zone outline appears, but it’s not filled yet. Press
B
(orCtrl+B
in some versions) to fill (or refill) all zones. The copper pour will fill the area, automatically creating clearances around pads and traces belonging to different nets, and connecting to (or creating thermal reliefs for) pads and vias belonging to the same net (e.g., GND). - Refill: If you make changes (move components, reroute traces), zones need to be refilled (
B
) to reflect the changes.
5.7. Silkscreen Cleanup
Silkscreen layers (F.SilkS
, B.SilkS
) contain text (reference designators, component values, board name, logos). Ensure text is readable and not overlapping pads.
- Select Silkscreen Layer: Choose
F.SilkS
orB.SilkS
in the Layer Manager. - Move Text: Hover over text elements (like R1, C1), press
M
to move them to clear locations next to their components. - Rotate Text: Press
R
to rotate text for better fit. - Edit Text Properties: Press
E
while hovering over text to change its content, size, thickness, etc. - Rule of Thumb: Avoid placing silkscreen ink on solder pads, as it can interfere with soldering. Pcbnew often prevents this by default or clips it during Gerber generation, but it’s good practice to position text clearly away from pads.
5.8. Design Rules Check (DRC)
Just like ERC for schematics, DRC checks the physical layout against the rules defined in Board Setup. This is a critical step before generating manufacturing files.
- Run DRC: Go to
Tools -> Design Rules Checker
or click the DRC icon (often a ladybug). - DRC Control Window:
- Ensure “Refill all zones before performing DRC” is checked.
- Check “Report all errors for each track”.
- Click “Run DRC”.
- Review Results: The DRC window lists errors (e.g., clearance violations, track width violations, unconnected items) and warnings.
Errors:
Usually indicate definite manufacturability problems (e.g., trace too close to a pad, trace too thin). These must be fixed.Unconnected Items:
Indicates pads that are not fully routed according to the netlist. Ensure all ratsnest lines are gone and connections are complete.- Clicking on an error/warning in the list will highlight the issue on the PCB layout. Arrows might point to the exact location.
- Fix and Rerun: Go back to the layout, fix the reported problems (e.g., move traces, change trace widths, adjust placement, reroute), refill zones (
B
), and rerun DRC until no errors remain. Some warnings might be acceptable if you understand why they are occurring.
5.9. 3D Viewer
KiCad includes a fantastic 3D viewer to visualize what your assembled board will look like.
- Launch 3D Viewer: Go to
View -> 3D Viewer
or click the icon. - Interact: You can rotate (
Left-click + drag
), pan (Middle-click + drag
orShift + Left-click + drag
), and zoom (Scroll wheel
). - Check Placement: Useful for checking component heights, clearances between components, connector orientations, and overall aesthetics.
- Note: Accurate 3D models (
.step
or.wrl
files) must be associated with the footprints for components to appear correctly. The standard KiCad libraries include many 3D models, but you might need to add them manually for custom or less common parts via the Footprint Properties.
6. Generating Manufacturing Files (Gerbers and Drill Files)
Once the layout is complete and DRC clean, you need to generate the files required by PCB manufacturers. The standard format is Gerber files for copper layers, solder mask, silkscreen, and paste layers, plus Excellon drill files for holes.
- Open Plot Dialog: In Pcbnew, go to
File -> Plot
. - Plot Settings (Gerber):
- Plot Format: Select
Gerber
. - Output Directory: Specify a subdirectory within your project folder (e.g.,
gerbers/
) to keep these files organized. Create the folder if it doesn’t exist. - Layers to Include: Select the necessary layers. A typical 2-layer board requires:
F.Cu
(Front Copper)B.Cu
(Back Copper)F.Paste
(Front Solder Paste – for stencils if using SMD)B.Paste
(Back Solder Paste – if SMD on back)F.SilkS
(Front Silkscreen)B.SilkS
(Back Silkscreen)F.Mask
(Front Solder Mask)B.Mask
(Back Solder Mask)Edge.Cuts
(Board Outline)
- Gerber Options (Crucial):
- Check
Use Protel filename extensions
(highly recommended, as this is common practice and expected by many manufacturers). - Check
Subtract soldermask from silkscreen
(prevents silk ink on pads). - Ensure Coordinate format and Units (mm or inches) are appropriate (check manufacturer preference if specified, otherwise defaults are usually fine).
- Check
- Plot Format: Select
- Plot: Click the “Plot” button. This generates the Gerber files in the specified output directory.
- Generate Drill Files:
- Click the “Generate Drill Files…” button (still within the Plot dialog).
- Drill File Format: Ensure
Excellon
is selected. - Output Folder: Use the same output directory as the Gerbers.
- Drill Map File Format: PostScript or Gerber can be useful for documentation, but not usually needed for fabrication itself.
- Drill Origin:
Absolute
is common. - Drill Units: Match Gerber units (mm or inches).
- Zeros Format:
Suppress leading zeros
is typical for Excellon. - Click “Generate Drill File”. This creates the
.drl
(drill data) and potentially an identification file (.rpt
).
- Close: Close the Drill Files Generation window and the Plot window.
7. Verifying Manufacturing Files with GerbView
Before sending files off for manufacturing, always inspect them using a Gerber viewer. KiCad’s own GerbView is perfect for this.
- Launch GerbView: From the KiCad Project Manager, click the GerbView icon.
- Load Gerber Files: Go to
File -> Open Gerber File(s)...
. Navigate to yourgerbers/
output directory and select all the generated Gerber files (.GTL
,.GBL
,.GTS
,.GBS
,.GTO
,.GBO
,.GML
/.GM1
,.GKO
, etc.). Click Open. - Load Drill File: Go to
File -> Open Excellon Drill File(s)...
. Select the.drl
file. KiCad might ask about the format; usually, the auto-detect works, or match the settings used during generation (units, zeros format). - Inspect:
- Layer Visibility: Use the layer manager on the right to toggle layers on/off. Check each layer individually.
- Alignment: Ensure all layers align correctly, especially copper layers with solder mask and drill hits with pads/vias.
- Outline: Verify the
Edge.Cuts
layer correctly defines the board shape. - Drill Hits: Check that drill holes are centered on pads and vias.
- Clearances/Widths: Use the measuring tool (if available/needed) or visual inspection to sanity-check that features look correct and clearances seem adequate. Look for any unexpected artifacts or missing features.
- Confirmation: If everything looks as expected in GerbView, the files are likely ready for fabrication.
8. Library Management
Efficient use of KiCad relies on understanding how symbol (Eeschema) and footprint (Pcbnew) libraries work.
- Global vs. Project Libraries:
- Global Libraries: Available to all KiCad projects on your system. Managed via
Preferences -> Manage Symbol Libraries...
andPreferences -> Manage Footprint Libraries...
in the main KiCad window or respective editors. The standard KiCad libraries installed are global. - Project Specific Libraries: Stored within the project folder and only available to that project. Added via the same managers but using the “Project Libraries” tab. Useful for custom symbols/footprints specific to one design.
- Global Libraries: Available to all KiCad projects on your system. Managed via
- Library Tables (
sym-lib-table
,fp-lib-table
): These files (one global, one per project) list the libraries KiCad knows about and where to find them. You rarely edit these directly; use the library management tools. - Creating Custom Symbols/Footprints:
- Use the Symbol Editor (launched from KiCad Project Manager or Eeschema) to draw new symbols or modify existing ones. Save them to a custom library (create one via
File -> New Library
). - Use the Footprint Editor (launched from KiCad Project Manager or Pcbnew) to draw new footprints based on component datasheets or modify existing ones. Save them to a custom footprint library.
- Remember to add your custom libraries to the global or project library tables so KiCad can find them.
- Use the Symbol Editor (launched from KiCad Project Manager or Eeschema) to draw new symbols or modify existing ones. Save them to a custom library (create one via
- Atomic Parts: The ideal is often to have symbols pre-linked to specific, verified footprints. This ensures consistency and reduces errors during footprint assignment. Many users create custom libraries of fully defined “atomic parts” containing the symbol, the correct footprint link, and potentially other data like manufacturer part numbers.
9. The KiCad Workflow Summarized
- Project Setup: Create a new project in the KiCad Project Manager.
- Schematic Capture (Eeschema):
- Place symbols (
A
). - Place power ports (
P
). - Wire components (
W
) or use labels (L
). - Mark unconnected pins (
Q
). - Annotate designators (
Tools -> Annotate Schematic
). - Assign footprints (
Tools -> Assign Footprints
). - Run Electrical Rules Check (
ERC
) and fix errors/warnings (addPWR_FLAG
s if needed).
- Place symbols (
- PCB Layout (Pcbnew):
- Update PCB from schematic (
F8
in Eeschema/Pcbnew). - Define board outline (
Edge.Cuts
layer). - Set up Design Rules (
File -> Board Setup
), including Net Classes for different trace widths/clearances. - Place components (
M
,R
,F
) considering ratsnest and layout guidelines. - Route traces (
X
), changing layers with vias (V
) as needed. Use appropriate layers (F.Cu
,B.Cu
). - Add copper pours/zones (
Add Filled Zone
), connect them to nets (e.g.,GND
), and fill (B
). - Clean up silkscreen text (
F.SilkS
,B.SilkS
). - Run Design Rules Check (
DRC
) and fix all errors. Refill zones (B
) after making changes. - Review visually in 2D and using the 3D Viewer (
View -> 3D Viewer
).
- Update PCB from schematic (
- Manufacturing Output:
- Generate Gerber files (
File -> Plot
) for all necessary layers (Cu
,Mask
,Silk
,Paste
,Edge.Cuts
). Use Protel extensions. - Generate Excellon drill files (
Plot -> Generate Drill Files
). - Verify all generated files using GerbView.
- Generate Gerber files (
- Fabrication: Zip the contents of the output folder (all Gerber and drill files) and send it to your chosen PCB manufacturer.
10. Tips for Beginners
- Start Simple: Begin with a small project, like a blinking LED circuit or a simple power supply, to get familiar with the workflow without being overwhelmed.
- Use the Grid: Keep the grid enabled in both Eeschema and Pcbnew. Use appropriate grid sizes for placement and routing (e.g., a coarser grid for placement, finer for routing).
- Learn Keyboard Shortcuts: KiCad makes heavy use of shortcuts (
A
,W
,M
,R
,X
,V
,B
,F8
,E
,Q
,L
,Esc
). Learning them significantly speeds up the design process. Hovering over toolbar icons often reveals the shortcut. - Read Datasheets: Component datasheets contain crucial information about pinouts, electrical characteristics, and recommended footprint dimensions.
- Understand Manufacturer Capabilities: Before starting layout, check the design rules (minimum trace/space, drill sizes) of the PCB manufacturer you plan to use. Design according to their capabilities.
- Backup Regularly: Use version control (like Git) or make regular manual backups of your project folder.
- Use the Community Resources: The KiCad community forum (forum.kicad.info) is incredibly active and helpful. Don’t hesitate to search for answers or ask questions. There are also many tutorials and documentation resources available online.
- DRC and ERC are Your Friends: Don’t ignore errors reported by these tools. They catch potential problems that could lead to a non-functional board. Understand and fix them.
- Verify Outputs: Always check your Gerbers in GerbView before sending them out. A few minutes of checking can save weeks of waiting for faulty boards.
Conclusion
KiCad is a remarkably capable EDA suite that empowers users to design sophisticated electronic circuits and PCBs without the barrier of high software costs. While the learning curve involves understanding numerous concepts and tools, the fundamental workflow – schematic capture, footprint assignment, PCB layout, and output generation – is logical and achievable.
By mastering the essentials covered in this article – navigating the project manager, using Eeschema for schematic design, leveraging Pcbnew for physical layout, managing libraries, and correctly generating manufacturing files – you will be well-equipped to turn your electronic ideas into tangible reality. Like any skill, proficiency comes with practice. Start with simple projects, gradually tackle more complex designs, explore the advanced features as needed, and engage with the vibrant KiCad community. The world of custom PCB design is now accessible, and KiCad provides the tools to explore it. Happy designing!