Skip to content

Feature: skip via support

Description

Kicad does not support skip vias, (for context a skip via is a blind via connected only to its end layers, see also https://www.epiccolo.com/articles/pcb-vias-guide)

If one tries to define skip vias as blind vias in Kicad, then false-negative DRC issues will occour when such a via passes through a layer of same net, since Kicad assumes there will be a connection between them and if the via is left unconnected at one end then no DRC errors are flagged, however for reasons of manufacturing a skip via does not connect to any pass-through layers, even when on same net.

Suggestion is two-fold:

  • add an option to the annular drop-down "Start and end only"
  • zones on in-between layers must respect the above setting even if on same net

Steps to reproduce

I have created a small test layout to demonstrate the issue, in this test is a route going to a blind via with start on F.Cu and end on In2.Cu. The blind via passes through a zone of same net on In1.Cu and gets connected no matter the settings

Blank_v9.zip

I can find no way of configuring the padstack that will generate a DRC error.

I have tried editing the blind via setting Annular rings to Connected layers only and then removing unused pads using menu item Tools > Remove Unused Pads... then selecting Vias and Keep outside layers.

KiCad Version

Application: KiCad PCB Editor x64 on x64

Version: 9.0.3, release build

Libraries:
	wxWidgets 3.2.8
	FreeType 2.13.3
	HarfBuzz 10.2.0
	FontConfig 2.15.0

Platform: Windows 11 (build 26100), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: ATI Technologies Inc., AMD Radeon(TM) 680M, 4.6.0 Compatibility Profile Context 24.10.34.07.250210

	wxWidgets: 3.2.8 (wchar_t,wx containers)
	Boost: 1.88.0
	OCC: 7.9.1
	Curl: 8.13.0-DEV
	ngspice: 44
	Compiler: Visual C++ 1942 without C++ ABI
	KICAD_IPC_API=ON

Locale: 
	Lang: en_DK
	Enc: UTF-8
	Num: 1.234,5
	Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)
Edited by Martin Axelsen