Automating Your BOM System for PCB CAD Library Quality and Compliance

Created: February 27, 2018
Updated: December 27, 2020

Picture of open checkbook and pen

Some years back I was helping my son organize his finances, and he was explaining to me how he didn’t need to track anything because all of that information was available to him online. The benefits that online banking provides are fantastic for sure, but they don’t quite cover everything. I asked him how he was tracking the checks that he had written which hadn’t cleared yet, and he dismissed me with a wave of his hand.

These days, after several overdrawn penalties assessed against him, he now records his written checks in the method that I had originally recommended. Score one for age and experience. Keeping track of anything that will affect what we are working on is a very basic principle. Yet people often omit to do this and as in the case of my son, it can cause unexpected problems later on.

Another example is in tracking printed circuit board CAD library changes. I have seen changes made to library parts that don’t get recorded or even saved, as well as changes to designs that aren’t updated with a new or altered part. Problems like this are not only bad initially, but they usually cascade as time goes by. The incorrect library parts continue to be used in other designs, and circuits built from existing incorrect data get copied into new designs.

The good news is that there are some things that you can do that will help to avoid these types of problems. Creating and using a documented library development flow is the first step, followed by adhering to a similar process when updating or changing existing library parts. Here are some ideas that I’ve used to help me not to fall into the trap of mangled designs due to untracked changes.

BOM System Library Development Flow

If you are creating a library from the ground up, or if you’ve decided that it is time to re-build your existing library, consider these ideas before you jump into it:

  • Build some structure into your library. I’ve seen so many libraries where any structure at all was more of an afterthought than purposely designed. Plan out from the start what library names you want to use and how you want your libraries to be organized. Your library will continue to grow, and it is best to be ready for that growth now. The last thing you want in 5 years is a thousand different styled parts all stuffed into a single library named “miscellaneous”.

  • Create a library development process. One of the best things that you can do for your CAD department is to define and document the process that you use for creating your library parts. A good process shouldn’t be so constricting that no one can move their mouse without first consulting the book, but it should clearly lay out the requirements for new parts. Naming conventions, text sizes, and line widths. These are some examples of those things that should be documented so everyone knows what is expected of them when they build a new part.

  • Define the part validation process. This may end up as being part of your library development process, but it needs to be defined. Too often part validation is a task that gets tossed over-the-wall to someone else, and it doesn’t get the attention that it deserves. Make sure to specify what the validation process is for a new part, and who is responsible for it.
Picture of PCB components on a  book
Planning the structure and development process are the key factors to a successful PCB

Library Management Flow

Once your library structure has been defined and your part development processes are documented and in place, you need to then focus on maintaining this system. I have seen several examples of libraries that started off in great shape, only to later become a real mess. Just as you have documented the part creation process, you need to also document the processes for part updates and changes.

When parts are updated or changed, someone needs to take ownership of that. Sometimes a symbol will get changed, but the footprint update gets forgotten. Other times a footprint gets modified, but the symbol on the schematic is ignored. You need to put into place a process that guides users through changing or updating the entire part, meaning both the symbol and footprint.

You also need to document what is needed to update the library and the design of these part changes. Additionally, this process also needs to include the steps that have to be taken in order to notify all affected personnel of the part changes.

Picture of Altium  18’s Active  menu
BOM management software can help you to better organize your PCB CAD Library

Bill of Materials (BOM) Systems Can Help

Another thing that I have found to be helpful in maintaining a clean library system is to use PCB design software that manages bill of materials data. In the past, the BOM data was extracted from the design in the form of a simple document or spreadsheet. With the BOM systems that are available today though, you can do much more than print out simple reports.

You can use the BOM software’s cloud connection to retrieve part data which will help you in part validation and obsolescence management. When parts are flagged as not being available for purchase or are going end of life, your BOM software will show this information allowing you to make the necessary changes to your design as well as those parts in your library.

BOM management software also gives a lot of benefits in the actual design. With the ability to make part changes and updates to your design from the BOM manager, you can better see which components you will want to use and know instantly their availability and status.

BOM management software is an extremely helpful part of an overall CAD system. PCB design software, like Altium Designer 18, has BOM management software as part of its total unified design platform. With Active BOM you have all the functionality that we’ve talked about here, plus much more.

Does managing your PCB bill of materials data to better help you organize your CAD libraries sound like a helpful solution to you? If so, talk to an expert at Altium

Recent Articles

Back to Home