KiCad Pad Stack Specification - for comment

Hi all,

I posted this on the KiCad developers mailing list, but thought I’d re-post here to gather feedback from the KiCad librarians as well (as I understand it, it is easier to reach you all in this forum?)

I’ve made a start at specifying what pad stacks might look like in KiCad (probably v7, but I am hoping to help get it in before v6 feature freeze). The main reason from my point of view is a CADSTAR importer that I am working on (I’ll make a separate post about that once I have something working): CADSTAR relies very heavily on pad stacks, so importing a design to KiCad is limited at the moment due to lack of support for more complex pad stacks.

You can view the draft document here

Could the librarians who are interested in this let me know and I’ll add them as “editors” of the document?

Thanks.

Sorry to bump this thread, but it would be nice to get comments on the document, especially from the librarians. @Rene_Poschl as head librarian, do you have any particular requirements?

I have opened the document to allow comments from anyone.

In particular, if anyone has any ideas on how the GUI could work for pad stacks, please feel free to comment directly.

Thanks!

Does this supports cutouts in the PCB, which I see in mouse optical encoders?
Composite structures in the footprint when you have a Kapton flexi bonded to FR4?

Thanks for the reply!

I am not sure I understand your question? This specification is only for future pad stack support in Kicad.

We aren’t discussing anything related to component footprints in the specification.

To support these cases, the pad stack has to be capable of describing pads on different materials. A normal multilayer PCB is built from the inside out in steps. Some of the steps drilling is only applied to certain layers for blind vias and micro-vias. These are mentioned in the document.

KiCad 5.1.x only knows the final thickness, a limitation for impedance and thermal simulations.
Flexi rigids are a bit different, the flexi part is etched apart and then bonded to the FR4 part.
This means that the copper may well be different weights in the two parts and different design rules

@davidsrsb I’m probably still misunderstanding you, but I think you are talking about a different feature request, i.e. complex layer stacks with multiple board regions that allow a rigid-flex design?

Pad stacks are specifically about pads (or vias) that have different shapes defined in each layer of the board (traditionally a pad/via would have the same size and shape on every layer).

1 Like

I realize that pad stacks and complex layers are not quite the same problem, but it is a related issue. In particular a flexi pad stack cannot be flipped. It is likely that your document does not need to be aware of this if it is sufficiently generic that the restriction can be pushed to a future footprint/layer manager

Thanks for the explanation.

Can you elaborate a little bit more on

I’m not very familiar with rigid-flex designs, so any insight you can provide would be of great benefit to make sure this specification is future proof to support complex layer stackups.

Regarding the complex layer stackup request, if you haven’t done so already it would be good if you “thumbs up” this gitlab issue: https://gitlab.com/kicad/code/kicad/-/issues/3823

I am already there in that issue. The illustrated example is only one way to make a flexi. There are simpler ones like I used at Racal 35 years ago where a two layer FR4 is simply bonded to a two layer Kapton flex. This arrangement was common on the back of circular military radio connectors. This means tha one side of each component board are touching with minimal insulation, so it was usual to make the flexi side just through pads

I’ve had a think about this and at the moment do not see any issue with current pad stack specification for your requirement: a pad stack would be defined as a series of shapes on any layer, so sufficiently abstract to potentially also work with a future specification on complex layer stacks.

1 Like