I am designing a PCB containing the UCM-iMX8M-Plus system on module. This module connects to the PCB using two DF40HC(3.0)-100DS-0.4V(51) connectors.

I would like to create a symbol and a footprint for the SoM in Kicad 7. This footrpint should contain both headers s.t. I can be sure they are placed correctly relative to each other. However, as I plan to let the manufacturer assemble my PCB, I'd like to keep the connectors in the BoM associated to two different footprints (e.g. J1 and J2).

Is there a way how I can create such a footprint in Kicad 7?

  • 2
    \$\begingroup\$ There is not, and there's currently an open feature request on the KiCad bug tracker for that. I think they plan to add it, but it's not there now. \$\endgroup\$
    – Hearth
    Commented Nov 5, 2023 at 20:45
  • \$\begingroup\$ What is that abbreviation s.t.? \$\endgroup\$
    – MiNiMe
    Commented Nov 5, 2023 at 20:58
  • \$\begingroup\$ KiCad has both a symbol editor and a footprint editor (under the Tools menu of Schematic and PCB). The links you provide have additional links to the drawings of the module and the recommended layout pattern for the DF40HC type connectors. So what is the problem? \$\endgroup\$
    – Nedd
    Commented Nov 5, 2023 at 23:16
  • 1
    \$\begingroup\$ @MiNiMe guess: "so that" / "such that" \$\endgroup\$ Commented Nov 6, 2023 at 2:07
  • 1
    \$\begingroup\$ That's a question for the KiCad forum forum.kicad.info \$\endgroup\$
    – S_G
    Commented Nov 6, 2023 at 6:28

1 Answer 1


Creating a Schematic symbol for the SoM should be easy, just create a symbol with 200 pins. Pin numbering could be 1-200, or use a format such as A1 to A100 then B1 to B100. Pin numbering on the newer KiCad versions is quite open as long as you keep them unique and don't use spaces.

The PCB footprint will be a little tricky.
This is how I would do it:

Open the Footprint Editor and load one of the 100 pin HiRose connectors.
Next draw the outline of the full size module.
If the connectors will be on the bottom side of the module flip the first connector to the bottom side now (using the "Change Side/Flip" option)".
Position the first 100 pin connector as needed.
You may need to recenter the module to get the 0,0 coordinate at the center of the module, or on one of the connectors, or anywhere else you feel it should be.
You could put down some extra lines and dimensions using the User.Drawing layer, this can help align things.
To create the second connector copy/paste the complete first connector pattern and reposition that as needed.
Rename all 200 pins on both connectors, (you might try using the "Renumber Pads" option for this). Be sure the numbering convention matches that used on the Schematic symbol.
In FootPrint Properties create a new Footprint name, Description, and Keywords.
Adjust other parameters, courtyard keepouts, silkscreen text, etc, as needed.
Create a new library to hold the new Footprint. (You could also save the module locally.)
Use "Save As..." to save the new footprint to the new library.

To get the two connectors (of the module) listed in the main BOM one method would be to place two extra connectors on the main Schematic design but set all pins to NC (so as not to get any errors on the design rule check). There still may be an issue with that. On the main PCB you will still need to include the mating connectors to accept the module.

There might be an extra step or so that I skipped over, but this is what I did in a very short time. Be sure to save the part often during development to be sure not to lose anything. You can even create two or more similar parts then edit one or the other if you find problems later on. It is always good to have a backup just in case.

Below is what I created using two similar HiRose connectors (80 pins) to create a module footprint.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.