Altium DbLib Revelation
As an Eagle and Altium user, I’m a bit frustrated by the part library philosophy to which Altium defaults. Standard part libraries in Altium effectively require that every schematic symbol be mapped 1:1 to a part number, which means that if a schematic symbol is often reused it must be copied and pasted, rather than having multiple devices refer to it. Other limitations include an inability to map a single pin of a schematic symbol to multiple pads of a footprint, which results in a need for, say, a variety of MOSFET symbols that map to different high power footprints with multiple pads per symbol pin.
However, one technique I wish I’d learned earlier is to use DbLibs to manage libraries that have a large number of similar parts with different values or that incorporate frequent symbol sharing.
A DbLib makes use of four files.
DbLib: Altium file that contains minimal configuration information
Symbol File: Altium file that includes commonly used symbols. These end up being used by many parts
Footprint File: Altium file that includes footprints that may be reused by multiple parts
Excel File: An Excel spreadsheet that maps symbols to footprints
The Excel spreadsheet is the meat of the DbLib. It is a list of parts (likely configured so that each represents a single part number) that maps symbols to footprints and also includes an arbitrary number of part parameters like tolerance or value, for example. If the sheet includes multiple tabs, they will show up as separate ‘sub libraries’ (don’t know what they’re actually called) in the DbLib.
Setting up a DbLib
To start with, there is a Microsoft Access dependency that you’ll need to install. If you encounter an error along the way, it’s likely caused by having no or an incorrect version installed. You should be told what to install, if it’s required.
1 Create a symbol file (.SchLib) with the commonly used symbols you want to use
2 Create a footprint file (.PcbLib) with the footprints you want to use
3 Create an Excel spreadsheet with your list of parts and reference the symbol and footprint files you’ve created along with the specific symbol and footprint for each part
4 Create a DbLib file and configure it to reference your Excel file. You should probably tick the box that makes paths relative, and never change the relative locations of the files.
Once you’ve done this, each tab of your Excel file will show up as a different library when you’re working on a design (after you’ve added the DbLib to your project)
Example
Linked here is a DbLib setup for 0402, 0603, and 0805 resistors and capacitors. It follows the exact flow chart as shown above. The Excel files originally come from this scrape of Digikey (thanks!), but have been arranged into two tabs. The first is a smaller, more manageable subset (constrained mostly to 1% tolerance, good quality components) and the second is the entire list.
Enjoy!
And here’s a link to Altium’s full explanation of these things, should you decide to go down that rabbit hole…