Blueprints: A vision


Dear fellow KiCAders,
I would like to share a vision with you, that can speed up design significantly.

Maybe you guys arte used to play factorio. Appart from beeing one of my favorite games, it teaches you true design automation. One design automation I’m in love is are blueprints and i guess it could help KiCAD users to improve productivity while freeing you with the repetitive tasks and consequtive redesigns.
If you are not familiar with Factorio, i recommend to watch the following video:

I’m aware that there are schematic blueprints. However, what I’m looking for are both, schematic and layout blueprints. Let’s say you have your favorite buck converter, you just drop that macroblock and there you go. In case you want to use an ardunio nano with it, you just drop that blueprint in. Your BOM, designator, etc. also get adjusted. Those macroblocks (“blueprints”) should be easy to share. Basically it could make PCB design as fast as just using modules. You just use those makroblocks for systems design, the detailed work is already done inside the macroblocks.

As I know that some of the KiCad developpers and @ Chris_Gammell are reading here, i try to share the idea here. Maybe somebody finds it worth spreading. I would be honored, if Chris could discouss that Idea on the amp-hour. =)



Even if this game does as you say, it is a commercial product and we will need to review whether or not it is appropriate here. I’m not sure if anyone else here plays the game or has the time to start playing one to do the evaluation either.


I know of implementations of this in EDA:

There is even a bugreport from my side :slight_smile:


When I was using OrCad, I used the back annotate feature, which put additional properties to schematic symbols (layout position x,y layer (top/bottom)). And when I copy pasted part of the schematics to new project the footprints were preplaced according to these properties. Obviously I needed to place the tracks in new designs.

If the V6 schematics format would enable additional custom properties this would offer an avenue to implement this.