I've been having trouble understanding the vocabulary and relationships between parts of KiCad.
What are these and how do they interact resulting in design files ready for manufacturing?
Or, using KiCad to go from "screen to stuff"
Frequently used KiCad words.
- schematic
- an diagram of an abstract circuit.
- a circuit diagram
- stored by eeschema in a .sch file
- contains symbols?
- contains or makes use of a net or netlist?
- makes use of components? component libraries?
- never makes use of a module or footprint?
- module
- possibly an alias for a footprint
- I often see descriptions such as "add a module to KiCad"
- Libraries of modules are stored in .mod files
- component
- possibly an alias for symbol
- I often see descriptions such as "add a component to KiCad"
- Components have pins which in turn have names
- Libraries of components are stored in .lib files
- net
- net name
- netlist
- symbol
- possibly an alias for component
- library
- I often see descriptions such as "add a library to KiCad"
- A library that contains "components" is stored in a .lib file
- A library that contains "modules" (aka footprints) is stored in a .mod file
- footprint
- possibly an alias for a module
- a footprint has pads
- pads have netnames
- project
- port, power port
- pin
- an attribute of a component
- pins have a name
- pad
- footprints have pads, pads have names
- Legend
- text block in the lower right of a "page" on a schematic (eeschema) or PCB (pcbnew)
- Design Rule, Design Rule Check(ing)
- Component Library Editor
- does this edit libraries or components?
- Module Editor
- edit footprints?
- libraries of footprints?
Files used or generated by KiCad.
- .sch
- possibly created with eeSchema
- .pro
- .svg
- .pro
- defines connections between a the various files that make up a "project"
- .kicad_pcb
- .brd
- .net
- contains,among other things, a "netlist"
These must correspond to some of the common KiCad words and to each other.
Software Executables
Here's what I find under Linux and what I think their inputs and outputs are:
- /usr/local/bin/pcbnew (10.6 MB)
- /usr/local/bin/bitmap2component (1.6 MB)
- /usr/local/bin/eeschema (4.8 MB)
- /usr/local/bin/gerbview (2.0 MB)
- /usr/local/bin/cvpcb (5.8 MB)
- /usr/local/bin/pcb_calculator (1.6 MB)
- A calculator, may not read or write files
- /usr/local/bin/kicad (1.1 MB)
- Seems to be a "launcher for the others"
KiCad workflow.
What to run, in sequence, creating which intermediate results to go from idea to PCB ?
component = a symbol of a part in the schematic viewer
footprint = Module = a physical part (eg. chip) in the PCB layout editor
netlist = basically a file (*.net) that lists all connections from each component's pin to another one. Used to connect schematic and board together plus a component/footprint association file (*.cmp)