Help me figure out the kikit output files for NEODEN YY1 and for the PCB manufacturer.
Good afternoon. I’m learning KiCad 9
(KiCad version x86_64 on x86_64
Version: 9.0.2-9.0.2-0~ubuntu25.04.1, release build
Libraries:
wxWidgets 3.2.6
FreeType 2.13.3
HarfBuzz 10.2.0
FontConfig 2.15.0
libcurl/8.12.1 OpenSSL/3.4.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.64.0 librtmp/2.3 OpenLDAP/2.6.9
Kubuntu 25.04 OS - Platform: Ubuntu 25.04, 64 bit, Little endian, wxGTK, X11, KDE, wayland)
I’ll tell you about the problem, but first, to clarify a little about myself! I don’t know much about the Linux command line and Python, but I do know some commands for the bash console. I recently decided to try switching from Altium to KiCad. The impressions are positive!
Previously, I ordered printed circuit boards and component assembly from a local manufacturer, and I wasn’t particularly concerned about the production of panels for the printed circuit board, stencil, and files for the component installer, but over time I wanted to assemble my own component assembly line. To do this, we purchased the NEODEN YY1 component installer. I created a 4-layer board, the DRC check revealed no errors. After that, I had to struggle with installing kikit 1.7 on KiCad 9.0.2, but everything worked out.
Next, I created a new project, copied the psb and sch settings from the original project with the board. And in it, with the help of kikit, I created a small panel of 4 copies of the original printed circuit board.
kikit panelize
–layout ‘rows: 2; cols: 2’
–tabs ‘type: fixed; mindistance: 20mm; vcount: 1; patchcorners: False; fillet: 1mm’
–cuts ‘type: mousebites; spacing: 1mm; offset: -0.2mm’
–framing ‘type: frame; fillet: 1mm’
–tooling ‘type: 4hole; hoffset: 2.5mm; voffset: 20mm; size: 2mm’
–fiducials ‘type: 3fid; hoffset: 3mm; voffset: 3mm; opening: 2mm’
–text ‘type: simple; text: Panel_2_2_VC_05_2’
–post ‘millradius: 1mm’
‘/home/mikhail/KiCad_progect/VC 05_2/VC 05_2.kicad_pcb’ ‘/home/mikhail/KiCad_progect/VC_05_02_PAN/VC_02_PAN/VC_02_PAN.kicad_pcb’
At the same time, the electrical circuit was not transferred to the new project.
Next, I do a DRC KiCad check in a project with a panel, and naturally I get a bunch of errors- duplicate components and extra components all over the panel.
I understand that this is caused by the lack of an electrical circuit in the project. But at the same time, it is not said anywhere whether it is necessary to do a DRC check in KiCad after creating the panel in kikit, or whether kikit itself performs a DRC check using KiCad when assembling the board into the panel. - this is the first question!
Next, I decided not to perform the DRC check after creating the panel. Now comes the question of creating production files for the panel. In theory, this can be done using KiCad in the Production files menu.(Gerber, drilling, component location, etc.)
But kikit has a feature for creating these files via the console. The kikit website has a description of creating production files for the installer NEODEN YY1
- kikit fab neodenyy1 [OPTIONS] BOARD OUTPUTDIR
But I do not know how to correctly and what should I substitute instead of arguments
[OPTIONS] BOARD OUTPUTDIR
Here is the information from the Kikit website:
Fabrication: Neoden YY1
The basic usage of this exporter is:
kikit fab neodenyy1 [OPTIONS] BOARD OUTPUTDIR
When you run this command, you will find file top_pos.csv and bottom_pos.csv in OUTPUTDIR. This file can be used in Neoden YY1. KiKit automatically detects the number of layers.
If you want to name your files differently, you can specify --nametemplate. This option takes a string that should contain {}. This string will be replaced by gerber, pos or bom in the out file names. The extension is appended automatically.
Assembly
For Neoden YY1 you must specify --assembly option and provide the board --schematic <schematics_file>. KiKit will generate files: top_pos.csv (top layer component placement) and bottom_pos.csv (bottom layer component placement). Use these two files to assembly PCB on machine.
On Neoden YY1, the position origin must use the bottom left corner of the board edge.
Correction of the Footprint Position
It is possible that orientation footprints in your SMD does not match the orientation of the components in the SMD assembly service. There are two solutions:
correct the orientation in the library or
apply KiKit’s orientation corrections.
The first option is not always feasible - e.g., when you use KiCAD’s built-in libraries or you are preparing a board for multiple fabrication houses and each of them uses a different orientation.
KiKit allows you to specify the origin and orientation correction of the position. The correction is specified by YY1_CORRECTION field. The field value is a semicolon separated tuple: ; ; with values in millimeters and degrees. You can read the XY corrections by hovering cursor over the intended origin in footprint editor and mark the coordinates. Note that first the rotation correction is applied, then the translation. Usually, you will need only the rotation correction.
Everything seems to be described here, but I don’t really understand the command line arguments.
In this regard, I would like to ask for help with the issue.
-
How can I create a command in the bash console to get the component location files for NEODEN YY1 and is it possible to immediately get the gerber files, drills for the PCB manufacturer and the steel stencil manufacturer through the command in the console? If this is not possible, then the next two questions are!
-
How to create a command in the bash console to get the necessary gerber, drill, etc. files for panel production. Or can they be obtained through KiCad?
-
What files are needed to create a stencil for this panel?
Initial data:
the name of the source project is VC.kicad_pcb
the source project directory is /home/mikhail/KiCad_project/VC
the name of the panel project consisting of 4 copies of the source board (VC_05_02.kicad_pcb) - VC_05_02_PAN.kicad_pcb
panel project directory - /home/mikhail/KiCad_project/VC_05_02_PAN/VC_02_PAN