Multiple footprint assignment

Hi,
Recently while designing in one of my projects, I want to do these 2 things that I don’t know how to do it or whether kicad support such things.

  1. I made a custom footprint of Radxa CM3 module (Just like Raspberry Pi). The module’s footprint has 3x DF40C-100DS-0.4V(51) connectors. So, I wanted to import 3 connector footprints in my Radxa CM3 footprint library. As I couldn’t, I copied and pasted footprint pads and other layers from connector footprint to module’s footprint. I successfully made the Radxa CM3 footprint. But issue comes in software generated BOM. How can I include 4 BOM items (3x DF40C-100DS-0.4V(51) and 1x Radxa CM3) in a single footprint? And how can I generate position files for 3x connectors?
  2. I want to add 6P screw terminal. I made and placed footprint of single 6P 5mm pitch terminal. But terminals are available in only 2P and 3P configuration which can be stacked side by side and can be made any no. of pins (Example: DB129R). How can I add 2x DB129R 3pin in BOM while using single DB129R 6 pin footprint? If I use separate 3pin+3pin connector then I’ll get error of footprint overlap and both connector placement might not be perfect.

As far as I am aware . . .you need three connectors not one.

You can add symbols to your schematic and make them “Exclude from board” but keep them in your BOM . . . but then they won’t be in your position files, you can add footprints to your layout and mark them as “Not in schematic” and “Exclude from BOM” . . . but this all gets very messy.

Keep it simple, put in the schematic what is in the BOM . . . 3 connectors. If you want to make life simple create your own footprint and add features (perhaps in one of the user layers) to align the other two copies so you have an easy time laying them out.

Regarding the terminals . . . you can position footprints relative to each other so maintain correct positioning. If you are really worried about the overlapping courtyards or silkscreen . . . then create your own footprints and remove the parts of the courtyards/silk that overlap . . . then the warming will go away.

1 Like

It’s currently not possible to assign multiple footprints to one symbol. This feature is already requested on gitlab and you want to upvote it (if you need this more often): Support 1:N links between symbols and footprints/BOM items (meta-footprints) (#12521) · Issues · KiCad / KiCad Source Code / kicad · GitLab

Until someone takes on the work to implement that feature you will have to develop your own workflow that suits your needs.
examples:
for #2:

  • use 2pin/3pin symbols + footprints and just ignore the “footprint overlap” drc error.
  • Or better: modify the footprint so the footprints can be placed exactly side by side.
  • To get the terminal blocks exactly positioned:
    • place the first at the desired location.
    • Place the second exactly on top of the first
    • use the “move exactly” command to move the second terminal block 25.08mm (or 35.08mm) to the right/left

for #1:

  • use 3 symbols, every symbol representing one connector
  • in the connector footprints add some aligning shapes on user/silkscreen/fab layer. This allows to align all 3 footprints to get the correct position
  • after positioning is correct: select all 3 connector footprints and group them together. This prevents from unwanted misaligning during the following work on the pcb
  • for the CM3 module (to get it into the BOM) add a dummy symbol, which has no footprint assigned (or only some silkscreen/fab layer marking)
  • this works also for additional parts (mounting parts, washers, fuses, …)
2 Likes

mf_ibfeew is right, create a footprint for the CM3 module, where you can draw the outline of the module and make some reference points for the location of the module connectors in the silkscreen layer or in technical layers, you will have to place 3 connectors on the diagram, this will be better for the BOM file, in other design systems this issue is solved the same way, for example in Cadence

create precise seating positions for the terminal blocks with the number of pins you need, make an accurate contour in the courtyard layer for error-free installation, place them on the board with the required spacing between the terminal blocks, and the bom file will be in order and there will be no irregularities on the board.

I mostly agree with the previous posters. I have a design at hand with Pi CM which has two connectors. Each connector is one symbol and one footprint. Then there’s one extra footprint which has mounting holes and graphics for the CM outline and exact outlines of the connector footprints, plus the four outermost pads. The extra footprint has “Exclude from position files” attribute set, and also “Exempt from courtyard requirement”.

Here’s the outline for the connector in the extra footprint:

image

Here’s part of the extra footprint and one of the connectors placed on it, according to pad marks and outlines (the connector fab outline coincides with the graphics in the extra footprint).

IMO having the location marks in the extra footprint is better than positioning the connector footprints by calculating or some other way. Do the math and draw once for that one footprint, then just lay the connectors later in their places visually using those marks. Then, of course, group all footprints together.

This way everything works automatically. For the physical design you actually have several parts, not one. Don’t let the puristic idea of having one symbol for the CM disturb the practical considerations. This isn’t any more complex than having several different modules, each having one connector, except that you have one more footprint for graphics (and mounting holes). You know that the module itself is one component but the design doesn’t care about that. You have three connectors, three symbols, three footprints for them, three BOM items, three parts in the position file.

As for the BOM line for the CM module itself – just add a symbol (only graphical representation, no pins) for it in the schematic and set it to own the extra footprint.

2 Likes