How to generate the BOM and Centroid file from EagleCAD
In this tutorial, we will show you the steps necessary to generate BOM(Bill of Materials) and CPL(component placement list, also known as a Centroid file/Pick and place file) in EagleCAD. This tutorial was written for EagleCad version 9.5.1.
Generating BOM Files
The BOM file (Bill of Materials) tells the manufacturer which components corresponds to which designator. For example, PCBs have component designators like C1,R1,T1 etc. printed on the silkscreen layer. But the manufacturer needs to know what value capacitor or resistor has to be placed at that location. This information is present in the BOM file and is very important for assembly work. BOM file is a simple text file in CSV format but you can also create it in MS Excel or other spreadsheet programs like Google Docs.
To generate a BOM file from Eagle make sure you are in the Schematic Editor and go to File > Export > BOM. This will open up a new window where we can configure how we want our BOM file to look like. Check Values and CSV option and uncheck List attributes. Next you can save the bom.csv file to the desired location by clicking the Save button.
Now the file needs to be edited to contain the expected column names for the JLCPCB system to correctly identify it. You can import the bom.csv file into your favorite spreadsheet editor, in this example we will show you how to use Google Docs. Start by creating a new spreadsheet and then go to File > Import. In the newly opened windows select Upload and select the previously created bom.csv file. Now you can configure how the import will happen, you can choose to replace existing sheet or create a new one. You need to put in the correct separator which in our case is the semicolon and you can click on Import data.
Next you will need to adjust the column names, create new columns or delete existing ones that are not required to match the ones shown in the example below.
As you can see in the above screenshot, we have first column Qty where we count how many of that particular part we need in our design. Next we have the Designator column, this is the identifier for that component, which is also printed on the silkscreen layer. Next we have the Footprint column where you need to specify for the manufacturer to install the correct package for that particular component on your pcb. Next we have Comment column where you should describe the parts in as much detail as possible, the most important being the value of part say 0.1uF but you should also include tolerance, maximum voltage and other information so that the production staff can pick exactly the right part for your project.
Next column is the LCSC Part #, this column can really help speed things up because parts can be easily and accurately identified using this reference number. Simply check if the part you need is in stock in the JLCPCBs part library and fill in the LCSC Part # in the corresponding column. The last column, Description, is optional but you can use it to supply additional info to the manufacturer about those parts. When you finished editing the bom file you can export it from Google Docs by clicking File > Download > Comma-separated values. Name this file bom.csv and upload it when ordering the SMT assembly service together with the component placement file.
Generating Pick and Place files
The component placement (also known as Centroid) file contains information about the exact coordinates where each part is placed as well as the orientation. To generate this file make sure you are in the Board Editor and click File > Export > Mount SMD, this will prompt twice to select a location where to save the file. First prompt is for the top assembly file, save this as top.csv. Second prompt is for the bottom assembly file, save this as bot.csv. From this point continue with the file corresponding to the side you are assembling top or bottom.
As generated by EagleCAD the file is not in the format expected by JLCPCB so you need to make some changes. Start by creating a new spreadsheet and then go to File > Import. In the newly opened windows select Upload and select the previously created csv file.
You will notice the individual columns are not identified correctly, to fix this first select the data and then go to Data>Trim whitespaces, next go to Data>Split text to columns and select space as the separator. Individual columns should now be correctly identified but we don’t have any column headers.
First column generated by Eagle is the Designator column, next is the X position, Y position and Rotation. You can delete remaining columns as they are not needed by JLCPCB. Between Y column and Rotation column we insert a new column named Layer which will contain Top or Bottom depending on the layer you want assembled and the file you selected earlier.
This is how the file should look after naming the columns.
When you finished editing the component placement file you can export it from Google Docs by clicking File > Download > Comma-separated values. Name this file assembly.csv and upload it when ordering the SMT assembly service together with the BOM file.