Duplication with refdes update in Pcbnew and Eeschema

Hi guys,

I’m new to KiCad, but very experienced in CACint. There I can copy blocks in both the schematic and layout editors with automatic refdes increment. Then I can annotate the newly created sch block into the newly created pcb block. With the refdes now matching, the two will link up nicely.

I wish to do the same in KiCad. That is, create a perfect copy of placement, routing etc. with a different number sequence. Is this doable?

In my case it is a hierarchical design where I have created a copy of the sub-sch in question. Now the new copy contains refdes type “C?”. Is there a way I can make the copy of, say, C400 become C500?

And in Pcbnew, when I duplicate a selection, I do get a perfect copy, but this time the copy of C400 is still named C400. How can I make it become C500 instead?


In the annotate schematic window, check First free after sheet number X 100

All the hierarchical sheets with the same subcircuit must be related to the same file. When creating a hierarchical sheet you must enter sheet name and file name.

Not possible in pcbnew. Only in the schematic. Then update layout from schematic.

KiCad is not CACint.

All PCB design packages are different from each other, and if you try to use one package with the flow of another you’re very likely to get disapointed.
A better question to ask is how you can best apply the tools you have to get the result you want.

In KiCad there is a way to increment the resdef of reused symbols form a hierarchical sheet by automatically incrementig them by a pre-defined number (for example 100) for each instance. I’m vague about the details as I have never used this myself.

There is also a “replicate layout” script, which seems to be popular and may be a good alternative for you, but I’ve also never used it myself.

As a sort of last resort option you can select a (rectangular) block, and then with the right mouse button and the “select” option from the popup menu, you can un-check everything excepts tracks & vias to make a copy of them. and then manually place the new components on top of the track ends.

1 Like

Thanks a lot!

The layout in question isn’t that large, so duplicating it as-is, or duplicating just tracks and vias like you explain should be quite feasible.

It did go surprisingly fast to become productive in KiCad. Where should I issue a feature request for the parametric refdes increas copy function?


A lot of the KiCad development is done by a small group at CERN and a lot of volunteers in their free time.
They are well aware of lots of ways in which KiCad can be further improved, and reading wish lists subtracts from the time they have to do actual development.

You can have a look at the bug list at

Before creating a new topic you should first read all the others (euhm 1100 something…) A lot of the “bugs” there have status “wishlist”, and if you create a Launchpad account you click on the “this affects me too” button to add your vote.

Some time ago I did an experiment and used KiCad as a “drawing program” instead of a PCB design program to duplicate features with copy / paste and array functions, and I made a writeup as I went along, and I posted it at:

In schematics you should use hierarchical design. For pcb try the Place footprints and Replicate layout action plugins.

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