# How do I copy a hierarchical module in KiCAD?

I have a schematic where I'm using hierarchical sheets. I'll have five same sheets and I'd like a way to make one and somehow just copy it for the other four sheets.

Any ideas how to do that? I can't find any obvious way to do so.

UPDATE: Just to be clear: I'd like to copy not just the sheet symbol but the whole sheet and all components in it.

If you have many same schematic blocks you want to reuse, you can use hierarchical sheet like this: (Kicad-4.0.2-stable MacOSX)

1. Create a hierarchical sheet with sheet name A_1 , file name A.sch
2. Place your components and wires into this hierarchical sheet.
3. Add a new hierarchical sheet with sheet name A_x (x is 1, 2, 3), file name A.sch ( only if the file name is the same, but different sheet name will work)
4. Done.
• This is the best answer. It is similar to AndrejaKo's answer but the instructions are more explicit. When using this KiCad (4.0+) will actually confirm that you want to create a new hierarchical sheet using an existing .sch file. Sep 16, 2016 at 15:53
• The answer to this question (electronics.stackexchange.com/questions/187156/…) provides a graphical view of the same answer. Sep 16, 2016 at 16:01

This is an old question I know, but it's what I found when searching for a solution to this problem, so I think it's a good place to put the solution for fellow searchers:

1. Drag a box around around the sheet you want to duplicate, using the left mouse button.
2. Release the left mouse button and press the right to see a menu of things you can do. Select "Save Block".
3. Then click on the little clipboard (paste) icon which will be somewhere around the edge of your schematic editing area (it's near the top left for me).
4. Select where the new block will go.

This will paste a copy of your block, but it will refer to a new sheet based on the same filename as the original. If you annotate parts you'll see that the parts in the different sheets have different labels, even though they are sourced from the same schematic file.

• Was this the case with the old 4200-something build of 2013 and has since been fixed? (Why on Earth go two years between releases anyways.) Dec 9, 2015 at 6:01
• I don't know. :-) I'm a complete newbie on KiCad, using the version 4.0 release from November 2015. All I can say is that using the above solution works really well. I edit the base schematic for a sheet, and all the instances change too. Dec 10, 2015 at 2:33

Create your hierarchical sheet. Then, press "Space". It will look like it is in the image below, but you can move it anyways with "M" key, or right clicking and then clicking "Move Sheet".

I do not remember if this is the default hot-key for "Repeat Last Item" or if I have changed it before. To check this, go to Preferences>Hotkeys>List Current Hotkeys.

• In my default settings, space sets dx and dy to zero. I know that I can use Insert to repeat the last component I placed and that works for hierarchial sheets (and provides results same as you described), but I can't (or can't find a way to) do that with existing sheet. Maybe I was unclear, but I want to make copies of a populated sheet together with all components in it. May 30, 2012 at 17:07
• Ah, there is no more solution than you did in your answer, I'm afraid. May 31, 2012 at 7:02

KiCAD when making hierarchical sheets creates a new .sch file for each sheet. One way solve the problem is to make several sheets and then copy the original sheet's .sch file and have the copies replace the .sch files of other sheets. This way, when entered, each of the copies will look like original sheet.

• Do note that I am still looking for a more elegant solution to this problem. May 30, 2012 at 17:37
• I believe this answer is outdated. You don't need to make any copies of a .sch file. If you have created a hierarchical sheet that you would like to re-use, simply create a new hierarchical sheet with a different "Sheet name" but enter the same .sch file as the one you'd like to re-use. KiCad (4.0+) will even confirm that this is your intention. Sep 16, 2016 at 15:55