Footprint, 2 pins with the same number

Hello!

I’m making a USB-C footprint right now. It’s supposed to be a SMD device, but there are some small through holes that reflect each pin. So I think it would be good to give the same number to corresponding pins and pads, so that it forbids to assign a pin and its corresponding pad to different nets.
Is this possible? Are there drawbacks? The attached image shows what I did.

Thanks!

Pascal

Pin stacking is used all the time. Look at some of the 4 pin SPST switches.

Duplicating pads in a footprint is not pin stacking :wink: Pin stacking is a symbol trick to have one connection point connect to multiple differently numbered footprint pads. This trick is named this way because one really stacks pins on top of each other with all but one pin set to invisible. Pin stacking is therefore the workaround for the missing feature of being able to assigning multiple pads to a single symbol pin.


We don’t really have a name for multiple footprint pads with the same number but it will still work. And yes the 4 pad switches are an example of this technique.

1 Like

Maybe one should be coined? Replicated pin^wpad numbers?

The drawback is that you have to connect with traces all the pads with the same number, whether the component/application would need it or not. Otherwise the DRC will complain.

In your example pads 5 and 8 seem to be a bit difficult because they must be routed around other pads. All the others should be easy.

I really like this “You can have multiple pads with the same number” ability since so many parts have multiple ground connections, such as chips where the entire bottom is a ground and you want the footprint to have all the small bias in it or connectors like the USB ones.
Thanks for the pad stacking description, that will let me bring back a footprint scheme I’ve used in the past- the ability to create a “06030805” footprint that can take either part. Yes, you can make a shape for a pad, but, easier to put two rectangular pads down. I’ll have to play with that…

I agree with this:

If you are fine with that (or can shuffle the THT holes a bit if they aren’t defined by the part you have on hand), you might want to think about making 13, 14, 15, and 16 the same pin number. It doesn’t even need to be numeric. You could number them all “SH” for shield. You could make them all pin zero “0”. You could make them the next number up, in this case all pin “13”. Just be sure on your symbol that you have a pin of the same “number” to indicate the metal shield connections, and on the schematic decide if you should ground or isolate (no connect) them.

Hello!
I just checked with my multumeter’s buzzer, and the pins don’t seem to be connected, so I suppose there is on SMD row for one face, and the through hole row for the other face of the connector. Just in case somebody has the same issue… So one row’s “1” is likely to be the other row’s “12”…
Sorry for the mess. But at least I learned a few things from this discussion.
By the way, is it possible to name the pis A1 … A12 like on the connector drawing (and of coursq B1 … B12)? If I assign this footprit to a symbol, will Kicad understand what I want to do? Or maybe I will have to use the same numbers in the symbol as well (just a guess)…

Thanks,

Pascal

At first glance I don’t see how Kicad could match up the pin numbers/IDs in the schematic and the pad numbers/IDs in the footprint if they are not the same. But that doesn’t stop you from displaying some other text on the silkscreen.

Ah, I had misread your OP and thought you were adding the through-holes to make your footprint more flexible. I didn’t catch that the actual part is half SMT and half THT. You should look up the USB-C spec to see which pins (An vs Bn) may be shorted together on your board, and which ones should be handled separately.

There is no problem at all with this, and it would increase self documentation.

You will have to use the same “number” (in quotes because it is alphanumeric) on the symbol’s pins. That is how KiCad links symbol pins to footprint pins, by the number. This is also, BTW, is how grid-array IC packages (BGA, PGA, etc) are numbered, A1-An, B1-Bn, C1-Cn, etc.

Also, please provide a link to the datasheet for this specific connector. Every manufacturer seems to make their connectors slightly differently so w/o the datasheet any advice we give are just guesses.

Hello!

Thanks for your reply!
In the meantime, I tried and it works fine. Numbers like Axx on the pins don’t matter. As soon as the same name exist in a footprint.

Pascal

Hello Rene!

About pin stacking, I am trying to make a symbol for this component. See picture.
Ideally, I would like the symbol to look like what it is, a P channel FET. I have already made it as an 8 pin device with the symbol of the FET inside, but for instance if I use a plain FET symbol (GDS) is there a way to fit it nicely with that kind of package? As S goes to 1, 2, 3, D to 5, 6, 7, 8 and G to 4, I could decide that G, D, S = 1, 2, 3 in the symbol, and then for the package which is anyway not a standard package, I could put pad numbers as follows:
1 -> currently 4 (G)
2 -> 5, 6, 7, 8 (D)
3 -> 1, 2, 3 (S).

Is this the best way to do it? Is this pin stacking?

FET

Thanks,

Pascal

Take a look at the IRF7404 in the official kicad library (v5.1.6) the stack the pins exactly as you want them for a P-MOSFET, if not for anything else, it can serve for inspiration for what you want to do.

1 Like

I understand ‘pin stacking’ as placing (at schematic symbol) many pins (with differenet numbers) one over another to make them being connected.
What you are planning to do (as I understood) would be using in footprint many pads with the same number.

1 Like

Hello!

Ok, so with pin stacking, I could probably not name the pins 1, 2, 3 of G, D, S, so it’s better to stay as I did and have 1, 2, 2, 2, 2, 3, 3, 3 in the footprint. Anyway this footprint doesn’t seem to be usable for any other IC, so it’s not a problem to have a special footprint for this particular transistor.

Thanks,

Pascal

You have three options here.
Option 1 the simple way out: have the footprint with pad numbers 1 to 8 as normal and a symbol that just shows all of them next to each other.

Option 2 have the footprint with pad numbers G, D and S (why use numbers if you already make a special footprint) and a symbol with the same pin numbers (will of course result in a fully atomic setup where one symbol is for exactly one footprint and vice versa).

Option 3 have the footprint with pad numbers 1 to 8 again and also have all pins in the symbol but instead of placing them next to each other place them on top of each other with some of them being made invisible (this is pin stacking).

I think you still don’t understand, or I don’t understand you.
If you will have 1,2,2,2,2,3,3,3 in the footprint you will not need pin stacking as you need (at schematic) only one pin number for each G,D,S.

1 Like

Hello Rene!

Ok, I think I will choose option 3 and change a little bit this footprint, although the odds of having another device with the same footprint and different numbers seems very unlikely to me.

Thanks!

Pascal

Hello!

It’s not a matter of understanding but a matter of definition. There is nothing complicated that needs understanding here, but rather another way of doing the same thing. Eagle prevented to use the same pin name twice (I remember I had to call GND pins GND1, GND2 …), and probably also the same pin number. Here we have some flexibility, and the funny thing about flexibility is that it needs more “rules” or at least hints, to avoid doing things the wrong way as I was about to do.

Pascal

In the old EDA software I used long ago, you could not use the same pin number twice in a schematic symbol. This was very annoying if you had to swap the numbers of 2 pins. To do this you first had to renumber one of the pins to a “non existing” number, then rename the other pin, and finally rename the “non exiting number” back to the number of the other pin.

Luckily none of this nonsense is needed in KiCad :slight_smile: