Component Library Structure

John Watson
|  Created: August 17, 2020
Component Library Structure

First Things First

Before anything else, I must ask a question. “Are you ready for your next step?” By now, you should have set up the following:

  • Roles 
  • Permissions
  • Component Revisions
  • Lifecycle 

These will be the building blocks that we use to structure our Component Library throughout this blog. It is essential to have them in place now rather than later. Because it is difficult to change them once we begin to actually start components. 

The Library 

What you are about to start is the most important in your PCB designs. The component library and the integrity of that library will determine the quality of your PCBs. At first glance, the library is merely a collection of data and information for the components. However, we need to change the way that we look at it. That library represents MONEY. That’s right, cold hard cash. It just depends on which column of the balance sheet it falls on as an asset or as a loss. 

Some basic principles will help as you begin to structure all this. Your library should easily be expandable without causing “growth pains.” This was a big problem for us when we started to build up our library, we found that we did not accommodate for the growth that we would see in the company and ultimately in the component library. 

Secondly, the structure of your library should be in such a way that things can easily be identified and found. This will involve having a conventional naming scheme for both your components and models. There is a lot that I wrote about this subject and several different methods that I have tried. In a nutshell, the generic components, such as your discrete parts that will have multiple sources, should be a simple value. So, a 1K resistor would use the value rather than Manufacturer information. It is difficult to identify a component in your library by the MFG part number. The more specific components, such as the ICs, can have the manufacturer part number as the name. For more information regarding a Naming Convention, check out my blog on the subject. (I know it is a helpless plug).

The third principle regarding your library is that you must protect it with everything in you. Especially when it is being developed, it is effortless to go off track and end up with something that you did not intend to have and are unable to use. That usually happens because of having individuals, who have not been set up with their roles and permissions, getting in, and changing things. The bottom line here is to Protect what you build. Fortunately, Altium has put into place the tools and features that we need to do just that. 

Component Category/Family 

Altium Category and Families


Component Category/Family

A widespread method used to organize components is to break each one down to a category and a family and apply a specific category number of 100-series. Then breaking down the next level into Families with a numbering system of 1-Series

With this sort of structure, you can easily find and organize any component. However, it allows for expansion as the database grows, since under each category of a component can be 100 different families with an endless number of components under each. Fortunately, the hard part has . Most component vendors organize their components in the same way. The best that I have personally found is Octopart®, which has a very detailed structure of components based not just by category, but sub-category and families. Based on the intricacy needed in your library, further levels (which we’ll see when dealing with discrete) can easily be added. I have never seen a library suffer from too much organization. The more, the better. What is essential is to set this up for what will work in your company.

How To Handle The Component Models

Various strategies have arisen regarding  managing the models. I have tried a couple of different methods. The single model structure or multiple Model folders for each category. I feel the better approach would be to have a single folder for the models.  Although I initially thought that the model would be unyielding as it grew. That outweighs the benefit of having a unique type of footprint for multiple categories of components. For example, an SOT that could be for several families. 

Furthermore, as we’ll see when we get into actually building up our library with components. Those models can automatically be brought in; there is a preference that can be set up to automatically set the target model folder. It is found in the Altium Concord Pro™ Settings webpage. Admin ➝ Settings ➝ Components.

Component Template

Component Templates

Before we start to construct our library we need one other thing. In addition to the Revision Scheme, Lifecycle, Roles, and Permissions, we need the Component Template which can be looked at as the instructions that will be attached to a specific folder, which will direct how that folder performs the task of creating a component.

The Component templates will be the first items in what will be a directory that will hold all your needed templates.

I would suggest having a Component template for each family of components in your library. Simply create a new Component template by right-clicking in Selecting ➝ Create Item ➝ Other Item Type the Create New Item dialogue window opens fill in the needed information of a Name and Description and hit <OK>

Completing the Component template is pretty straight forward.

component template


life cycle



1. Select the Life cycle scheme 

2. Select the Revision Scheme 

3. Choose a default Component Naming. This will automatically have a controlled Naming scheme. I would suggest using the Category and Family number that you have in your folder structure. For example: If we are adding a new family to our (0900) Category of ICs, the number syntax would be CMP-0955-{0000} that would first use the CMP identifier that is going into the (0955) of components. The {XXXX} is the method of merely incrementing the next available number. 

4. Selecting the default Folder for our previous example would be (0955) 

5. Finally, simply add whatever parameters you want to be attached to the components; this could be any level of detail. Keep in mind when a component is created, the parametric information is automatically brought in. So, this information most likely will be unique information to your company. Such as the PLM Number. 

6. With that, you have completed the component template and are ready to finalize the Concord Set up. 

Putting It All Together

Hang in there, you are almost there. All the pieces are in place, and we are ready to set up our component folder. Putting in Top Level Folders and Subfolders is very easy. Any degree of complexity can be done. I found that breaking the Discretes into subfolders based on size was very helpful. 

To give you a peek into our library, we have a category of (0200) Capacitors with various subfolders of families below that. To finalize the folder setup, <Right Click> and select Properties. 

You finish setting up the Folder properties by giving the Folder a Name, Folder Type, Component Template; this is where you now attach the “Engine” to the folder with the Item Naming Scheme. The final area is the Parameter Visibility Settings. When you use a component from this folder, the parameters that will show on your schematic will also be displayed. For the capacitor, I would use the Capacitance and Voltage Rating.

Our folders are now set up with all that is necessary to start building some components.



Building PCB Component


PCB Building Components


All this might seem rather tedious, but keep in mind that all these steps are only done once, and with this, the whole process of starting to load your library will be straightforward and, more importantly, standardized. When a component is created in a specific Category and Family, the Component template uses a particular Revision and Lifecycle assigned with a Component Item Naming scheme into a single folder. 

Talk to an Altium expert today to learn more or continue reading about optimizing library procedures and improving results.

About Author

About Author

With nearly 40 years in the Electronic industry with 20 of them being in the field of PCB Design and engineering, John has stayed on the cutting edge of the PCB industry as a designer/Engineer and more recently as a trainer and mentor. His primary work has been in the Manufacturing field but it has also expanded to several PCB Service arenas. As a veteran, he proudly served in the Army in the Military Intelligence field. John is a CID Certified PCB designer. Presently pursuing his Advance CID certification. Now as the Senior PCB engineer at Legrand Inc, he leads the PCB Designers and Engineers in various divisions across the United States and China.

Recent Articles

Back to Home