EEVblog #1307 - TUTORIAL: PCB BOM Consolidation - Page 1
Forum section: electronics / general

author: EEVblog
author_rank: Unknown
timestamp: May 20, 2020, 10:36:01 pm
content: How to reduce your PCB assembly cost & production risk by optimising schematic and BOM.Dave explains three ways to consolidate your project PCB Bill Of Materials (BOM), to make your products potentially cheaper and easier to manufacture with less supply risk. As well as being an essential good design practice!A look at a complex FPGA based design with a large number of components, how far can this design be optimised and for what benefit?https://github.com/ciaa/Hardware/tree/master/PCB/ACC/CIAA_ACC

author: BrianHG
author_rank: Super Contributor
timestamp: May 21, 2020, 04:13:09 am
content: One comment about too many of 1 component value mentioned @26:15 , If you simplified/consolidated down your BOM and there are free reel slots on the pick and place machine, instead of a worker always changing reels, they would just program and place 2 or more reels of the same value in the P&P machine.

author: victorb
author_rank: Contributor
timestamp: May 21, 2020, 10:14:05 am
content: I was doing the same thing recently on one of our designs and was shocked at the crazy e96 resistor values used for the power supplies...I threw together a quick and dirty little program to brute force search for E24 series values that would get me close to the target voltage - we saved about ten reels...something like this for each power chip:Code:std::vector<T_Res> Find_MAX8570(double target, double epsilon, bool inverting){std::vector<T_Res> intermediate;// brute force calculate everythingfor (int i = 0; i < sizeof(E24Table) / sizeof(double); i++){for (int j = 0; j < sizeof(E24Table) / sizeof(double); j++){double offset = inverting ? -0.003 : 1.204;T_Res rs = { 0 };double constant = 0.0000833;rs.value = ((E24Table + E24Table) * constant) + offset;rs.R1 = E24Table;rs.R2 = E24Table;if (abs(target - rs.value) <= epsilon)intermediate.push_back(rs);}}return intermediate;vidmatemomixI did go further on some dividers and complicated the program a bit more to find series combinations too...

author: HwAoRrDk
author_rank: Super Contributor
timestamp: May 21, 2020, 11:53:21 am
content: Dave, you already did a video on a 1-cent voltage regulator:https://youtu.be/TdNUO3MSfJs

author: thm_w
author_rank: Super Contributor
timestamp: May 21, 2020, 08:07:36 pm
content: The chosen design was an incredibly good example. There was even one capacitor BOM line where the manufacturer part number was different, but component values were identical.Quote from: BrianHG on May 21, 2020, 04:13:09 amAnother reason why "using a lot of one component" is generally not much of an issue, and very low on the totem pole of things to spend time on optimizing.In any sort of industrial type design, saving a few cents/dollars on removing bypass caps or whatever will screw you over at some point, costing massive warranty returns.If its a consumer or cost optimized product, that is a different story.

author: nctnico
author_rank: Super Contributor
timestamp: May 21, 2020, 10:53:55 pm
content: This is typically an area where a CAD package with a good component management system pays off. The one I'm using allows to sort by all database fields so it is quite easy to visualise the identical components with different footprints / voltages and change them to one component so the BOM has less different components.

author: BrianHG
author_rank: Super Contributor
timestamp: May 22, 2020, 01:44:38 am
content: For those using older simpler CADs, here is what I do to automatically consolidate part across all my designs simultaneously and automatically:Make a library component for the default parts you use.IE: Instead of placing a default 0805 resistor/cap, when I began a new cad package, I made specific 1K, 10K, 4.7K, 100nf, 1nf 0805s, 78L05D, 79L05D, 7805, 74HC04D, PICxxx, ect schematic components added to my library with specific part numbers well before I begun to design boards. Then when I design my circuits, I select from those parts first.A number of my designs use the same parts which I validated years back to be the cheapest and most abundant parts available.

author: Neilm
author_rank: Super Contributor
timestamp: May 22, 2020, 06:46:10 pm
content: The weirdest BOM optimisation I have ever done was for reason 4 - cost. Previous versions of the product used big (expensive) through hole resistors. These had to be fitted by hand and would take up a lot of space. I found that putting in a lot of 1206 resistors - BOM was cheaper and build cost cheaper as we could use several reels on the machine. As I said in the design review - other than we haven't done it that way before, what is wrong with 800 resistors in series parrallel?

author: nctnico
author_rank: Super Contributor
timestamp: May 22, 2020, 08:04:17 pm
content: Quote from: BrianHG on May 22, 2020, 01:44:38 amThe problem with that approach is that components (especially capacitors) are always improving. For example: Over the years I probably have accumulated 10 different 10uf MLCC capacitors in my database and several of those have the same footprint but different voltage rating. If you combine an existing design (copy & paste) with a new one or upgrade an old design then it is very handy to get a quick overview of the components so you are sure all the capacitors (for example) with the same value have the same part number. Changing the existing part number is not a good idea because then you never know which part went into an older design.

author: EEVblog
author_rank: Unknown
timestamp: May 23, 2020, 03:00:22 am
content: Quote from: HwAoRrDk on May 21, 2020, 11:53:21 am

author: CarlG
author_rank: Regular Contributor
timestamp: May 29, 2020, 01:28:13 pm
content: It what interesting to watch this video. It sort of gave me a pat on the back for the effort I recently put into a PCA. I got the task to make a design improvement on a PCA, and took the chance to make just the type of optimizations in the video at the same time.I would like to add a 5th optimization case: place same type components on the same side if it is feasable. E g if a diode type is replaced to reduce the amount of types, it doesn't reduce the assembly cost if it is placed on the opposite side of other diodes of the same type. Typically this is applicable for components with just a few instances, but even for "default" components (like 100n decap) it could be worth considering, e g if just a one or two instances are placed on the one side.Another thing I try to avoid is SOT23/SC70 single channel devices such as 74LVC1G04 or BAV23. Instead, I use 74LVC2G14 and BAV23S/BAV23C/BAV23A, respectively, even if just one channel is used.

author: jrs45
author_rank: Regular Contributor
timestamp: June 14, 2020, 04:56:20 pm
content: Great video.One thing surprised me - is 0402 really still considered unusually small these days? I figured it was pretty universal, but perhaps not.