Keeping schematic in PCBnew

Newbie here. I made a schematic with about 60 components in the KiCad layout editor and every time I try to proceed with designing the PCB in PCBnew all the components get dropped bunched together in a semi random fashion.
I would like to keep the PCB layout roughly similar to the layout I made in EeSchema. Is there a trick to preserve the layout or do I have to adjust every component manually?

Try this plugin:

NOTE: the schematic is an abstraction of the PCB and quite often you will realise a better placement when doing the place and route of a layout


Speaking from experience, it doesn’t always work out that the parts will fall into the same places as they do in the schematic. This is particularly true when placing switches, connectors, and indicators.

Thanks for the tip. It would be exactly what I was looking for but unfortunately getting plugins to work at all is turning out to be a pain.

A big monitor also helps with the initial sorting.
Just put Eeschema and Pcbnew next to each other. Then you can click on a component in Eeschema, which will get it highlighted in Pcbnew, and then you can move it in PCBnew to where you want to have it.

I usually do Footprint placement in a few iterations.
First I place them next to the PCB, (or have no PCB outline drawn yet).
Then I do the initial placement in groups via something similar as I just described.

Third step is finalizing the routing in those groups and relative placement in combination with the tracks…

Net step is relative placement of those groups on the PCB and final PCB outline.

After that last connections between those blocks some more cleanup of details, finalizing and checking.

If you have a small monitor, you can also print the schematic, and then in Pcbnew use the t shortcut and type in the RefDes (Reference / Annotated value) of a footprint to fetch it and then place it.


Don’t try to mimic schematics on the layout, as others warned. Symbols are drawn in different styles. Some follow functionality, some follow pin out. I prefer functionality because schematics should be expressing the idea, not the physical implementation.

Also some layout rules are very strict to be able to have good EMC/EMI results. Think DC-DC switching converters. You’ll get strong current loops and if you do not pay attention to minimize them, you’ll get headaches at the end of the project.

Layout is like playing a dough, it takes shape as you progress.

Thanks. That’s probably what I will do because I can’t seem to get plugins to work with the Kicad version 5.1.8. It’s pretty annoying though that the initial organization on PCBnew is seemingly at random. If I hadn’t spend this much time drawing my schematic I would have changed to another program.

I’m not doing anything fancy. Just audio circuits. I like to design the layout pretty much as I intend to built them. That has always worked for me.

Any idea why is not working ? What have you tried ?

Take a look a this guide for the InteractiveHTMLBom, the preface applies to all plugins:

The topic arises frequently here are a couple of pointers:

I could not find a FAQ link at the moment, but If you want we can help you set the plugins up, it may be a bit of work at the beginning but the are a couple of gems well worth it.

1 Like

The previous program I had was pretty similar. It just placed all footprints next to the PCB sorted by size, which was also of not much use.
I do not know what other programs do, but I guess the’re not much better for initial footprint placement.

Lots of designs are mostly digital these days. For analog designs there is more correlation between schematic symbol and PCB footprint placement.

Have you tried: Pcbnew / Place / Place Footprrints Automatically / …
It won’t give you a final solution, but it does seem to do a reasonable first sorting based on shorting ratsnest lines.


Thanks for the links, I finally got to make it work. Your 2nd link about manually needing to add the plugin directory was correct. Also essential was making the plugin directory only 1 level deep.
After doing that a few plugins popped up, but not all of them, particularly the ones I wanted. But seeing it partially work pushed me to fix the others.

To get those working I did the following:

The 1st plugin (the one suggested in first reply in this thread) didn’t have an init-file so I added it. I copied an init-file from a plugin that worked and rewrote the content in Python to fit the new file, which was simply swapping the file names and swapping the main subroutine names. I believe (but not sure) the init-file was needed because some settings related “…WXPython…” are turned off in my version of Kicad.

And another plugin that didn’t work, I opened and closed in Python. And after that it suddenly worked. I have no idea why.

Thanks again everybody.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.