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


#1

Hey everybody!

I have designed 2 separate Schematics and PCB layouts and Now I’m wondering if there is any way to merge the 2 of them together to then modify slightly and then created a 3rd PCB where both PCB’s designs are on a new PCB design.

Is there any suggested way of doing this? I prefer to not have to start from scratch if possible.


#2

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.


#3

@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.


#4

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?


#5

Because of how the PCB project manager maintains the links between the schematic and the layout, you can only have one PCB file in the project, and you can only have one top-level schematic in the project.

And you cannot do an “append board” in this mode, because there is no schematic associated with the board you are appending.


#6

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:


#7

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


#8

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


#9

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


#10

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…


#11

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


#12

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:


#13

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.


#14

Allright. Thank you for Kicad.


#15

[quote=“ceremcem, post:8, topic:821, full:true”]
So, how can I include my other pcb in my current pcb design session?
[/quote]Simple answer: YOU DON’T.

As @bobc said, treat the daughterboard like any other SMD component. Create a symbol for it (maybe just a box with pins), and then create a footprint for it. Place the daughterboard symbol onto the motherboard, wire it up as necessary. Then in the PCB you’ll have a footprint for your daughter card, as if it was just another part.

At the motherboard level, you don’t care about the daughterboard’s schematic or layout. You only care about the pins that connect the two boards.


#16

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?


#17

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.


#18

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).


#19

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.


#20

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.