It’s generally “known” that pcbnew doesn’t really support via stitching. You have to link together a bunch of vias using traces, so that they keep their net association. And this is clunky. The traces get in the way of everything, look distracting, and will be removed by “Cleanup Tracks and Vias”.
Here’s a better way. It’s a bit long-winded to set up, but easy to use once you get it going.
Click “Open footprint editor” on the right toolbar:
Click “New footprint” on the top toolbar:
Name it something sane - I tend to call it something like “VIA-0.6mm”
Place a single pad in the center. Configure it like this:
Pad type: Through-hole
Shape: Circular
Drill: Circular, desired via drill size (0.3mm in my example)
Size X: Desired via diameter (0.6mm in my example)
Layers:
Copper: All
Uncheck all other layers (F.SilkS, F.Mask, B.Mask are checked by default)
Set both reference and value to Invisible. I usually also make them tiny so they don’t bother me even if I have hidden text set displayed.
Set “Pad connection” to “Solid” (this is on the second tab of the pad properties).
Here’s what I have:
You may want to save these to a library on your system, though they’re quick enough to make that I don’t always bother.
Click the “Insert footprint into current board” button on the top toolbar:
Grab the via from where it was inserted at the upper left, and edit it. Set the net name to the name of the net you want to stitch.
Now you’ve made a single stitching via. There’s no need to repeat this for the others, as long as you’re using GAL/OpenGL! To manually place a few, click on one that already exists on your board, and press Ctrl-D to duplicate it. If you want to make an array of them, right-click one of them, select “Create array”, and set your array properties. Here’s a stitching array I made quickly:
These are “proper” stitching vias! They don’t need traces to keep them connected, so they can be placed anywhere in big groups easily. Push-and-shove won’t move them, so you don’t have to worry about accidentally losing parts of a good stitching array without noticing.
Meh, YouTube’s transcoding made a horrid mess. It’s still watchable, but the blur is annoying. Depending on how many view it actually gets, I might just host future ones on my server. Don’t want to blow my bandwidth, but I don’t want to torture people’s eyes either
Your writeup should be in the official Kicad docs! So straightforward and logical. Thank you.
Your next mission, should you decide to accept it, is to figure out how to join multiple ground nets with different names at a common point in an equally elegant way. All without violating DRC of course:-)
However now you can’t use functionality “Delete Extra Footprints” when you import a netlist. I’m all for workarounds, but this issue have been a pain in the butt for a long time and wouldn’t be hard to correct for developers.
I just shared a cool trick that you can do with the tools that are available. I agree, standalone vias would be a nice thing to have, but I am not even slightly interested in turning this thread into a place to complain about the developers. There has already been discussion about adding these, so be patient.
Hi; thanks for the thread. It is a pretty good answer for the issue I just encountered, and it amazes me that stitching vias was not planned in the software design. You say:
“Now you’ve made a single stitching via. There’s no need to repeat this for the others, as long as you’re using GAL/OpenGL! To manually place a few, click on one that already exists on your board, and press Ctrl-D to duplicate it. If you want to make an array of them, right-click one of them, select “Create array”, and set your array properties.”
I read on Wikipedia about GAL/OpenGL and that does not tell me much. If I do not know what it is does that mean that I am not using it? Or how do I know; how do I use it, etc? I am an analog circuit designer but not so knowledgeable regarding software and programming.
There is another thread where I asked about interconnecting different ground nets. It seems (??) the best way is to make an SMT component with long (enough) pads and a copper graphic element connecting the inside pad edges. I tried this and it works. I guess it is a workaround but maybe not so much.
Ah, sorry. I forget that GAL isn’t always common knowledge. GAL (Graphics Abstraction Layer) refers to the underlying graphics engine the CERN folks are developing and the new routing engine on top of it. It’s still a work in progress, but very close to completion now. In a development build you can switch to it by choosing “OpenGL” in the View menu.
Well I broke out the champagne too soon. I found it on the menu (Including Cntrl-D) and in my .pdfed version of the online manual, but I cannot figure out how to really make copies of my first pad. Let’s say that I reverse click on the pad and choose “duplicate” from the context menu; then what? I can normal or reverse click after that and get no result…
OK…afraid I am testing your patience…I got another component from my project library and have the same result. By the way I get the same if I choose “create array.” I can choose that and nothing happens.
Well…I have reverted to default Canvas…it seems that Cntrl-D does not work with either canvas, but with default canvas, the context menu seems to work and I am able to duplicate one at a time. I do not know why the developers did not allow copy paste just for familiarity sake.
I have not figured out how to paste an image in this forum…