Multiple vias on nets

There have been a few posts about this sort of thing but I thought I’d bring it up again and see what happens.

I regularly connect some nets across layers with clusters of vias. I do this for high-current traces and power traces. The way I’ve been doing this in KiCad is to place the vias, and then put a small multi-layer zone around them and then route traces to this little via island.

I used to do a similar process in Altium to achieve the same effect, although I’d use regions instead of zones.

The reason I don’t just put a few vias down and only use traces to connect them is partly because it’s irritating to have to draw traces on all layers and partly because the reduntant track removal “helpfully” undoes my good work. On a side note, I know I can turn that feature off but I mostly like it for all other use-cases.

Anyway, I began imagining a more usable way to acheive my goal that would require less futzing. Maybe you could draw a little shape and then KiCad would automatically add vias at a predefined spacing and hole-size. Those shapes would exist on all specified layer. It would be kind of like a “compound” via or something. Then you route to and from it with tracks as you’d expect.

Maybe there’s another way that this could be done. Maybe there’s already a way to do it and I just don’t know about it.

1 Like

You can turn off PCB Editor / Route / Interactive Router Settings / Remove redundant tracks, but toggling that checkbox is also not optimal. A quick option is to lock tracks in place. I think (have only briefly verified) that locked tracks are being ignored by this optimize / remove function.

But drawing a little zone for this, and then setting it to multiple layers is a quite reasonable solution. You can even put such a construction next to the PCB, (inclusive the via’s) and then just make a copy of it for each location you want to use it (and change the net name).

Thanks for the thoughts Paul.

I thought I’d mention it to see if anyone thought that a less fiddly workflow might be a fun feature to add.

Using multiple via’s for high current tracks is a common practice. It may be worth a feature request for the Remove redundant tracks to not “optimize” these away.

Another option is to use some graphic lines with the same width as tracks. Graphic lines are becoming more integrated into KiCad, and graphic lines on a copper layer automatically become part of a net in KiCad V8. (I have not tried it myself though).

How about making it a footprint - like IC footprint thermal pad with vias.

I did experiment with using rectangles and lines for this purpose. That was fine but I settled on using zones because I like the way you can set which layers they should be applied to. For graphic elements you have to draw one one each layer.

Hmm. I thought I replied to you already Piotr. That’s a good suggestion. Although I’m not super keen to use footprints without corresponding symbols. Managing symbols for these things doesn’t seem like a good idea either.

Taking in mind what you write about zones my suggestion of using footprints can be not so good. I expect problems with decisions about inner layers (but I’m not fluent in footprint possibilities in V8).

I also don’t use footprints without corresponding symbols and thought about writing something about it but I gave up. You don’t use symbols for vias. So may be you can treat placing such footprint like placing via (probably should be locked or there is may be other way to protect against being removed by update to schematic).
Also adding one pin symbol just near one VCC symbol (or making this connection in sheet corner) would be for me acceptable.
But without checking how with internal layers there is no idea to discuss this.

I like this idea. It is closely related to via fencing, I would say. I guess this is on the to-do-list but I don’t find a corresponding feature request at the moment.