Advanced PCB Library Management

June 11, 2019 Zachariah Peterson

Documents in a library

A previous article from Altium’s PCB design blog showed everyone how to get started with integrated PCB library management. In the previous article, you can get a look at creating an integrated library project and how to compile schematics and PCBs into their own libraries. You can then take schematic libraries and your PCB libraries and compile them into an integrated library. This allows you to package sets of important design and component data into single files, which can then be shared with other members of your design team.

Here, we’ll take a look at some more advanced aspects of PCB library management. If you are migrating from another design application, you can use the import wizard in Altium Designer to create library files with your design data. You can then take this converted data and manage it in the same you would design data that you created in Altium Designer.

Just as was the case with integrated library projects, the goal of library management is to place important design data in a central location that is easily accessible from anywhere and that has less reliance on your file tree. This also reduces the amount of data you need to backup as you only need to create backups of your libraries and database, rather than replicating an entire file structure.

Migration from Another Design Program

One of the steps in the previous article in this series looked at creating schematic and PCB library files (.SchLib and .PcbLib file extensions, respectively). In some cases, such as when you want to import data from another design program while migrating to Altium Designer, you may want to bring your data with you into Altium Designer.

The migration tools and import wizards in Altium Designer will allow you to create .SchLib and .PcbLib files from your old data so that these can now be used in Altium Designer. If you like, you can add these libraries to a .LibPkg project and compile an .IntLib file, which will allows you to reuse your design data in another project. Simply follow the steps in the previous article to create integrated libraries.

Linking to an Access or Excel Database

Some design programs allow you to compile your design data to an Access or Excel database. You can bring this data into Altium Designer as a Database Library. These other design programs normally compile to a 32-bit Access database. The newest version of Altium Designer is a 64-bit program, and it requires that you use a 64-bit Access database. Thankfully, you can still use a 32-bit Access database.

If you want to use a 32-bit Access database, you will need to install the Microsoft Access Database Engine 2010 Redistributable from Microsoft. Once you install this driver, you will be able to connect to a 32-bit Access database in Altium Designer.

In order to ensure that your project files will display properly in Altium Designer, you need to check whether your database contains relative file paths or absolute file paths. In general, it is best to use all absolute or all relative file paths. You should not mix these types of file paths unless you are absolutely sure that the absolute file path will never change. Ideally, if your data is located using relative file paths, you can easily move your libraries around with your database and .DbLib file while preserving links to your component and footprint data.

Creating and Linking a Database Library in Altium Designer

To get started, we’ll work with a subset of the data from a GitHub project contributed by Arthur Benamenn. This project is a great example that shows how to preserve a file structure to symbols and footprints in a Database Library. If you want to use this project, you’ll need to convert the Excel database into an Access database. Alternatively, you can import the Excel database into Altium Designer directly.

If you examine the file structure for this particular database, you’ll see that the references to schematic symbols and footprints are relative file paths. The file paths for footprints reference the “Footprints” folder directly, and similarly for schematic symbols. This means that the database will need to be placed in the same folder as the “Footprints” and “Symbols” folder. This means if you move the database to a new location, the reference path specified in the database will no longer match the actual path of your folders.

Screenshot of the structure for a new Database Library

File structure for a new Database Library in Altium Designer

In this example, we’ve just added the Resistors, Capacitors, and Inductors tables to the Access database for brevity. After compiling an Access database with your component data, you can create a Database Library. To get started, you’ll need to create a blank project. You’ll need to create a repository in the process if you have not done so already. For convenience, we’ll save this blank project DBLibProject.PrjPcb. Once you’ve created the new project, add a new Database Library to this project as shown below.

Options for new design database libraries in Altium Designer

Creating a new database library in Altium Designer

Note that you could also create a version-controlled database library (SVN Database Library) in order to provide some control over successive versions of your database. This is extremely useful if you are collaborating with multiple designers on a large project.

Once you’ve created your blank Database Library, you’ll see a window that allows you to connect to your Access database. Click the Browse button and navigate to your Access database. Note that the Advanced button will provide you with some options for work with SQL queries when connecting to your database. Alternatively, you can connect to the database using a query string or a Microsoft Data Link file. Before connecting, we’ll save this blank Database Library as Database_Lib.DbLib.

Options for connecting to an Access database in Altium Designer

Connecting to an Access database in Altium Designer

Once you click the Connect button, you’ll see the tables in your Access database populate into your Database Library. In the Field Mappings tab, you’ll be able to see links between the actual fields in your database and the equivalent design parameter in Altium Designer. You can then use this information to modify your Access database and ensure that Altium Designer is reading the correct schematic symbol and footprint information.

Screenshot showing mappings between database fields and design parameters in Altium Designer

Mappings between database fields and design parameters

If you click over to the Table Browser tab, you’ll see the tables populated with your component data. Note that the reference file paths are pointing to .PcbLib and .SchLib libraries. If you did not add these files to your project, then the Check Footprint and Check Symbol columns will be blank in each table. This is shown in the figure below.

Screenshot showing blank database fields

Blank fields in a Database Library

This occurs because, in the Access database, these fields were not filled in, thus they will be unpopulated in Altium Designer. Thankfully, all is not lost. You can ensure these fields populate by adding the schematic and PCB libraries directly to your project. Go over to the Navigator and select the Add Existing to Project option. Select all of your libraries and add them to your existing project.

Now, once you’ve added your .DbLib file and your referenced library files to the project and reconnect to the database, you will see these fields fill in with the correct information. This is shown in the figure below:

Screenshot showing a fully populated Database Library in Altium Designer

Fully populated Database Library

Once you are to this point, you can add or remove components to the database directly. This can be done by right-clicking in the database fields and adding the component information you want to include in this Database Library. You can also remove information you no longer want to keep in this database.

A great design and data management package like Altium Designer gives you full control over your design, project, and component data in a single program. You’ll also have access to the industry’s best design tools in a single program.

Download a free trial of Altium Designer to see how the powerful signal integrity tools can help you. You’ll have access to the best design features the industry demands in a single program. Talk to an Altium expert today to learn more.

About the Author

Zachariah Peterson


Zachariah Peterson has an extensive background technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.

His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies.

More Content by Zachariah Peterson

No Previous Articles

Next Article
Effective Integrated PCB Library Management with Altium Designer
Effective Integrated PCB Library Management with Altium Designer

From designs to documentation, PCB library management is much easier when you use the right design software...