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!
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.
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?
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.
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?
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?
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.
with the current kicad nightly i found a bug in the upload script:
start kicad from the terminal
create empty project
just define a edge-cut line
click on the aisler upload-button
watch the terminal:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
File "/home/stefan/.local/share/kicad/6.99/3rdparty/plugins/com_github_aislerhq_PushForKiCad/push_thread.py", line 50, in run
File "/usr/lib/kicad-nightly/lib/python3/dist-packages/pcbnew.py", line 8900, in <lambda>
__getattr__ = lambda self, name: _swig_getattr(self, PCB_PLOT_PARAMS, name)
File "/usr/lib/kicad-nightly/lib/python3/dist-packages/pcbnew.py", 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…
Version: 6.99.0-unknown-484fabf336~148~ubuntu21.10.1, release build
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
Date: May 1 2022 08:10:43
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Compiler: GCC 11.2.0 with C++ ABI 1016