Ryan Malloy 7e8d65bc13
Some checks are pending
CI / Lint and Format (push) Waiting to run
CI / Test Python 3.11 on macos-latest (push) Waiting to run
CI / Test Python 3.12 on macos-latest (push) Waiting to run
CI / Test Python 3.13 on macos-latest (push) Waiting to run
CI / Test Python 3.10 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.11 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.12 on ubuntu-latest (push) Waiting to run
CI / Test Python 3.13 on ubuntu-latest (push) Waiting to run
CI / Security Scan (push) Waiting to run
CI / Build Package (push) Blocked by required conditions
Add Starlight docs site with full content migration
Astro + Starlight docs site at docs-site/ with 18 pages organized
by diataxis: getting-started (intro, install, config), guides
(9 how-to guides), reference (tools, batch, env vars), development
(architecture, adding tools, troubleshooting).

Includes Docker infrastructure following warehacking cookie-cutter
pattern: multi-stage Dockerfile (Node builder -> Caddy prod / Node
dev), docker-compose with caddy-docker-proxy labels, Makefile.

Content migrated from docs/ markdown guides with Starlight frontmatter,
cross-links updated, and full-text search via Pagefind.
2026-03-09 01:19:45 -06:00

4.8 KiB

title description
Netlist Import Extract and import netlist data from KiCad schematics

The netlist tools let you extract connectivity information from KiCad schematics, analyze component connections, and import netlists from external formats into mckicad's batch JSON for schematic generation.

Quick reference

Task Example prompt
Extract netlist Extract the netlist from my schematic at /path/to/project.kicad_sch
Analyze project netlist Analyze the netlist in my KiCad project at /path/to/project.kicad_pro
Check component connections Show me the connections for R5 in my schematic
Import external netlist Import the netlist at /path/to/design.net into batch JSON
Export netlist Export a netlist from my schematic

Extracting netlists

To extract a netlist from a schematic:

Extract the netlist from my schematic at /path/to/project.kicad_sch

This parses the schematic, extracts all components and their properties, identifies connections between components, analyzes power and signal nets, and returns comprehensive netlist information.

For project-based extraction:

Extract the netlist for my KiCad project at /path/to/project.kicad_pro

This finds the schematic associated with the project and extracts its netlist.

Understanding netlist data

Components

Field Description Example
Reference Component reference designator R1, C2, U3
Type (lib_id) Component type from library Device:R, Device:C
Value Component value 10k, 100n, ATmega328P
Footprint PCB footprint Resistor_SMD:R_0805
Pins Pin numbers and names 1 (VCC), 2 (GND)

Nets

Field Description Example
Name Net name VCC, GND, NET1
Pins Connected pins R1.1, C1.1, U1.5
Type Power or signal Power, Signal

Analyzing component connections

To find all connections for a specific component:

Show me the connections for U1 in my schematic at /path/to/project.kicad_sch

Returns detailed component information, all pins and their connections, connected components on each pin, and net names.

Importing external netlists

The import_netlist tool converts external netlist formats into mckicad batch JSON:

Import the netlist at /path/to/design.net into batch JSON

Supported formats:

  • KiCad S-expression (kicadsexpr) -- the native KiCad netlist format
  • OrcadPCB2 -- OrCAD PCB Editor netlist format
  • Cadence Allegro -- Cadence Allegro netlist format
  • auto -- auto-detect format from file contents

The output is a batch JSON file compatible with apply_batch, ready to generate a schematic from the imported netlist.

Exporting netlists

To export a netlist from a schematic using kicad-cli:

Export a netlist from my schematic at /path/to/project.kicad_sch

The export_netlist tool runs kicad-cli sch export netlist and supports multiple output formats.

Integration with other tools

BOM comparison

Combine netlist extraction with BOM analysis:

Compare the netlist and BOM for my project at /path/to/project.kicad_pro

Helps identify components present in the schematic but missing from the BOM, or vice versa.

Design validation

Use netlist extraction for validation:

Check for floating inputs in my schematic at /path/to/project.kicad_sch
Verify power connections for all ICs in my project

Power analysis

Analyze power distribution:

Show me all power nets in my schematic
List all components connected to the VCC net in my project

Tips for better netlist analysis

Schematic organization

  1. Use descriptive net names instead of auto-generated ones
  2. Add power flags to explicitly mark power inputs
  3. Organize hierarchical sheets by function
  4. Use global labels consistently for important signals

Working with complex designs

  1. Focus on specific sections using hierarchical labels
  2. Analyze one component type at a time
  3. Examine critical nets individually
  4. Use reference designators systematically

Troubleshooting

Netlist extraction fails

  1. Check that the file exists and has the .kicad_sch extension
  2. Verify it is a valid KiCad 6+ format schematic
  3. Check file permissions
  4. Look for syntax errors from recent manual edits
  5. Try a simpler schematic to isolate the issue

Missing connections

  1. Check for disconnected wires -- wires that appear connected in KiCad might not actually be
  2. Verify junction points -- make sure junction dots are present where needed
  3. Check hierarchical connections -- ensure labels match across sheets
  4. Verify net labels -- labels must be correctly placed to establish connections