Consider the following situation. I have a tactile switch (pushbuton, single pole) and use the “SW_Push” symbol.
As a footprint I use the “Panasonic_EVQPUL_EVQPUC”.
There are four pins on the footprint, two for every side of the switch.
In Pcbnew, I connect one of the pin 1’s and one of the pin two’s.
Problem is that there will remain a ratsnest wire present for the unconnected pins.
I can’t find a setting in the footprint or symbol editor that declares that it suffice to connect only one pin on every side of the switch. In other EDA software you can group pins and declare that only one of them needs to be connected or all of them.
It surprises me that something basic like this isn’t possible in KiCad, or am I overlooking something?
p.s.: The question is not how to deal with it within Pcbnew. The question is how to deal with this at symbol/footprint level (like it’s done in other EDA software).
You’re not overlooking something. KiCad has vastly improved in the last 5 or so years, but there are still some legacy relics in the closet, and this is one of them. (Another one that’s being worked on now is support for arcs in tracks).
The current way to work with it on the footprint level is to use a footprint that has 4 different pin numbers. KiCad wants to connect all pins with the same pin number to each other (same pin numbers are extensively used for thermal pads and thermal vias).
The simplest way to do this is to open Pcbnew with your project then hover over the footprint and press [Ctrl + e] to load it in the footprint editor, then change two of the pad numbers, and then close the footprint editor, which propmpts you to save the changes directly to Pcbnew. You can also create a new footprint library from within the Footprint Editor and save your modified footprint there.
I don’t want to be grouchy or so, but coming from Eagle, KiCad gives me a “strange” experience.
In some ways KiCad is is miles ahead of Eagle, and in other ways miles behind…
Let’s hope most of these missing features will be ironed out in V6.
I have just suggested there to assume that all pads with the same number are internally connected in footprint. I was told that there is something seriously against it. May be you will understand what is the source of problem (I don’t, but accept it).
It is generally agreed KiCad is quite a lot different to Eagle, but it is not always agreed that one way is better than another.
There is a very good reason for not assuming same number pins are connected. When a bare PCB is electrically tested, it uses a netlist file which tells it which nodes are connected. If a net is bridged by a component, and that component is not fitted, the board test will report an open circuit fault.
It seems that other EDA packages allow this feature, but they also create the problem described above. Existing KiCad users could be easily caught out if the implementation changed.
This has come up before several times. A proper solution needs a way to define in KiCad whether a pad is internally connected or not, because there are at least 3 separate cases.
In the meantime, best practice in KiCad is to specify all the pins separately.
Mainly this issue arises regarding the 4 pin switches. The KiCad library lacks a suitable 4 pin symbol, which might help.
In Eagle, you setup the connections between symbol pins and footprint pins in the device.
There you can connect a symbol pin to multiple footprint pins and you can declare that either all footprint pins need to be connected on the pcb or just one/any pin. This is a very elegant solution.
Now I must use a symbol with multiple pins in the schematic which doesn’t look professional.
I tried to manually change the pinnumber of the unused pins but the ratsnest wire is still there.
Maybe I’m too demanding but one of the reasons I started with KiCad is because the developers objective is (at least in the long term) to change KiCad into a fullblown professional/industrial piece of software. (And I understand very well that that will take time.)