AISLER Push for KiCad

About this tutorial

Luckily we support KiCad natively. To get the best experience please use our KiCad Plugin AISLER Push for KiCad. You can download the plugin using the "Plugin and Content Manager” in KiCad V6.

AISLER Push for KiCad

Push your layout to AISLER with just one click for instant Powerful Prototyping

Want to use Powerful Prototyping or Amazing Assembly from AISLER? This plugin will provide you with a convenient one-click push to our service.

When you click the AISLER Push-Button we will export your project’s

  • Gerber Files in the right format, so that production will run ultra-smooth
  • IPC-Netlist-File to enable Smart Tests for production so that you get feedback down to the tiniest trace on how to improve your design for production
  • BOM-file to import all components you have already assigned in your project
  • P’n’P-file to get your project ready for assembly

Once the upload (– which will only take a couple of seconds –) is complete you can place your order within less than one minute. If you iterate on your design and click the push button again, we will make sure your project is stored as a new revision of that same project on our server.


Installation from the official KiCad repositories

Just open the “Plugin and Content Manager” from the KiCad main menu an install the “AISLER Push for KiCad” plugin from the selection list. That’s it!

Manual installation

If you prefere the latest version of this plugin, download the latest release ZIP file from Releases · AislerHQ/PushForKiCad · GitHub, within KiCad open the “Plugin and Content Manager” from the main window. Install the ZIP file using “Install from File…” a the bottom of the window.

How do revisions work?

On the initial push of a new layout, the plugin adds a comment to comment line 3 including a reference to the corresponding AISLER Project ID.

Each further push will add the current layout to the project as a new revision. If this is not desired, just remove the comment and a new project will be created.

How to automatically assign parts?

In order to speed up the development to production process we support the automated matching of parts. Just add a property named either “Mpn”, “MPN”, “mpn” or “AISLER_MPN” to your schematic symbol properties and use the MPN of the part as value. To avoid mistakes, we will only automatically assign a part if the MPN is a 100% match. Alternatively, you can also use a Smart Match description in the field as described in Documenting parts.

Attribute list for MPNs

AISLER is a Platinum Sponsor of the KiCad project

KiCad Platinum Sponsor


Any timeline on when KiCad 6 is supported?

welcome to the community @Fraxinas

it’s already fully supported. We have just updated the tutorial. Please use the official AISLER Push for KiCad plugin from the “Plugin and Content Manager” inside KiCad v6,

Thank you very much, this is very convenient and highly appreciated!

1 Like

Using the plugin adds this field, thus changing the file. This means a new change in version control (e.g. git), which is normally undesirable. Also, this project ID is leaked via the design to anyone the design files are shared with (possibly public). This also seems undesirable and there is no warning that the plugin makes changes to your project files.

I could not find any information on what the project ID is used for. How would it e.g. behave if the same file was ordered by another customer? Can the ID be used for any harmful purpose?


welcome to the community.

It is used to create versions on the same project on; hence once you change your file and click the Push-Button, it will add a new revision instead of create a new project on AISLER.

If this is not desired you can just remove the Information we are adding by removing Information field 3 in your project setting in KiCad.


The Push feature works great. But I’m having troubles with the Part Matching.

For exemple I put “1844210” in KiCad’s MPN field and it matched another MPN “CM1213A-01SO”. When I try to reassign manually the part I think I see the problem:

There is a perfect match with my MPN but it appears second. Sadly the automatic match took the first result…

How to enforce an automatic match on the exact MPN? I don’t want a clever algorithm that tries to “guess”, I want my exact MPN, or nothing.

AISLER Team Edit: @YFX Thanks for the report, we assign now only automatically if the MPN is a 100% match! I clarified this behavior in the documentation above.

Then second question, how to automatically match (I mean all at once) the Capacitors and Resistors? If I enter “0.1uF 1206 50V” in KiCad’s MPN field, it gets matched with some specific C or R (not a generic one), but then it isn’t free anymore. I would like to automatically match all R & C with your “Smart Match” algorithm, based on a field from KiCad.

Thank you for your support.

HI @YFX , welcome to the community.

