Components list

Hi everyone,
Is there any way how to generate the material list from the schematic?

Look at BOM bill of materials

1 Like

You can get a BOM (bill of materials) from Pcbnew:

Assuming you have annotated, run CvPCB and then generated a netlist in the schematic editor you can do the following:

Read your netlist in first (click the NET button then read current netlist) then go to file -> fabrication outputs and choose BOM file.

Save this and you will have a .CSV file you can open in a spreadsheet.

1 Like

There is this button in EESchema but it does not actually do anything without a plugin.

This is why I always go to Pcbnew and generate one, this way you get a CSV file that can quickly be read in to a spreadsheet and used without needing to do anything extra.

Thanks Andy_P for pointing this out - I only looked at this button a couple of times and my Google searches never gave me anything useful.

I just did the following and it created a file for me:

Click BOM
Select ‘Add Plugin’
Navigate in to ‘scripting\plugins’
Select ‘bom_cvs.xsl’
Left the name as it was and clicked ‘ok’
Click ‘Generate’

This created a file (without any filename extension) with contents as shown below:

Qty,partname,description,lib
0,“D”,“Diode”,“device”
0,“Q_NPN_EBC”,“Transistor NPN (general)”,“device”
0,“R”,“Resistor”,“device”

I tried again with the bom_with_title_block_2_csv.xsl plugin and got a file with contents like:

Reference,Value,Library,Library Ref
R6,220R,device,R
D1,1N4148,device,D
C6,0.1uF,device,C

The second one seems better as the quantity field is not zero for everything and the file details the parts’ information better.

When I use Pcbnew I get:

Designator,Quantity,Designation
“C2,C3”,2,220pF
“Q1,Q2”,2,2N3904
R1,1,120k

For me I like the Pcbnew one as I hand make my boards and I use this list to go and grab all the components from my storage trays.

As you say it does mean that if I change my schematic I do have to update Pcbnew to get an updated BOM but for me I would be doing this anyway to keep both files in sync.