Footprint with electrically connected pins

Almost. But in the case of a thru_hole it is not expressed in the schematic that the FCu and the BCu are electrically connected; the connection is created by the footprint. More specifically there must be some code somewhere in pcbnew DRC that knows they are.
Looks like I’ll have to branch the code and implement “thru_hole” with drill size 0. :joy:
(Although it doesn’t need solder paste… so “connect_double_sided” might make more sense)

A TH is a primitive in the system with known properties. If one is added the connectivity goes with it. The pads in your beast may or may not be connected externally because the connection is elsewhere.

Your problem may not be over with a zero size hole. The fab might trip up on that.

Indeed. I imagine it has quite a few properties with electrical connectivity being one and others such as the hole geometry having to be considered when routing inner layers etc.

I think this is a more generic problem, namely allowing expressing that two or more pads are connected electrically outside of the board. @NivagSwerdna, I didn’t understand your case until now - if I understand it correctly at all now.

See for example https://gitlab.com/kicad/code/kicad/-/issues/2558 and https://gitlab.com/kicad/code/kicad/-/issues/1950.

I’m not sure if you’re joking, but it’s never a good solution to patch KiCad with a feature which wouldn’t be accepted by the development team.

I’m just spit-balling here, but I wonder if this can be kluged with a technique similar to castellated pads. But unlike castellated pads where the PTH is bisected by the edge-cut line, have the PTH fully outside the board outline. Yes, you will get DRC hita with the pads crossing the board outline at every pin, but this might provide the F-B connectivity that the routing algorithms need.

Also, remember that Freecad freeRouting is a fully 3rd party tool. The KiCad team does not, nor ever has, worked on the code of Freecad freeRouting. All KiCad does is provide the import/export tools as defined by the Spectra file format. I don’t even know if the Spectra file format has a way to communicate the type of virtual connection you are talking about even if KiCad supported it.

Finally, unless the density of routing needed on the inner layers under these pads prohibits it, I would think the VIA in the pad would benefit reliability. All it takes is some vibration or flexing to stress your edge connector leading to a crack in one of the two solder fillets and you get an intermittent or failed connection. The PTH via would provide board-level backup for the possibility of a single side failure. But remember to add more solder to the connection to account for the PTH filling.

Very similar. And I can see various complexities… we have seen two on this thread… the (1)-(1) switch case and the (1) above (2) edge connector case.

I’ve contributed to a few projects in the past it is not inconceivable that I would raise a PR if I had the time (and the functionality could be agreed to some coherent form)… :grinning:

Actually the issue really has little to do with freeRouting as it would affect any routing (manual included), Without the implied connectivity you need either an un-necessary trace or to ignore the DRC.

I think that’s another conversation. FWIW the design sent for fabrication does have VIAs in the centre of every SMD pad pair as I gave up fighting and just put them on the board.

I can see this is a tricky case as having arbitrary pads arbitrarily connected via magic to others (albeit with the same pin number) could be confusing.

At least I understand the issue now and have learnt about thru_hole, np_through_hole, smd and connect.

Thanks

On further thought I’m not convinced that this is a good idea without additional information. What if the switch pins are connected to ground and routing decides it can pass a high ground current though the switch pins? Rather the requirement is different: to say that you can use either of the pair. Anyway it was just to demonstrate that same number doesn’t imply a connection

Thank you for picking up and silently correcting my Freecad vs freeRouting typo. :wink: I’ve corrected the original. (Hopefully in a way that makes it obvious that I made a correction w/o having to click the show edits button. Does anyone remember how to encode for strike-through on this forum?)

StrikeThrough [s]StrikeThrough[/s]

:+1: Thanx and implemented.