Kicad board layout question

Huh. Weird. I don’t know why it wouldn’t be working. One other thing to say is that I’ve only tested it on Linux, but I would have expected plugins to work the same on different platforms, as long as you put the plugin script in the right directory. Let me just check that what I’ve put on GitHub is right…

Oh, dammit, I think I know what it is. The script is Python 3, and I remember hearing something the other day about KiCad being locked on Python 2 for Windows and MacOS until version 6.

Let me have a look at some other plugins and see how they deal with the Python 3 vs. Pyhon 2 issue. I’ll let you know when it’s fixed.

In the meantime, this thing only works on KiCad 5.1.6 on Linux. (On the summer solstice in a leap year…)

1 Like

Very slick fix, @jensa. I’ll give it a try soon!

Wow, awesome plugin! It drives me nuts finding all the bits and moving them around before I can start routing. Especially when there are 100 x 100 nF caps next to each other all connected to 5 different power domains!

@JuliaTruchsess I believe that I’ve got it working on Windows now. (At least, I’ve tested it in a Windows 10 VM and it works there.) It was this Python 3 (Linux) vs. Python 2 (Windows and MacOS) thing.

The modified version is here:

1 Like

Works now under MacOS High Sierra, thanks!

Great! Thanks for testing it!

Great work @ian! So much better than what I hacked together :smiley:
Good call on adding POS_SCALE. I thought about that, but it kind of worked for my design so I didn’t add it. It’s very much needed on other designs.

@devbisme have added it to his list of Kicad tools already and he asked if I could put it in a separate repository. Given that this is now pretty much all your work, I’d suggest that you could make a repository for it and I’ll delete it from mine? I can tell @devbisme that it’s the new location?

@jensa I’ve put my version of the plugin in a repository at and I’ve replied on the KiCad forum to say that I’m happy to maintain it. I put a brief note in the README saying “based on an idea by @jenschr”. I hope that’s OK!


Fine by me! Thanks for taking this a lot further @ian! Much smoother than my script! :stuck_out_tongue:

No problem. You had the original idea. I don’t think I would have thought of that!

I agree that there could be features to help here, but one solution - which I find has general advantages in the design process - is to adjust the process a bit and have more connected schematic/layout work rather than rigid separation.

I would usually start with placing the main components in the schematic and layout, creating the library parts and doing the schematic in priority order. So first, you separately place the large mechanical parts of a fixed position e.g. connectors. Then high-speed circuitry, clocks and power supply parts. Then other distinct and contained areas.

Of course the schematic work is still far ahead, and the layout is only really at the “floor-planning” stage, but approaching it with this gradual staggered approach I think helps the overall design a lot. I find as I’m going along this brings up other things earlier I should consider which are useful for the schematic and general design.