week6 KiCAD
In order to make sure I was going to remember all the things I learned in KiCAD and make myself a guide for later, and for others, I used COPilot to help me make a document.
PROMPT: make me a markdown doc about KiCAD that explains, - where did you define the width of the traces? Explain the DRC and ERC
-
explain how to add components , how to add wires between components.
-
explain how to export your design in Kicad.
Copilot then took me to a new module named Tasks.. The below is a mixture of what Copilot provided and my edits.
What's covered in the guide:
| Section | Key Topics |
|---|---|
| Trace Widths | Net classes, pre-defined sizes, width selection priority, minimum constraints |
| DRC | What it checks, running it in the editor, customizing severity |
| ERC | Pin conflicts, PWR_FLAG fix, off-grid warnings |
| Adding Components | Symbol chooser (A), editing properties, footprint assignment, power symbols |
| Adding Wires | Wire drawing (W), net labels, no-connect flags |
| Exporting | Gerber, Drill, BOM |
Table of Contents¶
- Defining Trace Widths
- Design Rule Check (DRC)
- Electrical Rules Check (ERC)
- Adding Components in the Schematic Editor
- Adding Wires in the Schematic Editor
- Exporting a KiCad Design
1. Defining Trace Widths¶
Trace widths in KiCad are controlled through two complementary mechanisms: net classes and pre-defined sizes. Both are configured inside the Board Setup dialog.
NOTE: In my original board, I forgot to use NetClasses and my traces were too small to mill. So in week*. I revised them to be bigger 0.5. I used the select tool (and selected all) and the filter (only checking the box for traces) to select all the traces. and when I am milling at home.. I have too much runout on my machine, so I do 0.9
1.1 Net Classes¶
Net classes let you assign default track widths and clearances to groups of nets. For example, you might create a Power class with wider traces and a Signal class with thinner ones.
Path: File → Board Setup → Design Rules → Net Classes
| Net Class | Track Width | Clearance | Typical Use |
|---|---|---|---|
| Default | 0.25 mm | 0.20 mm | General signals |
| Power | 0.50 mm | 0.25 mm | VCC, GND, high-current |
When routing, the PCB Editor automatically applies the width defined by the net's class unless you override it manually.
NOTE: know your machine.. to know what you can mill. Then use the pre-defiined below to set that number into the traces.
1.2 Pre-defined Track Sizes¶
You can also create a list of track widths available during routing, selectable via a dropdown or the W / Shift+W hotkeys.
Path: File → Board Setup → Design Rules → Pre-defined Sizes
Here you can add specific widths (and via sizes) that appear in the Track Width dropdown on the top toolbar during routing.
| Width (mm) | Suggested Use Case |
|---|---|
| 0.15 | Fine-pitch or dense routing |
| 0.20 | Standard signal traces |
| 0.30 | Short power or ground traces |
| 0.40 | High-current power traces |
1.3 How Width Is Selected During Routing¶
The track width is determined by the following priority:
- Existing track continuation — if the start point is the end of an existing track and the "match width" button is enabled, the existing width is used.
- Net class width — if the dropdown is set to "use netclass width," the width comes from the net class (or any custom design rules).
- Pre-defined size — if a specific pre-defined width is selected in the dropdown, that width is used.
1.4 Setting Minimum Constraints¶
To prevent traces from going below a manufacturable threshold:
Path: File → Board Setup → Design Rules → Constraints
Minimum track width: 0.10 mm (typical for 1 oz copper)
Minimum clearance: 0.10 mm
Minimum annular ring: 0.10 mm
These values act as hard minimums that DRC will enforce, regardless of the widths set in net classes or pre-defined sizes.
2. Design Rule Check (DRC)¶
The Design Rule Check validates your PCB layout against the design rules you've configured. It catches physical manufacturing problems before you send files to a fab house or try to mill it yourself like we do in Fab Academy.
2.1 What DRC Checks¶
- Clearance violations — traces, pads, or zones too close to each other
- Minimum track width violations — traces narrower than the allowed minimum
- Via size violations — via diameter or drill size out of range
- Unconnected nets — ratsnest connections that haven't been routed
- Hole-to-hole spacing — drill holes too close together
- Copper-to-edge clearance — copper features too close to the board edge
- Silkscreen issues — text too small or overlapping pads
- Zone fill errors — outdated or incorrect copper pours
2.2 Running DRC in the PCB Editor¶
- Open the PCB Editor.
- Navigate to
Inspect → Design Rules Checker(or click the DRC icon on the top toolbar). - Click Run DRC.
- Review the results in the Violations, Unconnected Items, and Warnings tabs.
- Click any violation to jump to its location on the board.
- Fix the issue, then re-run DRC until the board is clean.
Tip: Always run DRC before generating Gerber files to catch problems early.
2.4 Customizing DRC Severity¶
Under File → Board Setup → Design Rules → Violation Severity, you can change specific checks from Error to Warning or Ignore depending on your design intent.
Note: after the DRC, you can go along and fix each of the errors or decide that you will ignore them (i.e. if you have a pad that you want to remain empty for some reason).
3. Electrical Rules Check (ERC)¶
The Electrical Rules Check validates your schematic for logical and electrical errors. It runs in the Schematic Editor — separate from DRC, which operates on the PCB layout.
3.1 What ERC Checks¶
- Unconnected pins — symbol pins that aren't connected to any net
- Pin conflict errors — incompatible pin types connected together (e.g., two outputs driving the same net)
- Missing power drivers — power pins not driven by an output power pin (often fixed by adding a
PWR_FLAGsymbol) - Off-grid pins/wires — connections that don't land on the schematic grid
- Duplicate references — two components sharing the same reference designator
- Symbol/library mismatch — a placed symbol that differs from its library version
- Missing footprints — symbols without an assigned footprint
3.2 Running ERC in the Schematic Editor¶
- Open the Schematic Editor.
- Navigate to
Inspect → Electrical Rules Checker. - Click Run ERC.
- Review the violations list — click any item to jump to the problem location.
- Fix the issue and re-run.
3.3 Common ERC Fix: PWR_FLAG¶
A frequent ERC warning is:
Pin not driven by any output power pin
This typically appears on power rails (VCC, GND) that are only connected to input power pins. The fix is to place a PWR_FLAG symbol on the net:
- Press
Ato open Add Symbol. - Search for
PWR_FLAG. - Place it on the power net (e.g., connected to the VCC or GND wire).
This tells ERC that the net is intentionally driven.
4. Adding Components in the Schematic Editor¶
Components in KiCad schematics are called symbols. Each symbol represents a part (resistor, capacitor, microcontroller, etc.) and is stored in a symbol library.
4.1 Opening the Symbol Chooser¶
| Method | Action |
|---|---|
| Hotkey | Press A |
| Menu | Place → Add Symbol |
| Right-click | Right-click the canvas → Add Symbol |
4.2 Finding and Placing a Symbol¶
- The Choose Symbol dialog opens with a search bar.
- Type the component name or value (e.g.,
Rfor resistor,Cfor capacitor,LED). - Browse the filtered results — the preview pane shows the symbol and its pins.
- Select the symbol and click OK (or double-click it).
- Click on the schematic canvas to place the symbol.
- Press
Escto stop placing additional copies.
NOTE: for fab academy we try to use the things in teh fab library which we brought in.
4.3 Editing Symbol Properties¶
After placing a symbol, double-click it (or press E) to edit its properties:
- Reference — the designator (R1, C3, U1, etc.)
- Value — component value (10kΩ, 100nF, ATmega328P)
- Footprint — the physical PCB footprint for this component
4.4 Assigning Footprints¶
Footprints can be assigned in three ways:
- In Symbol Properties — double-click the symbol, then click the Footprint field and browse the library.
- While Placing — some symbols have a default footprint already assigned.
- Footprint Assignment Tool —
Tools → Assign Footprintsopens a bulk assignment view where you can assign footprints to all symbols at once.
4.5 Adding Power Symbols¶
Power symbols (VCC, GND, +3V3, +5V, etc.) are placed with:
| Method | Action |
|---|---|
| Hotkey | Press P |
| Menu | Place → Add Power Port |
These are special global symbols that automatically create named power nets.
4.6 Managing Symbol Libraries¶
Path: Preferences → Manage Symbol Libraries
Here you can:
- Add custom or third-party libraries (
.kicad_symfiles) - Reorder library search priority
- Set library paths using environment variables like
${KICAD_SYMBOL_DIR}
5. Adding Wires in the Schematic Editor¶
Wires create the electrical connections between symbol pins on the schematic.
5.1 Drawing Wires¶
| Method | Action |
|---|---|
| Hotkey | Press W |
| Menu | Place → Wire |
- Press
Wto enter wire-drawing mode. - Click on a symbol pin to start the wire.
- Click intermediate points to create bends.
- Click on another pin or wire endpoint to finish the connection.
- Press
Escto exit wire mode.
5.2 Wire Drawing Tips¶
- Snap to grid: Wires snap to the schematic grid. Ensure pins are on-grid to avoid ERC "off-grid" warnings.
- Auto-finish: If you click directly on another pin, KiCad automatically finishes the wire.
- Bend corners: KiCad routes wires with 90° bends by default. Press
/while drawing to toggle between horizontal-first and vertical-first routing.
5.3 Using Labels Instead of Wires¶
For connections that span long distances or across pages, use net labels instead of drawing a long wire:
| Method | Action |
|---|---|
| Hotkey | Press L |
| Menu | Place → Net Label |
Labels with the same name are electrically connected, even if they are on different parts of the schematic or on different sheets in a hierarchical design.
Note Collin Kanofsky likes to do this and showed me how in a later week. Very useful when things get messy.
5.4 No-Connect Flags¶
If a pin is intentionally unused, place a no-connect flag to suppress ERC warnings:
| Method | Action |
|---|---|
| Hotkey | Press Q |
| Menu | Place → No Connect Flag |
Click directly on the unconnected pin to mark it.
6. Exporting a KiCad Design¶
Once your schematic and PCB layout are complete (and DRC/ERC are clean), you export manufacturing files to send to GerbertoPNG + MODS, or Easytrace or Candle - whatever you are using to mill the board.
6.1 Exporting Gerber Files¶
Gerber files (RS-274X format) describe each physical layer of the PCB.
Steps:
- Open the PCB Editor.
- Fill all zones:
Edit → Fill All Zones(or pressB). - Navigate to
File → Plot(orFile → Fabrication Outputs → Gerbers (.gbr)). - Select the layers to export.
- Configure settings and click Plot.
**Typical layers for my boards were
| Layer | Description |
|---|---|
F.Cu |
Front copper |
Edge.Cuts |
Board outline |
Recommended settings:
Plot format: Gerber
Use Protel filename extensions: ✔
Use extended X2 format: ✔
Include netlist attributes: ✔
Check zone fills before plotting: ✔
6.2 Exporting Drill Files¶
Drill files (Excellon format) tell the machine where to drill holes.
- In the Plot window, click Generate Drill Files… (bottom-right corner).
- Configure settings:
Drill file format: Excellon
Drill units: Millimeters
Zeros format: Decimal format
Map file format: PostScript (optional)
- Click Generate Drill File.
6.3 Exporting the Bill of Materials (BOM)¶
The BOM lists every component in your design.
- Open the Schematic Editor.
- Navigate to
Tools → Generate BOM. - Select the export format (CSV or Excel).
- Click Generate.
A typical BOM includes:
| Field | Example |
|---|---|
| Reference | R1, R2 |
| Value | 10kΩ |
| Footprint | 0805 |
| Manufacturer PN | RC0805FR-0710KL |
| Quantity | 2 |
Quick Reference: Essential Hotkeys¶
Schematic Editor¶
| Hotkey | Action |
|---|---|
A |
Add Symbol |
P |
Add Power Port |
W |
Draw Wire |
L |
Place Net Label |
B |
Draw Bus |
Q |
Place No-Connect Flag |
E |
Edit Symbol Properties |
R |
Rotate Symbol |
X / Y |
Mirror Symbol |
Ctrl+D |
Duplicate |
Del |
Delete Selected |
PCB Editor¶
| Hotkey | Action |
|---|---|
X |
Route Single Track |
W |
Cycle Track Width Up |
Shift+W |
Cycle Track Width Down |
V |
Add Via (while routing) |
B |
Fill All Zones |
D |
Start Interactive Router |
E |
Edit Properties |
Del |
Delete Selected |
Additional Resources¶
- Official KiCad Documentation: https://docs.kicad.org
- KiCad Community Forum: https://forum.kicad.info
- KiCad GitHub Repository: https://github.com/KiCad
Guide generated for KiCad 8.x / 9.x. Menu paths and hotkeys may vary slightly between versions.
Everything is grounded in the current KiCad 8/9 menu paths and hotkeys
Sources Used:
- KiCad.info Forums
-Sierra Circuits
- flashpcb.com
- blog.mark-stevens.co.uk
- pcbsync.com
- PCBWay
- JLCPCB.