Adding vias in footprint editor?

For an RF design I have to do landing pads inside a footprint that look like this:

As you can see, the via in the middle has to go through all the layers until the connected one, and not further away. It was pointed to me that it is important that such via stops in the inner layer, as drawn.

I am trying to implement that on

Application: KiCad Footprint Editor x86_64 on x86_64

Version: 8.0.6, release build

Libraries:
	wxWidgets 3.2.6
	FreeType 2.13.3
	HarfBuzz 9.0.0
	FontConfig 2.15.0
	libcurl/8.10.1 OpenSSL/3.3.2 zlib/1.3.1 libidn2/2.3.7 libpsl/0.21.5 nghttp2/1.64.0

Platform: Freedesktop SDK 24.08 (Flatpak runtime), 64 bit, Little endian, wxGTK, X11, gnome, wayland
OpenGL: Intel, Mesa Intel(R) UHD Graphics (TGL GT1), 4.6 (Compatibility Profile) Mesa 24.2.5 (git-3b9fcb7e4d)

Build Info:
	Date: Oct 14 2024 22:25:13
	wxWidgets: 3.2.6 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.86.0
	OCC: 7.8.1
	Curl: 8.10.1
	ngspice: 43
	Compiler: GCC 14.2.0 with C++ ABI 1019

Build settings:

I created a footprint like this (footprint editor):

With this I am having 2 main issues:

  1. I don’t see an option to make the hole in the middle go down to some specific layer:

  2. The front layer should have the pad, even if it is not connected to anything, as it is a landing pad.

I found workarounds for the two issues by manually inserting a via in the PCB editor, instead of the footprint editor, and setting it with the desired parameters. Is it possible to do this in the footprint editor, so all instances of this footprint share the same characteristics?

From this:

I deduce you probably don’t have much experience with this. Due to manufacturing limitations, the common way to manufacture this is to first make the full via though the whole PCB, and then drill away the copper stub on the backside. This is common enough to have a standardized name and it’s called “back drilling”.

KiCad does not have support for back drilling yet, you can give the feature request below an upvote:

One of the possible workarounds, is to use very specific via diameters for each back drilling depth. The diameters can be very close to each other (so your Fab will round them all to the same drill diameter), but computers can be precise when needed (KiCad works with integers on nanometer increments internally), and it’s relatively easy to sort those out with a script. However, using the right via diameter for each of your holes is a nuisance, and error prone. The workaround is far from ideal. But it can also be reversed. KiCad does support scripting, and writing a script that modifies via (and pad) diameters to add this workaround for depth drilling is probably not very difficult. But I don’t have any experience with Python scripting in KiCad myself.

Probably not. Footprints do not do much with internal layers. It is not possible for a footprint library to know how many copper layers your PCB is going to have. And the standard method is to use back drilling, and thus this data would not appear in the footprint anyway.

1 Like

@paulvdh thanks for the information, it is appreciated. Indeed, I don’t have much experience with this kind of design. In KiCad, I see that a blind via from layer top down to layer X seems to represent what I want to do (blind via on the right side):

A bit unfortunate I did not mention blind via’s. Yes, blind vias are also a viable option, and as a plus, they are supported by KiCad. But do be aware they are not standard for PCB manufacturing. They need extra process steps, and thus also cost more, and not all PCB manufacturers support it, so you have to check with your PCB manufacturer for their support and the costs.

My own PCB’s are quite simple 2-layer boards and I don’t know further details.