Can I Merge 2 Separate KiCad Board Designs into New PCB Layout?

Yes, you can do this.

If you are just trying to make a panel that contains two or more layouts, then just start pcbnew by itself without starting the entire KiCad application. Then open one of the .kicad_pcb files. Then, use the File => Append Board command to bring in another PCB layout. You can do that multiple times to bring in as many other layouts as you want.

If you want to merge two schematics, you could create a master schematic and add hierarchical pages that each refer to one of your existing schematic files (you’ll have to move your existing schematic files into the master project directory). Then you should be able to make connections between the hierarchical pages using global or hierarchical labels. I’m not sure if you could merge the existing PCB layouts as well and have it matchup with the merged schematic netlist. I’ve never done that.

5 Likes

@devbisme Thanks for the info and confirmation that this can indeed be easily done.

I’m about to give this a try following your directions.

If it all works out fine then this will save me tons of time which is always good.

I have several questions:

  1. Why do we have to open a new PcbNew application instead of simply creating a new pcb_new file in the project? (Creating another file in the project does not let you use “append board” option, it is disabled in the menu.)

  2. Why does not appended boards are updated when they are changed? Does this facility only copies and pastes the content of the board?

Isn’t there any option to create a pcb as a module, as we do by castellated mounting? E.g.:

I wish (and expect, actually) to have an ability to create a pcb and use it a castellated circuit like module in another pcb design. Something like:

Sure, treat it like any other SMT device. It has a symbol and a footprint, and optionally a 3D model.

1 Like

So, how can I include my other pcb in my current pcb design session?

You can’t design two PCBs at the same time, they need to be separate projects.

There is no problem with the separate project requirement for now. I may handle this later. But I can not find any option to “import” or include another project in my current project…

The output of Kicad is designed to make a single PCB, so it doesn’t make any sense to include another project. If you are hoping that changes in a project are going to automatically propagate to another project like a #include “subproject” statement, forget it, that is not going to happen.

Really, these philosophy / hypothetical ideas are not going to lead anywhere. KiCad is what it is. It is best to learn how KiCad works, then go with the flow.

For an example of a board represented as a component, have a look http://www.kicadcloud.com/schematicSymbol/2428

1 Like

You have to get a way to generate your PCB as a VRML model. And then, import it as a footprint with 3D shape models. (EDIT: I mean what @bobc said in the next post)
Maybe this tool can be helpful, have a look at StepUp:

1 Like

Hey, don’t confuse the guy further. :slight_smile: You can’t “import a 3D model as a footprint”. You can create a footprint, and then attach a 3D model, but the 3d model has zero effect on the copper layout.

2 Likes

Allright. Thank you for Kicad.

I like this answer but having problems with doing it.

I’m trying to combine 3 PCB designs for a prototype run to get a lower cost on the first version of each of three designs and get a single stencil to assemble these first prototypes.

Later I will panelize a single design with say a 2x3 array (Qty 6) to fit into a toaster over.

For now, to give these instructions a try, I found the pcbnew application and started it as Administrator (version below)

Application: Pcbnew
Version: (2013-05-31 BZR 4019)-stable
Build: wxWidgets 2.9.4 (wchar_t,compiler with C++ ABI 1002,GCC 4.7.2,wx containers,compatible with 2.8)
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Boost version: 1.53.0
Options: USE_PCBNEW_NANOMETRES=ON
KICAD_GOST=OFF
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=OFF
KICAD_SCRIPTING_MODULES=OFF
KICAD_SCRIPTING_WXPYTHON=OFF

When I try to open any one of a few layouts I get this error message. I basically get the same error on several layouts I have tried. Any clue what is going on?

TIA

EDIT: I got something to work but not following the directions

1.) I started KiaCAD as administrator
2.) opened a complete PCB layout using pdbnew from the project.
3.) “save as” from pcbnew as XXXX_prototype.
I closed Kicad.

4.) I then used windows explorer to open the XXX_prototype.kicad_pcb file pointing to pcbnew.
5.) Now with the first PCB in the layout I started using “Append board” to add two others.

These designs share a lot of net names as they are very similar mainly differing in layouts. So I now start getting rats nests. I am leary of doing any DCR checks as I can do all of that as individual designs.

Does this sound OK?

I’m not sure if you could merge the existing PCB layouts as well and have it matchup with the merged schematic netlist.

Unfortunately no; you will be forced to reannotate and lose the mapping of the reference descriptors. This is one of those areas which requires some work; at the moment it is especially annoying for people who have a circuit module which may be reused many times in a single PCB design.

Could you say me if there is another mode to make this operation?

I have watched that it is not possible to make in this mode on the last Kicad version (as “devbisme” has written).

First, this is not possible:

Before KiCAD can do that a lot of water will have flown down the rivers.

Again, just to be clear - you won’t be able to get 2 or more projects (schematics + layouts) to become one project, where each schematic is linked with it’s respective layout.
People are working on this (afaik) to make this possible, but it’s NOT around the corner.

If you just want to create a panel from finished layouts (no links to schematics) you can do this:

start PCBnew as a standalone application

append layouts (be careful that you move them out of the way before you import the next one, otherwise they might land on top of each other)

move stuff around, create the outlines/modify them, add mousebites, check out the gerbers and voila, you’re done.

There is another possibility to use the merging two or more boards.

Is Team Collaboration, see the “Team PCB”, for old Board Station from the Mentor Graphics http://s3.mentor.com/public_documents/datasheet/pcb/board-station-ds.pdf

On page 6-th there are some description about Team Work. It work that the PCB file in Board Station are ASCII files, and the merging is easy, as could be in KiCad.

It is rare in electronic to start the schematic for scratch, mainly there are several sheet used for old project, like power supply, DC-DC converters, the processor- memory unit, front-end amplifiers, ADC.
Mainly connected hierarchically. But the new one is the PCB board, rare could be stick together the old PCB, board, mostly the PCB have to be made for scratch.
PCB collaboration is to one of the methodology to speed up the time to complete the PCB. Each “PCB draftsman” are the own PCB area, and route the connection. After each complete, the whole PCB board was marge for each PCB.
The same methodology use the Altium PCB Collaboration, using the SVN.

I hope the KiCad going into GIT versioning, creating this useful features.

1 Like

Any solution to merge 2 PCB layouts in 2020? I would like to import an existing schematics and layout in my design.

Are both desings part of one PCB? Could you join them also on schematci level? If yes, you could make a nwe kicad project with hiearchical design. Then you add two hierarchical sheets and you point them to original schematic files. Then you open original project layout and save the layout using Save/restore action plugin. Then you restore the layout in newly created project.

I am not sure that this is what you wanted though.

1 Like

Thank you very much for the advice. It helped me a lot

1 Like