Electronic – Library management in altium

altiumeagle

I am coming from Eagle background where there is a common library file that you use across all projects. Taking an example of a capacitor – I design one generic capacitor symbol, add multiple packages (0402, 0603, 0805 etc) to it and make it a device. One project might need 10 values of capacitors. I insert the same capacitor device and just select the correct package and enter the value.

I signed up for an online Altium course recently and I observed that the library is being created inside the project. For every value of capacitor, a new symbol and a new package is being created. This looks like a lot of work but I see a value in the sense that each component has a part number and complete manufacturer and pricing info. Is there any other advantage to it?

Besides, if I have created 20 parts during a project, I might need the same in other future projects. For ex – almost every project needs capacitors. How do I manage my library from the very beginning so that I can conveniently re-use the components?

Edit: I did some more research and found out that it's not necessary to make libraries inside projects. I can add components from a central source. However I see a value in including the libraries inside the project because this allows me to send the PCB files to a different team without worrying about missing component library.

As such, I want to know how to deal with this? Do I need to make a central library, then duplicate it into every project I make?

Best Answer

There are approx. 20+ ways to manage your Library files in Altium. I highly recommend using the DbLib approach (do not confuse it with the DbLink approach), backed by either SVN or GIT manually for your library files as this gives you maximum flexibility. We're currently at nearly 5k components (yes, half of them are resistors and caps) and haven't had a single issue yet.

I also highly recommend to NOT use Access as database backend. Instead, use MSSQL Express (free). Do NOT use spaces or special characters as your column names.

Basically you will end up with a directory structure full of library files (SchLib and PcbLib) and a DbLib file which describes the interaction between Altium, your library files and the database.

Make sure that each of your articles has a unique identifier (article number, whatever you call it). Then assign the SchLib and PcbLib files to that article.

For full traceability, make sure to store only a single footprint or schematic symbol per file so this can be traced through GIT or SVN.