One symbol with several part numbers?

Just tested Eeschema (5.99) for the first time in over ten years. Seems to have come a long way!

I’m used to creating one symbol with several names/values/part-numbers. Is there a way of doing that with Eschema without duplicating the symbol?

For example. I’d like one resistor symbol, but I’d like to be able to chose from all resistors currently in our product management system. All our components, down to every little resistor, has it’s own internal part number. We have over 300 resistors, but only 10 different symbols.

I guess the biggest disadvantage of duplicating the symbol hundreds of times is that it will be a headache if we want to make changes to the symbol. And I really want to be able to chose from all part-numbers in Eeschema, I do not want to insert a general symbol and manually assign a part number as component value.

I see a few different paths:

  1. Use aliases. Schematic symbols can have aliases, but it’s just another name for the same symbol and might be too limited.
  2. Wait for KiCad V7. It may get a fully integrated database system for parts management: What is the current plans for improved library management? (But it will take a few years to get there).
  3. Write a bit of script. As an exercise for experimenting a bit with python (a language I do not like much, but that’s another story) I once wrote a script to generate a library of schematic components for a bunch of different connectors, and got it to work in about an afternoon. It’s just a bit of text representing graphics. Adding some database coupling for simple things should not be very difficult. Updating and maintaining such scripts is also much easier then a bunch of hand drawn schematic symbols. But beware that KiCad V6 has a completely different schematic file format, and probably also for the schematic symbol libraries. There are tools to convert old libraries to V6 (coming soon) But I would not invest effort in writing scripts for KiCad V5 now.

Also:
(Big?) Parts of KiCad’s libraries are also already generated by scripts… Modifying those scripts to add your own data may be an option.

Thank you paulvdh!

With the help of your first solution I now understand how this works in Eeschema. It’s apparently no longer called “Aliases”, but instead “Derive from symbol”. This works great and is exactly what I need!

Using this function I can create a base symbol (i.e. a generic capacitor), and I can then derive all other basic capacitors from this symbol. Every capacitor derived from the base symbol can have their own footprint, description, datasheet, symbol name and new unique fields.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.