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.
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
- Use descriptive net names instead of auto-generated ones
- Add power flags to explicitly mark power inputs
- Organize hierarchical sheets by function
- Use global labels consistently for important signals
Working with complex designs
- Focus on specific sections using hierarchical labels
- Analyze one component type at a time
- Examine critical nets individually
- Use reference designators systematically
Troubleshooting
Netlist extraction fails
- Check that the file exists and has the
.kicad_schextension - Verify it is a valid KiCad 6+ format schematic
- Check file permissions
- Look for syntax errors from recent manual edits
- Try a simpler schematic to isolate the issue
Missing connections
- Check for disconnected wires -- wires that appear connected in KiCad might not actually be
- Verify junction points -- make sure junction dots are present where needed
- Check hierarchical connections -- ensure labels match across sheets
- Verify net labels -- labels must be correctly placed to establish connections