Do I understand your issue correctly, that 1) you think the manufacturer should be considered when we auto-match the components and 2) you want to know how to indicate a Smart Match component in KiCad?

Hi Felix,

For 2) yes, that’s right. It would be great to indicate all Smart Match from within KiCad. Maybe thanks to a new field, as reusing “MPN” for a Smart Match text is not a good idea.

For 1), hummm, no I didn’t talk about the manufacturer. I’ll try to rephrase my problem. Look at my screenshot. If I enter the MPN “1844210” the first match should be the component that has MPN “1844210” (from “Phoenix Contact”). But currently, the first match is MPN “CM1213A-01SO” (from “Onsemi”).

My problem is that I entered a correct MPN “1844210” in KiCad MPN field. But it got automatically matched with the component “CM1213A-01SO” when I pushed my project to Aisler.


okay now I understand:
For 1) Oh okay now I understand, makes sense. and this is indeed completely unintended behaviour, we will file a bug for it internally.
For 2) this is in fact a great suggestion, would you mind filing it under 🎁 Wishlist - AISLER Creative Community Category so that we can discuss it internally?

I can’t see the plugin after installing from the default repository, either in Tools > External Plugins or the button in the top bar. This is Version: (6.0.4-0), release build. This is after refreshing plugins and restarting KiCad. Any advice?

Hi @will
noticed this issue on my Fedora 35 based system, too. We will publish a fix for this today, however it’ll probably take another day the be available on the official KiCad repositories. I’ll keep you posted on the status.


Thanks! I’ll check again in a few days and let you know if it’s fixed for me.

1 Like

Updated plugin is available now on the KiCad Plugin and Content Manager. At least on our systems, the issue is solved now.

1 Like

I uninstalled and reinstalled the plugin and refreshed plugins, but I still don’t see it. Maybe I’m doing something else wrong?

Hello Aisler-Team,

found an already reported issue at github:

with the current kicad nightly i found a bug in the upload script:

  • start kicad from the terminal
  • create empty project
  • open PCB-Editor
  • just define a edge-cut line
  • click on the aisler upload-button
  • watch the terminal:
$ kicad-nightly 
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.9/", line 973, in _bootstrap_inner
  File "/home/stefan/.local/share/kicad/6.99/3rdparty/plugins/com_github_aislerhq_PushForKiCad/", line 50, in run
  File "/usr/lib/kicad-nightly/lib/python3/dist-packages/", line 8900, in <lambda>
    __getattr__ = lambda self, name: _swig_getattr(self, PCB_PLOT_PARAMS, name)
  File "/usr/lib/kicad-nightly/lib/python3/dist-packages/", line 80, in _swig_getattr
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
AttributeError: 'PCB_PLOT_PARAMS' object has no attribute 'SetExcludeEdgeLayer'

so the upload fails / does not really start…

my versions:

Application: KiCad

Version: 6.99.0-unknown-484fabf336~148~ubuntu21.10.1, release build

	wxWidgets 3.0.5
	FreeType 2.10.4
	HarfBuzz 2.7.4
	FontConfig 2.13.1
	libcurl/7.74.0 OpenSSL/1.1.1l zlib/1.2.11 brotli/1.0.9 libidn2/2.3.1 libpsl/0.21.0 (+libidn2/2.3.0) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3

Platform: Linux 5.13.0-41-generic x86_64, 64 bit, Little endian, wxGTK, KDE, x11

Build Info:
	Date: May  1 2022 08:10:43
	wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
	Boost: 1.74.0
	OCC: 7.5.2
	Curl: 7.74.0
	ngspice: 35
	Compiler: GCC 11.2.0 with C++ ABI 1016

Build settings:

Hi @s-light,
just answered this on Github, see Fails to Upload · Issue #14 · AislerHQ/PushForKiCad · GitHub
It is related to some KiCad Nightly change, however I am not able to find the issue right know.


1 Like

thanks @Patrick-from-AISLER for the fix!
(see the issue)
i just tested it and it now works!

Perfect! I’ll create a new release of the plugin then. Until then, please use the direct installation from Github.
And thanks for testing @s-light