Announcement: Panelization & automation for KiCAD: KiKit v1.0 finally released!

Hi, I would like to announce that KiKit v1.0 was finally released! Read more in the release notes: https://github.com/yaqwsx/KiKit/releases/tag/v1.0.0

KiKit is a tool for automation of the manufacturing process of your boards designed in KiCAD. It makes the process fully automatic, repeatable, and less error-prone. It basically allows you to:

  • Create panels of your boards (without any limitations on board shape). You just run a command and that’s it. No more hand-drawing of panels!
  • You can quickly export files for manufacturing. KiKit comes with presets for various manufacturers, so you just invoke a command and you get the correct settings for gerbers, it can also export BOM and POS files according to the manufacturer specs. It can also check DRC for you and it does not generate any files in such a case. Therefore you never submit faulty gebers for manufacturing.
  • It can also export stencils – either files for manufacturing of steel stencils or it can export a 3D model of a stencil that you can 3D print.
  • You can automatically run DRC in CI hooked in your repository – in that case, you will be notified via e-mail, that you committed something, that does break the board.

There is also a blog post, that gives a more in-depth description of the new features: https://blog.honzamrazek.cz/2021/12/panelization-automation-for-kicad-made-easy-kikit-v1-finally-released/

10 Likes

I have spent a long time and still haven’t figured out how to use it, hahaha! :sweat_smile:

If you can use a sketch to identify the relationship between the command parameters and the various attributes of the PCB in the picture, it may make things easier.

edit :

You can also add some command line examples, because you don’t know that the parameters use commas or semicolons; or equal signs to separate and represent them.

Maybe this extensive tutorial/showcase can help you? https://github.com/yaqwsx/KiKit/blob/master/doc/examples.md There is also in-depth documentation: https://github.com/yaqwsx/KiKit/blob/master/doc/panelizeCli.md

2 Likes

Thank you very much, maybe I am looking in the wrong direction.

I have been looking for document names such as “Manual” and “Getting Started”, so I am confused.

:vulcan_salute: Live long and prosper

Just a quick warning: this plugin causes KiCAD to stay in the process after closing the main window, at least for windows.

That was the case with my plugin as well. Perhaps for the same reason? This issue was reported by qu1ck.

This was already reported and resolved in https://github.com/yaqwsx/KiKit/issues/260. Please upgrade.

1 Like

Actually, PCM is still showing v1.0.0

Anyway, I got v1.0.2 installed, it is having the same issue of disallowing KiCAD to exit cleanly.

C:\Users\elekgeek\Documents\KiCad\6.0>pip install kikit
Defaulting to user installation because normal site-packages is not writeable
Collecting kikit
  Using cached KiKit-1.0.2-py3-none-any.whl (206 kB)
Requirement already satisfied: click>=7.1 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (8.0.3)
Requirement already satisfied: solidpython>=1.1.2 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (1.1.2)
Requirement already satisfied: numpy>=1.21 in c:\program files\kicad\6.0\bin\lib\site-packages (from kikit) (1.22.1)
Requirement already satisfied: pybars3>=0.9 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (0.9.7)
Requirement already satisfied: shapely>=1.7 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (1.8.0)
Requirement already satisfied: pcbnewTransition==0.2.0 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (0.2.0)
Requirement already satisfied: markdown2>=2.4 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (2.4.2)
Requirement already satisfied: commentjson>=0.9 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from kikit) (0.9.0)
Requirement already satisfied: colorama in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from click>=7.1->kikit) (0.4.4)
Requirement already satisfied: lark-parser<0.8.0,>=0.7.1 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from commentjson>=0.9->kikit) (0.7.8)
Requirement already satisfied: PyMeta3>=0.5.1 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from pybars3>=0.9->kikit) (0.5.1)
Requirement already satisfied: euclid3<0.2.0,>=0.1.0 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from solidpython>=1.1.2->kikit) (0.1)
Requirement already satisfied: pypng<0.0.20,>=0.0.19 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from solidpython>=1.1.2->kikit) (0.0.19)
Requirement already satisfied: PrettyTable==0.7.2 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from solidpython>=1.1.2->kikit) (0.7.2)
Requirement already satisfied: ply<4.0,>=3.11 in c:\users\elekgeek\documents\kicad\6.0\3rdparty\python39\site-packages (from solidpython>=1.1.2->kikit) (3.11)
Installing collected packages: kikit
Successfully installed kikit-1.0.2

image

I also got this message while executing kikit-plugin.exe enable --all

image

Once I remove this plugin (v1.0.2) KiCAD exists OK i.e. no longer seen in the task manager, Win10, so issue doesn’t seem to be resolved, unless I am missing sth, current KiCAD version is 6.0.1.

I just tested it on 2 Windows 10 computers and I no longer can reproduce the hanging pcbnew.exe process. Could you try to locate the file kikit/plugin/__init__.py and send me the content of it? It might be possible there is still an old version of the file (e.g., Windows didn’t rewrite the file during the upgrade as it was blocked by a hanging process).

The problem with assert is new in KiCAD 6.0.1 and I am currently investigating it.

PS: The version in PCM is independent of the version of backend. There is no need to update PCM at the moment.

PPS: Using kikit-plugin is deprecated, you should use PCM instead.

I will do that tomorrow, I am currently in a remote site.

Anyway, these issues are killing the joy on v6.x, let’s hope that we are not going to see these issues again in v7.x…

I am not using PCM version, TBH PCM is still mature and missing intuitive features, so I still don’t trust/like it that much… also your plugin still shows v1.0.0, which is incorrect looking at the latest being 1.0.2.

Here you go, init.py uploaded. I doubt that this file is not re-written, uninstalling the plugin using pip removed all files…

init.zip|attachment (2.9 KB)