As someone who designs RF boards with Kicad one of my biggest gripes is that there is no GOOD way of creating truly complex footprints.
Why would you need them? because usually the RF parts need to be drawn exactly as simulated, and importing them as a footprint allows to move/duplicate them around without compromising the design.
I still haven’t found any good way of doing so: on one hand the DRC checker isn’t aware of non-pad metal graphics in footprints, on the other hand, no pads are allowed in inner layers.
I know that development branch has some custom pad support, does anyone have experience they can share? If not, does anyone have a good workaround for this issue?
There were a few patches for custom pad support but the custom pads are not yet in the development branch and may change significantly before they are included. Since the implementation may still change substantially, I wouldn’t recommend using the custom pad patches unless you absolutely need them.
I do RF sometimes, too, so thanks for the question- I may run into this myself.
My thought (haven’t tried it) would be to create a generic schematic part with a node for each port, and then recreate (or import??) your RF footprint into the Footprint Editor. If it is one continuous strip of metal with a port on each end, then maybe you could create the footprint out of two touching copper parts (just cut the strip in half maybe so that they manufacture into one piece, but Kicad sees them as two nodes). Then assign your nodes as usual?
I hope this helps a little. I would be grateful to know if you find anything out! Thanks!
Indeed, your suggestion is what is usually done. An RF “component” is a way to make a fixed design for the RF segment, that will not change with board edit.
As to the fact that many RF components (e.g. transmission-lines) are DC “short” - This is what I usually do with Kicad. I think people around here call this a “net-tie”. BTW, DRC checker complaining about RF components due to DC “shorts” is a common issue even with very expansive PCB design suits.
I think I’m actually one step ahead of you - I already hacked a python code to create complex footprints for RF components:
The problem with this method is that Kicad doesn’t like SMD pads in internal layers - so if you have for example a 4-layer PCB, in which layer 1 (top) is RF signal, and layer 2 (internal) is RF ground, you can’t hard-code this ground into a component, without getting in trouble.
Hence what I wrote… I know of “ways” but not of “GOOD ways” to design RF sections with Kicad.