Notion of "part" in KiCad

I’d like to hear community’s opinion about introducing the notion of “part” in KiCad.

At the moment pinmapping data is stored in symbol (pinmapping being the relation between symbol logical pin name and footprint physical pad number). Many ECAD tools keep pinmapping in a separate entity (let’s call it “part”) that makes it way easier to combine symbols and footprint into a new part.

The idea is as follows:

  • Symbols define only logical pin names (but no pinmapping)
  • Footprints define only physical pad numbers (as it is now)
  • Parts define mapping between symbol logical pin names and footprint physical pad numbers. Gate swap and pin swap can also be defined here

That would allow things like using one symbol “res” for both single and and array resistor pack etc.

1 Like

This is the sort of thing I always imagined in a separate (and complex) software ecosystem for KiCad parts and BOM management. Let the specialized parts manager deal with pin mapping etc and just present KiCad with the libraries etc for consumption by eeschema and pcbnew. The whole scheme needs a lot of thought and design work and I’d imagine at least a year of full-time programming to get done in a decent way. Pin swap/gate swap on the other hand is a feature which can (and should) be added to eeschema. At the moment there are quite a number of tools created by kicad users which other users find of varying usefulness depending on how close their own workflow matches that of the authors’, and all the while so many keep complaining “there’s nothing useful for me” (and some write yet another tool). So if only someone has the time to design something really useful then we’d have more happy users - but the problem is big enough that I believe it should be a separate project (but who knows - maybe integrated in a number of years).

1 Like