The Method to Generate Centroid File and BOM from KiCAD

KiKAD is a very effective tool for the design of Printed Circuit Boards (PCBs). The tool has numerous characteristics along with capability of designing PCB layout such as ability of generating Bill of Materials, Schematics design, and auto conversion of schematics to PCB layout etc. However, this article is comprised of all relevant information required for the acquisition of Bill of Material (BOM) having information of all relevant Component Placement List (CPL). The Component Placement List is also sometimes referred to as Pick and Place or Centroid file when use of the tool KiCAD is considered. The following is detailed method for the generation of Bill of Materials along with Component Placement List.

The Generation of Bill of Material Files

The Bill of Materials is having required information about the entire components which are used in the layout of PCBs. The BOM is also having information of the exact locations where each of the component has been placed. Considering an example of certain PCB having various components at different positions such as T1, R1, and C1 etc. being printed on the layout of PCB, however the manufacturer is not aware of the component being used on these positions. Therefore, BOM list will enable the manufacturer to have an idea of the component being used on these locations being transistor, capacitor, resistor, or inductor etc. The BOM is very important when it comes to the assembly process. However, bear in mind that BOM is a simple excel or text file which has information of all components and its exact location. In case if you don’t like the auto generated format of KiCAD, you can also make the BOM in excel spreadsheets yourself with your convenience. The image below is illustrating a simple BOM list extracted from KiCAD.


The image above has a total of four columns i.e. Comment, Designator, Footprint, and LCSC Part Number. The Comment is indicating the parts used in the PCBs with its actual values. It describes each component in detail with exact values such as a capacitors C1, C2, C3, and C4 having same values of 0.1uF. However, some of other information must also be catered such as tolerance and voltage allowing capacity etc. Designator is describing the components which are placed at different points. For example, capacitors of values 22pF are placed at points C5, and C6. Footprint is of great importance because the packages in SMD parts are coming in different sizes, and hence the assembling engineer must be knowing which package is going to be best fit in the Printed Circuit Board. Therefore, the assembly engineer must be aware of the different sizes SMT which are used in the PCB design such as 0603, 0805, and 1206 etc. LCSC Part Number is the column having information for speeding up the process of assembly of PCBs and getting precise results. Each component of the PCB has a unique number through which it is recognized and there is usually a stock of components with each PCB manufacturer. Therefore, this unique component number is very keen in recognition of the component being used and if still there exist any ambiguity then the component unique number might be searched in the library.


The following image is illustrating the Component number C382097 to be a capacitor having value of 1nF and is to be placed at point C1 on the PCB.

illustrating the Component number C382097

For the purpose of exporting the Bill of Materials from KiCAD tool, you are required to click or go to the script of Arturo’s BOM export. You can easily find it on the web. Download the script which is usually in ZIP form and then unpack it. The image below is illustrating way to acquire the Arturo’s BOM script, downloading, and installation of the script.

illustrating way

After the installation of the script, open it and then click on the option of Export BOM for the specific PCB required. You have to add the BOM script in to the KiCAD PCB file which is opened. From the command window of the KiCAD tool, change the command to %O.csv from the command %O and then click on the generate BOM for its generation. This is going to generate the required BOM which is required for the assembly process. The figure below is demonstrating the method described above for changing the command and then generation of BOM.

demonstrating the method


The Generation of Component Placement List from KiCAD Tool

As described earlier that the Component Placement List which is also known as Pick and Place list of the component can also be generated from KiCAD tool. Therefore, for CPL list acquisition, first of all the PCB editor needs to be opened. By clicking on the “File” option in the PCB editor, go to the option “Fabrication Output” and then click on the “Footprint Position”. The footprint position is in .pos format. You have to export the file and then change it with the settings shown in image below.

export the file and then change it

First of all you need to change the format of the file to “.csv”, change the required units in to “mm”, and “One file per side”. After this, you have to select the footprint selection to “with INSERT attribute set”. At the end you have to click on the all options given at bottom of tab i.e. “all, errors, warnings, infos, and actions”. At the end click on “save report file”, however give proper location where the file has to be saved.

For having a compliance with the RayPCB SMT, you are required to edit the Component Placement List file libreoffice Calc. or excel format. Therefore, for the purpose you are required to do the changes as described below.

First of all you have to ref to the designator of PosX to that fo Mid X PosY to Mid Y Rot to Rotation Side to Layer, before making the export form the KiCAD tool.

KiCAD tool.

After the modification of the header, you will get the file with following format illustrated in image below.

modification of the header