Via stitching plugin issues

I installed the “Via stitching” plugin from GitHub - jsreynaud/kicad-action-scripts: Some KiCad plugins in Python

I was impressed by how easy it is to use and its potential to simplify the time-consuming task of placing stitching vias!

However there seem to be some issues … and I am wondering if there are any workarounds?

The following shows the PCB before using the tool.
Note that there are no ground islands below the traces at the left below the 3-pin connector.
This results from the fact that the Remove Islands is set to ‘Always’ in the Kicad settings for the zone.

However, after using the Via stitching tool, islands are created together with vias on those islands which violate clearances in the DRC, as illustrated below.

There are also edge clearance violations, at least along the top edge of the PCB, as can also be seen in the preceding graphic.

I could understand that some manual positioning ‘adjustments’ could be necessary after using such a tool.
However, the (in my case) 1,697 vias (!) all behave as a single ‘Stitching group’ - so if an attempt is made to move one, all the others also move at the same time :frowning:
Equally, if an attempt is made to delete one of the vias then all 1,697 are deleted :frowning:

The parameters used are as follows:

I tried changing some values, e.g., increasing the via clearance from 0.2 to 0.45mm.
That made no difference apart from reducing the number of vias placed slightly. The large number of clearance violation errors remain :frowning:

The clearance for the ‘Chassis’ ground fill is set to 0.2mm (the fill is on both the front and back of a 2-layer board, occupying the same position).

Are there any workarounds to these issues?

Is there any way to split the generated ‘Stitching group’ into 1,697 individual vias?

The issue is serious since, as mentioned above, there seems to be no way to delete or reposition particular vias.
There are 116 errors in the DRC - even if just one error were to remain (after possible hacks … zone repositionings, or whatever, …), the complete result would need to be discarded.
Consequently, the tool appears to have little or no utility, at least in this application :frowning:

I have not used that plugin, but in KiCad V6 you can enter a group by first selecting it, and then it’s in the popup menu. When you are in the group you can edit individual elements in the group.

It’s also possible that plugin generates some kind of footprint. If so, it can be edited in the footprint editor.

I also see an “Only under selected Zone” checkbox. If you make the GND zone a bit smaller and check that box you probably have a lot fewer DRC violations.

Or, file a bug report for the plugin, that it does not respect the Edge.Cuts PCB outline. Apparently the plugin was updated a few weeks ago and thus is under active development.


I assume that you mean … right-mouse-click → Grouping → Ungroup?
Refer graphic:

Yes, that seems to enable an individual via to be repositioned.
It should be a reasonable workaround … the prospect of dealing with 106 DRC errors is more attractive compared to manually placing 1,697 vias!

I don’t understand that “Only under selected Zone” checkbox.
When I ticked it, no vias were generated!

You wrote:

Or, file a bug report for the plugin, that it does not respect the Edge.Cuts PCB outline.

As previously indicated, there is a second possible bug (or a ‘feature’?!) in that the tool generates ground plane islands despite the fact that the Remove Islands is set to ‘Always’ in the Kicad settings for the zone.
Of course, once there are vias present, it is no longer an island - so one could argue that this is indeed a ‘feature’?!
However, it would seem better that one can first define the zones, then run the Via stitching tool without the zones changing.
Or, there could be an option ‘enable/ convert islands …’

In any event, it is a second bug since the clearances are not respected for vias placed in the regions corresponding to the new islands which are generated.

I don’t know the procedures for reporting bugs.
In any event, probably JS Reynaud will come across this thread.
I can play further with the tool to discover its possibilities and better understand the issues.

If you use Enter Group instead of Ungroup then you can modify the objects in the group without destroying the group itself.

your 106 DRC errors are probably just a few rows of Vias, and easily selectable by dragging a box around them. Dragging from left to right only selects fully enclosed objects,while dragging from right to left also selects objects crossing the box boundaries.

Have you tried to select a zone before you run the plugin?
Without selecting a zone it probably does not know on which zone to act.

As far as I know Github also has a messaging system and you could leave a note there, or send him a PM on this forum, or making him attentive to this thread by typing his user handle after an at sign.

Many of the KiCad developers rarely visit this user forum. @jsreynaud last posted in here in January.

Register an account on GitHub and open an issue on the plugin Issue tracker

He’s not usually seen here.

Just a technical detail: ungrouping items is possible, but may make undoing stitching even impossible later. The purpose of a “group” is to bind items geographically together, and if you have many items, it can be difficult to group them again after ungrouping and making changes.

However, there’s the Enter Group context menu item, seen above in your screenshot. Use that and select a via, then move it. When the item is unselected again, the group remains.

Caveat: I haven’t used that plugin.

EDIT: Paul was faster…

Dear @Douglas777

Yes there are still some clearance bugs in this plugin.

I had fight many time with KiCad python interface to find good solution to avoid this… But sometime you have this kind of issues.

As reported, the best way to handle this is to “Enter Group” to make some small adjustments or “Ungroup” to make big modification ;).

With “Ungroup” keep in mind that via will became an individual element. You will not be able to remove all of them in one time.

If you want to report a “formal” bug, please do that as @davidsrsb tell you (on github’s page project).
I’ll try to find some solution if I’m able to reproduce the issue with a simple board…


Hello Jean-Samuel,

Many thanks for your response!

Despite these issues, I am highly impressed with your software tool!

With the knowledge about “Ungroup” and “Enter Group”, there is a reasonable solution available for manual adjustments …

A couple of queries:

I don’t understand that “Only under selected Zone” checkbox.
When I ticked it, no vias were generated!
How does this differ from the “Net name” field? (Surely that represents the ‘selected zone’?)

What is meant by “Debug mode” (a checkbox option)?

Thanks again for your interest and support!


  • Only under selected zone: before starting the tool, select a zone on the board, then launch the tool. Hit this checkbox and then via will be only on the area of this zone. This function is not fully tested :wink:
  • Net name allow you to make a via stitching with an other net that GND. This allow via on power plane for example…
  • Debug mode will print for usefull debug information if you had start kicad/pcbnew on a command line.



This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.