Multiples Footprints in one

Hi, is there a way of having multiples Footprints in one?

I would like to create a board that connects to another board that has 2 headers. This 2 headers are in a specific position from each other.

For instance, I am creating this board to connect the Arduino Uno that has 2 spaced headers.

I would like to have a footprint for that. So I can reuse and place it where I want.

The idea is to have a single symbol (let’s say Arduino-uno-hat). Then a single footprint (with both female sockets and also the 3d parts of them) and then I also want to have a both female headers appearing in the BOM.

How do I achieve something like that with Kicad? Is it possible?

I was creating a single footprint with both female sockets footprints and also with it’s 3d files… to have them placed in the BOM I was adding the symbols of each female socket to the schematic and then excluding them from the board. This was fine but the I don’t have the information to place the footprints in the exported files.

Not sure if I understand you correctly, but I think you can achieve it by using templates.
Have a look at existing templates for Arduino and Raspberry Pi HATs, etc).
You can set a PCB outline, position of the connectors. etc.
I think this is what you need.

I’m not clear on exactly what you want but, I think this may be it…

UNO ‘ASIS’

UNO + Shield ( just a blank waiting for Parts/Traces/etc… )

Shield ‘AS-IS’ not mounted on UNO

Screenshot below shows the Them…
[The shield is just Edge-Cuts, Holes, PinHeaders and Silk to aid placing it on UNO. I don’t bother to fuss with prettying-up graphic details on this stuff - I prefer to Roughly throw it together as my needs for it change to often… but you the the idea…]

Template is not exactly what I am looking for.

The template is like a custom board base, if I got it right.

What I am looking for is a way to create a footprint-like component, that is stored in a library, like any other footprint, so it can be reused as any other footprint, but it is composed by other footprints. This way the space between these footprints is always preserved. But it can be placed anywhere inside a board. But the board is not inside of it. And then multiple of those can be used, if needed. For instance, a board that has 2 connectors (like a shield) to connect 2 Arduino uno boards.

Another way of thinking of it is a footprint group that I can name it and place it in a library.

Something like this assembly of 4 LEDs I made for a large 7 segment display?

Don’t recall doing anything special. I just combined 4 copies of the LED footprint with the appropriate spacing to make a new footprint. I also had to define the courtyard and move the origin. Essentially I made a new footprint out of an existing one.

But the drawback is that it is associated with only one item in the BOM. I didn’t care because it was hand assembly anyway.

Edit: I think what you want isn’t currently catered for. You want the constituent footprints to retain their identity but the their relative positions to be fixed. It’s analogous to the design block idea for schematics.

Edit 2: And it probably only fits into the workflow if implemented in conjunction with design blocks.

Seems like you want the footprint of a male connector attached to the footprint of a female connector, when those connectors are connected.

Yeah, something like that.
To make the BOM correct, you can place 3 extra leds in the schematic, marking them as Exclude from board.

image

The only issue I saw doing this is that the parts won’t be available when exporting gerbers, so the manufacturer won’t have a reference for the automatic assembly of those parts. And this is what I want to have.

Nope, I literally want a footprint composed of footprints. It would be perfect if I could just create a footprint and then instantiate others inside. Now, the way I was doing was to create a footprint, and then manually place other things inside, let’s say other footprints, but then they won’t be recognized as footprints… so the automatic assembly won’t have references of other sub-footprints.

That’s pretty much what I did and show…
An UNO footprint that has Shape and 4 PinHeaders… is what I show in my post above - it is a Footprint in my Footprints Library.

Video shows it being loaded from my Footprint folder.

Easy to make a Template but, why bother as a Footprint is simple, too.

How to get the Shield made? Make a PCB in Kicad the usual way (with desired UNO shape, add connectors…etc/silk…) Export as STEP. Then, make a Footprint and use the STEP file in the Footprint. Plenty of documentation on linking the STEP to Footprint (including videos I’ve posted)…

I can achieve that too.

However, I don’t want the shape. Only the related distances between the footprints. So I can place it (this group) where I want and how many times I want per board.

I already do this. But this method does not export the right data in the PnP file. So the assembly cannot be automated, I guess.

I am not sure if Kicad can do what I am looking for, but a workaround is valid if someone knows something.

Instead of footprints in a footprint in the footprint library, why not footprints in a PCB in a project library, then cut/paste between projects.

1 Like

This seems to be a good workaround. Make sure to group them before copying, then the copied footprints will be guaranteed to keep their relative position to each other.

1 Like

Yeah, came here to say that grouping footprints may be good for this purpose as a workaround.

Well, I have two observations here.

The symbol has to be split in 2. I cannot have a single one for the group.
To achieve that, the symbol should accept more than one footprint. And this cannot be done yet.

And it would be also nice to be able to have this grouped footprint saved in a library as any other footprint so it would be easy to use/reuse/store/improve as any other footprint. If we can make this, then the symbol does not need to handle 2 footprints, only the grouped one.

Only single footprints can be saved in libraries.
You can save all the pads and graphic lines of all the footprints as a footprint, but not as many footprints. This is not what you wish.

Have part of the group in each part of the symbol. Strategically placed anchors should solve placements of the part groups.

I’ll finish up with this: I did this before reading your post…

It may help to clear up confusion…

Though you can make any PCB Shape you want, I Opened the Kicad’s Stock UNO.
Edited the Shape and deleted the Mount-Holes.
Added some Part Footprints and Traces.
Exported as STEP.
Opened STEP in FreeCAD. Result=Good.
Opened the PCB/Track/Pads in FreeCAD using StepUp Workbench. Colored the Tracks/Pads. Result=Good

Choices/Options at this point:

  1. Make a Footprint and use the STEP (either one from above)
  2. Make a Template and use the Tweaked Kicad UNO file (with correct Template setup, it will show in the New_From_Template menu selection.

If Template is placed into correct location, it will appear in Kicad’s
“File>New_Project_From_Template” panel in the User tab.

Then, it’s just like any other Kicad PCB making project… Of course, you can use Footprints I show in previous posts…

Stock Kicad UNO Template

Tweaked Stock UNO Template

Template Made From Tweaked UNO Template

I use the uno or nano footprint from time to time to create relative easy and cheap DIY projects.

It does not answer the questions here, but I thought to show this project for ‘inspirational’ purposes :wink:

For my beloved 3D images, I created two footprints for the UNO and LCD shield which exist just out of some graphical lines and an attached 3D model.

Besides that I simply like 3D models as I see it as art work. I also find it is a decent tool for visual inspections. I avoid placing parts over the USB connector and this allow me to see what parts fit where.

Regards :coffee:

Bas

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.