Import schematic and board simultaneously

I have several schematics with their boards layouts ready. Now I want to import them into a master project. I know in pcbnew a board can be appended, in eeschema a schematic can be appended. But this is always separately from each other, implying loosing consistency between schematic and layout.
Is there a way to import both schematic and board simultaneously ? I’m used to Eagle where such operations are very easy and straightforward. Thanks !

Nope, no way that I know of for your use case.
KiCAD is a single pcb design tool, not for panels (yet).

Personally I recreate the layouts and keep the most complicated one in the final panel-project as a base to work from.

Your other choice are gerber tools with the ability to panelize designs.

Joan,

thanks for your reply. My question is not about panelizing designs. I’m talking about reusing ready made subcircuits (schematic complete and layout routed fully). For example a voltage regulator with its capacitors and probably an LED is something you need in almost every design over and over again.
I need a safe procedure to import/append such a block into another project.

cheers,

Mario

It would be a useful feature, and is often requested. I have a few projects where I have a standard module which I would like to repeat easily.

There is a wishlist bug here https://bugs.launchpad.net/kicad/+bug/1521062. Someone will need to explain the use case to Wayne (Kicad project leader). I’m not sure whether Wayne really doesn’t get it, or whether he is trying to deflect it because he thinks it is too much effort.

1 Like

I wonder why this problem does seem important to the developers. Re-Using ready made sub-modules is an every-days problem for a hw-engineer. However, I’m willing to help implementing this function. Whom should I contact ?

Join to the KiCad Developers team. https://launchpad.net/~kicad-developers
Send message to the mailing list about your intentions, make your own source code branch (of fork if you like GitHub), implement your ideas and prepare a patch.

1 Like

I found a blueprint document which might be of interest : https://blueprints.launchpad.net/kicad/+spec/layouts-as-footprint

There is also some mention on the roadmap as well http://ci.kicad.org/job/kicad-doxygen/ws/Documentation/doxygen/html/v5_road_map.html under “Linked Objects”.

I think one of the issues is that it requires changes to underlying Kicad architecture, file formats etc which is risky for introducing bugs. Finding a way to implement it with minimal architecture changes and low risk of breaking existing functionality would be key to getting a patch adopted, IMHO.

I was actually wondering if something could be done with user fields in pcbnew to create a link to schematic hierarchy, either using scripting or as a prototype, but I am not very familiar with Kicad internals.

1 Like

I’ve searched the Kicad road map and could not see any attempts to address this problem. Do the engineers at CERN never re-use layouts ? It is really hard to imagine. Is there any news on this topic ? Thanks !

From what I’ve read, KiCad looks close now, with all the building blocks in place.
It’s really more a housekeeping issue, than a significant re-spin of the database.

ie looks like you can merge SCH ok, and that will generate local net names, so that leaves tracking PCB clones.

I’ve moved parts OK in kiCad with simple scripts, and I find
http://ci.kicad.org/job/kicad-doxygen/ws/build/pcbnew/doxygen-python/html/classpcbnew_1_1NETCLASS.html

which looks like net find/rename is possible, so that would mean a simple script that loads a master-template PCB, and then renames the local nets using the Same-As-Sch rules, then saves as a numbered copy.

Do that for as many N clones as you need, and then use Append N times.
-File.Append I’m not sure has a good insert XY control, so maybe that is one small fix KiCad needs.

I don’t see Append in the scripts, but BOARD.Append (FileName,X,Y,Ori) could be useful ?
Maybe even a
BOARD.Append_ReNameLocal (CLoneFileName,X,Y,Ori,LocalPrefix)
could be possible ?

I’ll look into this some more…

I’m not sure whether we are talking about the same matter. Please have a look at
http://www.blunk-electronic.de/pdf/training_EAGLE_extended.pdf page 25 and following. It is a general problem, not EAGLE related, so we can dwell on this scenario. The green box with the power supply is something that is to be “invented” only once (with schematic and layout). In other projects, where I replace the ADC, CPU, RAM and Connectors, that power block is to be used over and over again.

I was looking at this example as well: voltage regulator and capacitors. I end up with creating a footprint with a voltage regulator and added pads for the capacitors in the same footprint. I looked at Eagle v8.1 and saw it has the ability to create modular design blocks (schematic layout + board layout) This should be awesome if added to Kicad.

Guus,
from what I saw in Eagle V7 it can only create modules in the schematic editor. The layout editor throws all the modules (unrouted !) into the same hierarchy level. Of course it can import other layouts via “import eagle design” which is not really related to modular design. So if V8 really is able to multi-instantiate already placed and routed modules please let me know. It would be probably worth the money to get a V8 licencse.
Best,
Mario

I briefly tried it in the free version of Eagle V8 and it works. Created a voltage regulator and caps and did the pcb layout. Saved it as a design block and can add it to a new project including schematics and pcb layout as many times as you want.

Documentation about this feature is here

But I’m too used to Kicad and felt uncomfortable with the Eagle interface and workflow.

There are several bugs raised relating to re-usable modules, in particular https://bugs.launchpad.net/kicad/+bug/1525095 and https://bugs.launchpad.net/kicad/+bug/1521062, the idea at least got some positive response, but without any commitment to implementation. There is not a directly corresponding item on the v5, v6 or CERN roadmaps that I can find.

I think it would be a substantial chunk of work to implement, there are quite a lot of complexities. I guess people will also want to include tracks, vias, zones, NPTH holes in their modules as well. What happens if you put a 2 layer module onto a 6 layer board (or other permutation)? Footprints have an FPID which may be in a local gp-lib-table, does the module need to have its own fp-lib-table?

There is probably something simpler that could be implemented more quickly, identifying the minimum subset that would be useful would be a good idea. I wonder how far a prototype could be implemented using a script.

There is a blueprint doc here https://blueprints.launchpad.net/kicad/+spec/layouts-as-footprint.

Hmm, the forum software reminds me I made almost the same post before. Well, that was over a year ago and I forgot. Considering the size of the task and number of wishlist items (more arrive every week), I think unless someone like CERN commit a bunch of resources to it, it will not happen for several years.