Skip to content

Shrouded, latched IDC headers

As I've threatened to do before, here are these IDC headers which are missing or outdated in our current library. The most recent threat was posted at https://github.com/pointhi/kicad-footprint-generator/issues/134. Footprint dimensional info is at https://docs.google.com/spreadsheets/d/16SsEcesNF15N3Lb4niX7dcUr-NY5_MFPQhobNuNppn4/edit#gid=0.

Here are the varieties:

  • Vertical no latch
  • Vertical no latch with mounting hole
  • Vertical latching in these latch flavors: 12mm, 9.5mm, 6.5mm, none
  • Vertical latching with mounting hole in these latch flavors: 12mm, 9.5mm, 6.5mm, none
  • Horizontal no latch
  • Horizontal latching (latches in open position aren't shown because it's assumed they're off board)
  • Horizontal latching with mounting holes

Here are images of 2x5, 2x13, and 2x32 footprints in all flavors (2x5 and 2x13 horizontal latching with mounting hole at the bottom): image image image image image

Some questions:

  1. Is the footprint name proper? Specifically the Latch section.
  2. Is the size and naming of the mounting hole versions as desired?
  3. Is the courtyard acceptable as a rectangle around the latches? Should the courtyard NOT include the latches since those do not touch the board and small parts can live on the PCB under the latches?
  4. Can/should these eventually replace the footprints at https://github.com/KiCad/kicad-footprints/tree/master/Connector_Multicomp.pretty? I think these are better versions with a newer script. What about https://github.com/KiCad/kicad-footprints/tree/master/Connector_IDC.pretty? I've replaced and expanded on the footprints here, and I never found a script for these. In some cases, the footprint names are identical to existing IDC footprints and those cases footprint is extremely similar and, I think, interchangeable for this generic footprint. I propose those two libraries have all footprints copied to an archive location whenever this is merged, not waiting for any KiCad release, and overwrite any conflicting footprints so that users can take advantage of the new footprints if the names match but they don't lose any existing footprints. Then near v6's release the old footprints are removed and only the archive copy remains so users of v6 will only have the new footprints with one naming convention.
  5. Are the pin 1 silk and fab marks good?
  6. Should the notch for polarization with the mating connector be a "U" shape instead of two lines all the way across the body on the horizontal one to better reflect the real part? For the latching horizontal, should I add a notch lines?
  7. Some of these footprints have mounting screws. I used the same size pad on all layers even though the screw head is only on one side of the board. Should the mounting screws have big pads next to the screw head but small pads on all other layers?
  8. The existing horizontal latching footprints have small mounting holes which are much smaller than screw heads. Mine are bigger and that prevents the user from putting traces under the screw head or adding some manual method to capture this area (could be a bigger pad or a keepout). Are smaller pads desirable for some reason I haven't thought of?
  9. Edit: This is only if the above is true. Should the horizontal latching footprints have the 4-sided diamond-like shape around the mounting holes? The existing IDC footprints have it but I didn't add it in my script since I didn't feel it had value.

Script PR: https://github.com/pointhi/kicad-footprint-generator/pull/387 After taking a look at https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/Connector_PinSocket, I decided to make my life easy and base this on https://github.com/pointhi/kicad-footprint-generator/tree/master/scripts/pin-headers_socket-strips (using functions in https://github.com/pointhi/kicad-footprint-generator/blob/master/scripts/tools/footprint_scripts_pin_headers.py). Once I got in there, though, I realized that this script was outdated. So maybe it was a mistake on my part and didn't make my life easy. I could use the newer script and figure it out if required.

Edit 14 May: Major code update and some items above removed or changed. Edit 17 May: Support non-latching vertical headers and suggested replacing the existing IDC footprints. Edit 20 May: Support horizontal no-latch headers and fix a footprint name clobbering issue. Edit2 20 May: Support latching horizontal connectors. Edit 21 May: Minor code cleanup and improvements.


All contributions to the kicad library must follow the KiCad library convention

Thanks for creating a pull request to contribute to the KiCad libraries! To speed up integration of your PR, please check the following items:

  • Provide a URL to a datasheet for the footprint(s) you are contributing
  • An example screenshot image is very helpful
  • If there are matching symbol or 3D model pull requests, provide link(s) as appropriate
  • Check the output of the Travis automated check scripts - fix any errors as required
  • Give a reason behind any intentional library convention rule violation.

Merge request reports