Years ago, we would create a bill of material (or parts list), BOM for short, with pencil/ink and paper/mylar, whether on an assembly drawing or separate documentation. This proved to be a painstaking process to say the least. The advent of modern computing as well as schematic capture systems has greatly improved the process. But are you reaping the full benefits of a modern BOM? First a word about BOMs…
A list of parts and materials, a bill of material, is required to assemble a given product. This list could include mechanical items, hardware, consumables, software, firmware, test plans/instructions, etc. A list is typically generated from the schematic, therefore the part library should contain all such data for general use in the BOM as well as pcb layout. A BOM documents what items to build into an assembly or product.
A basic BOM might look like this:
A few items are obviously important: Part identifiers or designators, quantity used, part numbers (manufacturer or corporate), manufacturer, values to help identify parts, basic descriptions. A simple BOM such as this would allow a product to be assembled, however, more data would be beneficial in both the short and long term. How so? A few examples:
- If just corporate part numbers were used, how would the original engineer communicate the original design concept or intent? Parts could be changed by another engineer or technician, and the circuit may no longer function as intended.
- If corporate part numbers are not used, could alternate part numbers be included in the schematic data for the BOM? This would help identify alternate sources in case of extended lead times or part obsolescence.
- Adding a cost field to a BOM may help identify opportunities for cost savings and provide estimates for total assembly costs.
- A carefully thought out format could streamline data entry and/or interpretation by documentation services or contract manufacturing.
Adding hardware, software and other items to a schematic can be unwieldy. Keeping a separate list of items in the correct format would allow appending this data onto the schematic-generated BOM. Even then, special parts can be created for use in a schematic to call for these items. This prevents certain “small” items from being left off the BOM.
For this concept to be used well, engineers, designers and technicians would need to use parts that are properly specified. A complete set of attributes or parameters could be stored as a template. This would call for standardized libraries that would be stored in a common location, such as a corporate or cloud server. Some design systems allow for unique attributes or parameters to be used within a corporate setting. Some limits will be required to keep the resulting library from containing trivial data that serves only to bloat the design database.
Every distinct part used in a design to be found in a library. Use of generic parts that are later changed to suit immediate needs tends to create problems. Were the parts modified correctly? Is there unnecessary duplication of data and time used? Is incorrect or erroneous data present in the part information?
For example, would it not be easier for an engineer to select a standard part from a library, instead of modifying an existing part again and again? After the initial effort to create a part per a predefined plan or template, a part would then be available for use in all future designs. There is savings in time and effort, and more consistency in specifying part data. Over the years we have seen problems associated with “modified existing” parts, such as incorrect descriptions, wrong footprints, inconsistent symbol usage, and other things. We review each project for such items, to catch and (hopefully) fix such items so that the BOM and resulting board design are correct.
Improving the BOM creation process will result in product improvement, shorter development time, lower overall cost, and even better quality of product and life.