How to Build a Clean and Consistent PCB Data Library
Judy Warner: Cherie, before we get started, please take a moment to define what a “library” is and what the full scope of that entails.
Cherie Litson: Most of us would define a “library” as a consistent file of symbols and a consistent file of footprints (decals, land-patterns, etc.) connected with some form of a database. You don’t even need to have the database, just a good schematic symbol file and a footprint file and a method to link them (attributes, packaged libraries, etc.). If you’re defining a library for yourself, this works just fine.
That’s the simple form. It’s a good starting place. There is a whole lot more to it if you are looking at a “Company Library.” This method is more applicable to a system library design. It is highly possible that the PCB library may have to tie in with purchasing, DFM, manufacturing, test, programming, mechanical, and other departments or systems.
Over the years, I’ve had many opportunities to set up library systems for small companies such as SonoSite in Bothell, WA and DCI in Kent, WA as well as very large companies like Microsoft in Redmond, WA. I’ve created different component libraries to fit the situation and company and discovered a few things that work and don’t work along the way.
In either scenario, the most challenging task in creating a component library system is to get buy-in to create it, and then to provide training for everyone who needs to use it. Otherwise, it won’t work-- no matter how fancy it is!
Warner: What are the biggest pain points for a PCB designer in regards parts libraries and data management?
Litson: In regards to a library system point of view, it would be to have a consistent plan. What kind of database will you build – or be asked to use? One-to-one? One-to-many? Many-to-many?
In the case of an independent library, the biggest hurdle is making new parts that the client doesn’t already have. Or if they have NO libraries whatsoever. Then I have to build them, and this takes a lot of time.
The worst type of part is transistor packages. The manufacturers refuse to stick to a standard size and pin arrangement! So, you end up having to make new ones even if you have similar packages already.
Most of my libraries are one-to-many for passive components. Active components and ICs end up being one-to-one.
The second pain point is footprint control. There are so many variables and questions you need to ask yourself such as:
- On which layers are the features created?
- What size are the features?
- Are they consistent?
- Are they accurate per the data sheet and IPC footprint for the CLASS of product in development?
- Is the height correct within .05mm (2mils)?
- Are you using silkscreen or not? If you are using silkscreen – don’t let it be under the part or on any solderable copper areas.
- Do you need special features such as paste, solder mask, carbon, hard gold, etc.
It is important never to have a dual footprint (one footprint that fits two different packages and not good for either of the parts used). It is very risky in a production environment! The exception can be for a test board where there is hand soldering and the risk can be mitigated for a project library, but never for a system library.
Another key issue is to ensure your schematic symbols are standardized in the following ways:
- Pin numbering
- Pin Signal naming/labeling
- Number of pins matching the footprint – including pins for mounting.
- Symbols that are LOGICAL parts, NOT MECHANICAL representations. That’s for wiring diagrams.
- Stay on GRID with the pins!!! Staying on grid ensures connectivity in the schematic and makes changes easier.
In regards to data management control:
- NEVER reuse a data part number – just create a new one.
- Keep the database up to date.
- Have a request system that doesn’t overwhelm your resources. Don’t create a bottleneck situation.
Warner: It amazes me designers can keep all these variables in check! What current conditions exist in the market today that add to the challenge of good library and data management?
Litson: Funding for data management is the biggest challenge. Companies need to understand the importance of this function.
Funding is especially critical when you own a smaller company; time is money, and you must invest your own time, which translates to dollars when it comes to component management. A small company may not be able to create large libraries. However, using “off the shelf” libraries is risky as they are not very accurate. They are also often difficult to add to or to change them.
Conversely, large companies don’t always devote the proper resources needed. Some of the key barriers are:
- IT support. Including a good programmer to interface the library into the company systems.
- Component engineering support.
- Experienced people to create footprints – not the beginners (or at least closely supervised beginners with a checking process).
- Feedback from the manufacturing companies, or DFM.
- Feedback from layout.
- Purchasing interaction for lead times & availability.
- Managing part requests:
- System for new parts to be added
- System for old parts to be replaced
Warner: Component libraries and data management are a critical part of the PCB design process--but if you have a small design service or team, it’s easy to avoid putting a centralized system in place and just make small libraries for each job. Do you think this a good or bad idea, and why?
Liston: Well, that’s a loaded question--I think it’s a good and a bad idea! It’s a good idea because as small design service bureau doesn’t have the time to manage a database library. Also, companies don’t have the same standard layer setups. Therefore, the parts you create for one company will be different in another.
Let’s face it, a client doesn’t want to pay the service bureau to create a library for a PCB that they only build 50-200 per year and only a few different boards per year. Sometimes the company has a library already established; they just need an easy way to create a “Project Library” for the service bureau to use and a way for the service bureau to submit new parts for review to add to the database.
It’s also a bad idea because having some consistency helps when other people are involved. At least have some standard ways to create the symbols and parts and document those standards. You should also have a checking system to be sure they are consistent. This practice helps when a company doesn’t have any libraries or standards set up, and you can save some time by using your own libraries.
Warner: Cherie, you've been designing PCBs for many years, and teaching others in EPTAC IPC CID training courses. What works best for you personally since you own a design service and consultancy and what do you recommend for your students?
Litson: First, I find out what the company needs, what they have already, and work within their parameters.
Most of the time, I will create a “Project Library” that stays with the design. It may start from parts placed from their database and include any I need to create. I find this to be the safest way as company databases can be altered accidentally or due to a management decision that unknowingly changed the component attributes or software.
Warner: What things help you keep "clean" libraries with parts that haven't become obsolete or gone on allocation?
Litson: First, let’s be realistic. ALL parts become obsolete at some time. Companies go out of business, and you can no longer get that part. You have to have good alternates available in the database. These alternates MUST conform to the three F’s – Form, Fit, & Function. There are many methods out there for finding obsolete parts. Select one and work with it. Long lead times should be verified with part requests. If this is the only part that will work in a situation, then justification needs to be submitted. That’s where CE's (component engineers) can help. They need to have input into the system.
For me personally, if I get a project that has components listed that no longer exist, I take it back to the electrical engineer (EE). It becomes their responsibility to find another one. If requested, I can research and offer suggestions. But, that’s because I’m also an EE. The client is ultimately responsible for the design of the product.
Warner: What are the risks associated with using generic components not connected to MPNs?
Litson: The biggest risk is that it won’t fit. But it depends on what you are calling a “generic component.” A many-to-many database will have generic symbols and generic footprints. It’s then the job of the database to tie them together correctly. I shouldn’t have to make multiple “resistor” symbols just because they have different values. That’s the purpose of the database. One symbol and the database provides the MPN, Distributor PN, Description, Value, Notes, Footprint, etc.
A good rule of thumb is always to have alternates that meet the fit, form, and function. A one-to-one library will not have generic symbols and footprints. I have individual schematic symbol and footprint libraries with a generic drawing of passive parts, so I don’t have to redraw them every time. I DO NOT like most of the passive symbols that are supplied by the software companies as they are often incorrectly created. I started out as a drafter and know what the symbols are supposed to be like. (I go over this in the CID.) Also, I have found some symbol libraries that have pin numbers assigned in reverse of the same type of polarized parts (diodes, capacitors, and transistors).
One of the issues we have in the industry is the OEM’s are developing one-to-one databases, and companies prefer a many-to-many database. It is very difficult to translate between them. Another issue is manufacturers who create their own version of a part. This practice is detrimental to the companies that are building products. It limits the FF&F capacity of components that can be specified. Transistors have always been guilty of this. Connectors are notorious for this lately--mostly due to competition in the cell phone industry. I sometimes refer to this as “how to shoot your own toes” (it’s not quite a foot).
Warner: It seems like the lines between ECAD and MCAD are more blurred than ever. What tools or practices help you to collaborate most fluidly with the mechanical stakeholders in your designs?
Litson: Simple communication of expectations!!!! REALLY! It is not the job of the tool to do this. It is the job of the company to bring the EEs, mechanical engineers (MEs), & design engineer together and set expectations. Then the tools can be set to support the collaboration. Later, they need to include considerations for manufacturing, testing EEs, PCB designers, purchasing, DFM, project managers and the rest. It is possible to design a product that can’t be built. We call that an “Escher” after the artist.
I always ask for mechanical input. If I can meet with the ME, all the better. My intent is to make their job easier too. Here are some basic things for EE, ME, & DE to agree upon:
First – Control the number of characters you’re using to define placement, heights, radii’s, tolerances, etc.
- Stick to a maximum of 3 decimal places in imperial measurements and 2 in metric.
- PCB tolerances are dependent upon where they are built. There are controlled environments, but most PCBs are built in minimally controlled factories with a lot of manual steps – and typically no clean room.
- PICK A GRID! And stick to it as often as possible. I like .05mm/2mils. It has the least number of variables when converting and keeps everyone sane when creating components and routing. That’s about the limit of general manufacturable tolerance anyway.
Second – Set a common Origin and don’t go moving it around.
- Set up datums from the Origin so that mechanical components can be aligned easily. KEEP these locations in as close to a whole number as you can to make it easier for everyone to check.
Third – Establish the exchange protocol everyone would like to use.
- Within a company, setting up a common area on a server works well.
- Also, determine what each software capability is and what exchange parameters work best for everyone.
- As an independent contractor, I will need to send a file from the layout to the ME to check and they will need to send one back to me. Common internet locations are not always safe, and the VPN is slow.
Fourth – How much 3D is needed?
- Are simple shapes acceptable or are 3D models needed for each component?
- If there is no existing 3D model, who is responsible for creating them?
- Component 3D models MUST reside within the PCB footprint. Otherwise, they are not linked, and they need to be.
Many times, a mechanical component has to be added to the schematic and assigned its own non-electrical footprint. This is common for many nonelectrical features that are also added to the PCB. If the component is not in the schematic, it could accidentally get removed with a netlist update.
When doing this, be sure these components do not end up in two BOMs – ME & EE.
Fifth – Define who is doing what and when.
- Documentation needs to be done by those who know what is needed.
- Those who do the Fabrication and Assembly documentation, need to know what those facilities need. See my last blog on “Documentation for Output - Who Needs What.”
- Some companies have the ME do the documentation, and some have the DE do them. Both groups need to understand electrical physics, the manufacturing processes, and IPC specifications needed for EACH of these manufacturing facilities. They don’t get the same set of files.
- Component management may be split between the ME and EE depending upon the component. Have an approval method that includes both departments and notifies adjacent departments.
Warner: Thank you so much for this deep dive into the complexities of what you do relative to libraries and data management, Cherie. We appreciate you sharing your insight.
Litson: My pleasure, Judy. I appreciate you and Altium helping designers like me to share what we’ve learned over the years.
Learn more about the shared PCB component library capabilities available in Concord Pro.