One fits all connector symbol

You guys,

I had a brainwave. Sometimes I have more than 1 schematic sheet that contains something like a pin header or a screwterminal.. or something like a connector.

At times I want to ‘join’ or merge these separate connectors into one big one. For instance: I have sheets X, Y and Z. X and Y carry a double pole connector each. And Z contains a 4 pole equivalent.

So I need/want one single 8 pole connector. My current workaround to achieve this, is to create a sheet, XYZ, give it the 8P screw terminal and then use hierarchial sheet labels to connect the dots (connections).

If I do not want sheet XYZ, I would need to create a connector symbol carrying 3 separate units: An A, B and C with 2, 2 and 4 connections respecitvely.

You can imagine, if you do this for every possible combination, you will end up with infinite symbols.

I was thinking. To actually achieve this, you need to edit one single symbol. So I did. Here you see the A and C unit. And the B unit is 2P and is currently in a different sheet somewhere else.

Though it is somewhat actually workable, it is a little bit cumbersome to achieve. In this particular case I had to manually change some graphics of the 4 pole variant. I had to copy paste the 2P scew terminal, and merge the red squares. And you need to manually fix the pin numbers ofcourse.

What if, and bare with me, we get to have one whole generic “special“ symbol. Where I can do just this, but simpler. That you can modify really quick and really simpel. You just tell, how many units it has and how much connection each unit has. Than the graphics and pin count/numbering would be made for you, for that one single symbol.

I am thinking that the symbol would need to be generated on the spot. Atleast that is how I would implement it. But I am an embedded programmer so I know nothing :stuck_out_tongue:

Would this be something cool for in KiCad 10?

Kind regards,

Bas

The simplest is to just have a J601 and a J602 and then put them next to each other on the PCB. This is common with screw terminals which are “chainable”. There is also a feature request on gitlab for adding extra snap points so it makes it easier to “lock” such connectors together. Edit: But do consider your BOM.

Another simple solution is to make a “multi unit” symbol with just one pin, and then put them next to each other on the schematic, but this is graphically a bit less attractive.

Many of KiCad’s symbols and footprints are already generated by scripts. As a full FOSS program, these scripts are available on gitlab, but they are not distributed with a generic KiCad install. Modifying such a script to generate custom symbols is also doable. I once wrote a python script to generate a library of connectors with little squares that look a lot like the single and dual 2.54mm headers. It was mostly an exercise for learning python and I did it in a single afternoon.

The simplest is to just have a J601 and a J602 and then put them next to each other on the PCB. This is common with screw terminals which are “chainable”.

I do SMT assembly in about 90% of what I order today.

What you say, I have done several times. Also with SMT assembly. But it is cheaper if you have one single terminal instead 3. And this does not work with the 3.5mm sockets that I use today.

I think, if I make one screw terminal of 2 poles, give it a part number for the 8P equivalent and leave the other 2 screw terminals out of of the BOM my PCB fabricator will propably complain about mismatch of footprint and component.

Bas

I just did an experiment just to know how much work it is to create a custom connector, and I basically did the same as:

In more detail:

  1. Create new symbol in a writable library.
  2. Copy a 2p screw connector into it.
  3. Symbol Editor / File / Symbol Properties / General / Nnumber of units (Also uncheck the “All units are interchangeable” checkbox.
  4. In the gui, set the unit to another one.
  5. Copy a pin (and the “screw”) and paste it (or a bigger block to do more pins at once).
  6. Select the graphic rectangle and stretch it to the required size.
  7. Symbol Editor / Edit / Pin Table to modify the pin numbers.

Together it’s just a few minutes of work, thanks to the ease and capabilities of KiCad’s symbol editor. I don’t think it’s worth it to further automate this. Automation also has it’s own drawbacks. It needs extra work for different types of connectors (symbols) and it needs it’s own user interface.

Why would you do this? Don’t you think it is easier than to take some random connector symbol, and simply click ‘edit symbol’ in the properties menu? It will be a project specific thing. Does not have to end up in some library, right?

The rest of the steps is about the same as I did. Only step 7 I don’t follow. I just open the editor for the symbol. Select the amount of units, copy paste things, correct graphics and I alter the pin numbers right away when I am at it.

I now happen to have a need for this. I am close to finishing the schematic, from the current looks of it I am going to need 4x 5 pole connectors.

1). Putting the symbol in a (project specific) library is optional. It may be a habit of mine from the days that symbols were not fully cached in the schematic itself.

7). Try it out. The Pin Table is just another way to change pin numbers or other pin properties in bulk.

Some good ideas here already. Two more ideas from my point of view:

  1. I use the hierarchical method. By self-enforced convention, my top-level sheet is always my “user interface” sheet. All connectors, buttons, displays, buzzers, LEDs, etc., which a user of the PCB might interact with, are on the top level sheet. The schematic then becomes self-documenting - the first page is the interface, and you can delve into the detail of any signal by following the nets into subsheets. Thus, by convention, your “XYZ” sheet already exists.
  2. In my mind, the complexity of “the graphics and pin count/numbering would be made for you” is much too high compared to the effort of doing it manually. I can imagine every user and every symbol having a different set of preferences for how the graphics are split. But this is one of KiCad’s greatest strengths - if you have a certain use case you’d like automated, you can just go ahead and automate it! It needn’t complicate the product for others who don’t have that use case.

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