Repetitive layout

hi all,

I’m currently working on a PCB that has five stepper motor drivers on it. Programs like Altium offer a function to reuse the design of “PCB modules”. I know kicad doesn’t offer this feature but I don’t want to design every single driver by hand. Another reason for this is that small changes of the driver design affect all other driver means they need to be adapted and changed by hand.

That’s why I tried to find a work around. I will describe how far I managed to get until now.

  1. Place the schematic of the driver in single hierarchy sheets and annotate it with the option “Start to sheet number*100 and use first free number” this has the affect, that the same parts of the single driver have the same end number.
    Example: the driver IC of the first driver has the number IC201, the driver IC of the second driver has the number IC301 and so forth. Also all other parts are annotated the same way.
  2. I designed the layout for the first driver
  3. I tried to use the function “create array” on the designed driver. And that’s were the problems begin because I wasn’t able to find a option to create an array and annotate the parts with same number as previous part +100 as the annotation option in the schematic editor. Also the settings for the array creation are very confusing to me.

So my question, is it possibility achieve the same “offset” with the create array function as with the schematic annotation function. Or is there another way to copy the footprints and automatically add the numerical offset.


1 Like

Report this use case on the bug tracker and label it as ‘wishlist’.

I have yet to use Kicad, so take this as a wag. Think of the entire module as a footprint that can be placed anywhere on the board and design it as such. Will Kicad allow this?


as far as I know not. But hopefully such a feature will be added in the future because this is something you need very often

wow the developers acted really quick :smile: they already coded a patch for my problem.
but now I ran into another problem, I’ve never patched my kicad before. Does anybody know how to patch a kicad version under windows?


Hi suckiden, you can find prebuilt Windows binaries here.

It’s the easiest (regular Windows installer) way to get the latest KiCAD builds. There’s usually a new one every day or so.

Hi, I’m already using those nightly builds but the problem in my case is, that I need to patch the custom code by myself because the patch is not (yet) part of the regular kicad version. And as far as I understand this the patching is just possible during the build process of the binary. But if there is a way to patch kicad later on that would be perfect but I don’t think so.

Thanks for bringing this subject up.
As great Kicad has become lately, the (Lack-of) ability to treat an already layed-out PCB piece as a module is an essential feature in order to put it in par with other software packages. Not being able to do so seriously hurt productivity and add unnecessary risks to the design.

The way I see it, users should be able to attach layout to a hierarchical sheet (or maybe have a “sub pcb module editor”), such that they end up with a schematic piece, with Inputs/Outputs, and a corresponding layout. This way, once a “sub-pcb module” is LVS/DRC clean, the user can freely and easily add it wherever he wants.

Adding sub-pcb modules with append/array is a temporary solution that, while good for panelization, cannot replace true hierarchical layout.

Question stands - Is there a room for me to add that as a suggestion in the Kicad “Bug/Wishlist” developer website, and will this request be given any attention even though I’m not an active developer (though testing a lot recently the nightlies :slight_smile: )?

1 Like

I submit wishlist items nearly weekly. Some of my items were approved and implemented, and some were discussed and denied for various reasons. Kicad is open source and therefore a community effort, so please do what you can to add to the project! Maybe adding wishlist items is the way you accomplish that?

Here’s CERN’s roadmap for what they’ll be doing with Kicad: