Issue creating standoff footprint with NPTH and Anaular Ring Pad

I am trying to create a footprint for a Würth Elektronik PCB standoff that will be grounded to a plane on the on the bottom of my PCB. It requires a NPTH, but has a copper annular pad only on one side. I was able to create this (both in a nightly and the current stable release) in the Footprint Editor, however the Footprint Editor does not allow adding a Pad Number to the annular ring when a NPTH is selected. Is there a known way to accomplish this?

I would note, when added to the PCB, the 3D and gerbers all look correct. I just cannot tie the copper annular pad to the GND net.


image
image

I hereby certify that I am not simply asking someone else to design a footprint for me.

This is an auto-generated message that is in place on the “footprints” section of the KiCad.info forum. If I remove it and ask for a footprint to be designed anyway, I understand that I will be subject to forum members telling me to go design my own footprint or referring me to a 3rd party footprint site.

So, for now I used the power of Kicad’s human readable files and tweaked the pad line from:

(pad "" np_thru_hole circle (at 0 0) (size 5.3 5.3) (drill 3) (layers *.Mask "F.Cu"))

And changed it to:
(pad "1" np_thru_hole circle (at 0 0) (size 5.3 5.3) (drill 3) (layers *.Mask "F.Cu"))

Which now connects the pad to the GND net. It also shows up in the Footprint Editor, but it still greyed. I’ll just have to make a note to remember this if the footprint is ever edited again.

Take a look at the mounting_wuerth library https://gitlab.com/kicad/libraries/kicad-footprints/-/tree/v5/Mounting_Wuerth.pretty


All the footprints in there are by the way scripted so if the one for your component is missing then maybe it is easier to add it to the script than to make them from scratch https://gitlab.com/kicad/libraries/kicad-footprint-generator/-/blob/master/scripts/Mounting_Hardware/wuerth_smt_spacer.py


Edit: I updated the link to the lib to point to the one for version 5

1 Like

Why make it so difficult for yourself?

I’m a simple guy and I do not really understand the obsession with NPTH that some people have. I just use plated holes for everything, because that is the default that all PCB manufacturers make these days. Some even charge extra for NPTH.

For KiCad, a pad number is mandatory for any pad to be able to be part of the netlist, and hacking in a pad number for a NPTH does not seem like a good idea. I assume it’s greyed-out for a reason.

A more logical way would be to use a standard THT pad and then just draw the pad on only one copper layer, but I’m not sure what that does with the plating. If you want to check that, the most reliable option would be in the Gerber or drill files, but it’s probably explained better in the link Rene posted.

@Rene_Poschl I wish I could give more hearts. I have been off on other things, and apparently it has been a while since I have synced the latest Kicad libs. Thanks for the link and to everyone who continues to expand the Kicad libraries!

The footpritns in the offiical lib use a custom pad with a graphical circle to make the ring with the clearance to the npth as asked for by wuerth. This also ensures manufacturers who use copper to drill overlap to decide what needs plating will not plate the hole.

In addition to that the footprint also contains paste as close to what wuerth asks for (wuerths suggestion has sharp corners and rounded sections which is not really possible in kicad plus sharp corners are a bad idea for paste release anyway so the rounded corners in the footprint are not as bad of a compromise as one might guess)

For ease of connection it also has additional pads around the main pad such that one can connect to the component on all 4 corners instead of just where the anchor pad of the complex pad is located.