EEVblog Electronics Community Forum

Electronics => PCB/EDA/CAD => Altium Designer => Topic started by: Rachie5272 on October 14, 2021, 03:20:27 pm

Title: Library naming pholosophy
Post by: Rachie5272 on October 14, 2021, 03:20:27 pm
I'm trying to make sure my libraries are in perfect order, but I've already run into a problem with the parts shortages.  I've been using the manufacturer's part number as my component IDs.  This seems to makes sense for specialized components without substitutes, but it's been a huge mess with jellybeans.  I've been able to get functionally equivalent parts, but they have different part numbers.  How am I supposed to update all of my libraries, when it breaks component references?

Altium tech support mentioned I was supposed to use a generic name for the component ID, and use "parameters" for different manufacturers, but never really explained this.

What is the ideal naming philosophy for these parts?  Should I make up my own scheme, like "R-10k-0402-1%"?  Getting this right is especially important to me, because I need to set up the pick and place machine the same way.
Title: Re: Library naming pholosophy
Post by: thm_w on October 14, 2021, 08:39:39 pm
Try to look at the default libraries for ideas.

You'll have "RES, 10k, 1%, 0402" for example, then under parameters: manufacturer #1, manufacturer #1 part number, manufacturer #2 pn, etc.
Title: Re: Library naming pholosophy
Post by: T3sl4co1l on October 14, 2021, 09:52:56 pm
There's kind of three schools of doing libraries.

And also where you put them, how to organize etc. As in, toss everyone in one omni-lib, or split them up by brand, or by type/category, or by project, etc...

Anyway, you can use the generic approach, that's one way.  Avoid pushing updates from lib.  Make component selection in SCH.  This seems intended, as you can easily apply supplier links here.  It does take a bit of time to update every component, but you can speed things up a bit using Parameter Manager, copying from spreadsheets, etc.

Another way is what you've chosen, making highly specific libraries.  This sucks to replace components, not just to change ratings but even just part number, as you've found.  It does make things more consistent, putting responsibility all in one place, the library.

The third, more "enterprise grade" solution, is adding a level of indirection.  Create a database of internal part numbers, and assign approved MFG/PN as an ongoing process.  Which can be done by procurement without involvement of engineering, necessarily.  Libraries will be single-type as above, but what ends up on the board could be anything -- but you're also sure (to the extent your substitute list is correct) to get things that work.

Title: Re: Library naming pholosophy
Post by: ajb on October 25, 2021, 04:59:23 pm
There are other good reasons to avoid using manufacturer part numbers as the component ID: they often include information you don't care about at the design level such as packaging type, they're not guaranteed to be unique across manufacturers, and they're just generally cumbersome.

Even for small outfits, I would strongly recommend using dblibs with Altium.  With dblibs the schematic symbols and pcb footprints are stored in separate libraries and then linked together in an external database, which can be as simple as an excel file (or an access database, which is about as easy to use but works way better).  This is great for reuse of footprints and symbols, and you can include an autoincrementing index which serves as the component ID and implicitly solves the problem you're having here. 

You can still then choose whether each component ID refers to a specific part number from a specific manufacturer or a set of equivalent parts, but either way it's way easier to change that by either replacing the component in the design or if necessary changing the manufacturer's part number in the database--actually, you can have multiple manufacturers/part numbers/suppliers in a single dblib entry so you can sort of do both at once.  Or you can just list all of the acceptable manufacturer part numbers in one of your part parameters.

Unfortunately Altium doesn't provide a nice way of dealing with those multiple mfr/supplier references in the library, but since all of that is in an external spreadsheet/database tool you always have the option of doing that management outside of Altium.
Title: Re: Library naming pholosophy
Post by: Feynman on October 25, 2021, 07:25:34 pm
I specify MF and full MPN, but have a description field that says something like "1K Resistor 1% 200ppm 1/10W 0603 (1608M)" an an "ALT" field that says something like "any with equivalent attributes (see description)".
Title: Re: Library naming pholosophy
Post by: Rachie5272 on October 29, 2021, 07:51:03 pm
I've started making house part numbers.  This may be a silly question, but where in the library should these house part numbers be stored?  I was thinking the "design item id", but there's no way to export this field in a pick and place file.
Title: Re: Library naming pholosophy
Post by: thm_w on October 29, 2021, 08:43:45 pm
Add a parameter field "Company name here partnumber"