Kicad For 4 Layer Rigid / 2 Layer Flex Design


I’m in the middle of using Kicad for a Rigid-Flex design. The stackup has four copper layers in the rigid regions and has two copper layers in the flex regions between the rigid regions – these correspond to the inner two layers of the rigid portions.

I thought Kicad would have no problem pulling this off, and I’m actually in the middle of my layout, until I realized that I’m trying to place a mezzanine connector on one of the flex regions, and for this I need exposed copper on one of the flex portions.

Am I correct in that there is no way to place a footprint on an inner copper layer, with corresponding soldermask/paste layers?

The only workaround I can think of is using the bottom layer as an inner layer (since the only component on the bottom of the board is the mezzanine connector anyway). And using an inner layer as the bottom layer inside pcbnew. - Are there any problems with this that I should be foreseeing?


1 Like

You’re right - you have found the biggest problem with using KiCad for rigid-flex. I spent some time a few years ago thinking about good ways to make KiCad much easier to use for rigid-flex and it’s a very big job. The first step would be to have a geometry kernel which can support multiple solid bodies in the outline layers, then we need to be able to tag layers if they are flex only and work some magic so that the outer flex layers can have exposed pads etc if they are not sandwiched in the rigid layers. However, even with the code as it is, it may be possible to add support for tagging a layer as top or bottom flex, tagging a pad or component if it is on the flex top/bottom layer, and doing a little magic in the Gerber plotting so that components/pads tagged as being on the flex layer can expose copper where needed.

Unfortunately for now it all requires very careful planning; it’s certainly not impossible since a number of professional users have done it for a few years now. When V5 is released I’ll ask some people what they think of at least adding top/bottom flex layers and see what other ideas people might have for rigid-flex support.