Platform forum

Advanced PCB Layout Lesson 1 - Schematic and Footprint Library questions

Tom Yunghans , 03-12-2020, 12:45 AM
Hi Robert,

I am working on Lesson 1 of the "Advanced PCB and Layout" Course. Near the end of the lesson you talked about updating your footprints to make sure they are up-to-date. In the video, it looks like you have a "PcbLib" as part of the project (see first attached snapshot). In the version of the project that you provided as part of the lesson, there was no PcbLib in the project. If I look at the "properties" of one of the components in that project it refers to "Integrated_Library_RF_FEB_012.IntLib" (see second attached snapshot). I assume that means that the footprint was extracted from that integrated library.

I understand that integrated libraries have both a .SchLib and a .PcbLib compiled together. Can you explain why the components in the project you provided for us has the reference to an integrated library, yet the video seems to show you are using a local library embedded right in the project? I have seen people suggest that working with integrated libraries causes a lot of issues, and that you should use only local libraries (.PcbLib and .SchLib) as part of the project; and should only mess with an integrated library when you want to package those two libraries (SchLib and PcbLib) into an integrated library for portability to another project. Have you heard this suggestion before?

I have been struggling with these concepts for quite awhile. I did look through the forum and saw quite a few questions somewhat related to this topic, so I'm sure I'm not the first to have questions on this. Can you point me to a good discussion of the best way to organize and use libraries?
robertferanec , 03-13-2020, 12:49 AM
Hi Tom,

that is a very good question. I would recommend you to watch my presentation from AltiumLive - part of this presentation is explaining libraries (answer is not simple, there is no one solution, it depends on many factors e.g. size of your team).

Here is the video from my AltiumLive presentation, it is called: How Other Companies Implement Their Hardware Design Process. It may help:
Robert Feranec is the founder of FEDEVEL Academy and throughout his career, he has designed motherboards based on Intel, AMD, and VIA processors. Listen in t...
Tom Yunghans , 03-13-2020, 08:36 AM
Hi Robert,

Your presentation at Altium Live focused mostly on the use of "database" libraries as opposed to "file" libraries. I am interested in that topic also, but here I am really just asking about the use of "integrated" libraries (.IntLib), and how you would use them as an alternative to just embedding the .PcbLib and .SchLib into your project. In your "Schematic and PCB layout" course, I used an integrated library and had a lot of trouble with syncing between the schematic and the layout.

In the course I am taking now, your "Advanced PCB Layout" course, when you were performing the footprint "update", the video seems to show you using a local library (.PcbLib). However, when I look at the PCB project you provided for the student to practice with, the footprints seem to be pointing to an integrated library (.IntLib). I attached two snapshots in the earlier post in this thread. Can you explain that?

Thank you!
robertferanec , 03-16-2020, 12:54 PM
We use IntLib on our server for all our projects because it is simple to maintain - all symbols and footprints in one place.

PS: What kind of problems do you have? You may want to generate local libraries from the existing project and then update path in all symbols and footprints to the new library.

PSS: I can't see the screenshots. To attach files, I use the first icon in the top light blue bar on the right side called Upload Attachments
Tom Yunghans , 03-16-2020, 05:53 PM
Hi Robert,

Let me try one more time....

I have reloaded the screen snapshots using the "Upload Attachments". I think I may have used the "Share Photos" icon before.

The first snap-shot is from the "properties" of U13 in the project you provided for the student activities. It seems to indicate that the footprint came from an "integrated library". In the project you provided, I do not think you provided any libraries (either a .PcbDoc, or an integrated library .IntLib). The second snap-shot is from the actual video (at 2:00:30) when you were recommending that the footprints in the project should be updated before routing is started (in case the footprint has been updated). However, that video snap-shot shows that you are updating from a local library (.PcbLib) and not an integrated library. That is the apparent discrepancy that I am trying to understand.

Did you start out using an integrated library when creating the schematics, but somehow converted the .SchLib and the .PCBLib in that integrated library into local libraries that are embedded in the project itself?

In your last comment above, you mentioned the ability to convert the pointers to the symbols/footprints in your project to reference a local library instead of the integrated library. Is that what you did? Is there an easy way to do that without deleting and replacing each symbol in the schematic, one at a time?

Thank you , I'm sorry I'm not communicating my question very well.


robertferanec , 03-18-2020, 06:31 AM

if you need to update symbol/footprint .. you can replace it with symbol from any other source e.g. DB library, Integrated library, SCH / PCB Library, Vault, etc ... Ideally, when you finish your project, you would like to use all the components from your Main library.

However, for demonstration and learning how to do it, you can create your local library from project (This will help: Altium – How to Create Library from Existing Project https://welldoneblog.fedevel.com/201...sting-project/ ), then simply modify the symbol or footprint and update it in your project.

If you would like to update more components at once, use Tools -> Update from libraries - that is way how you can simply do it:

Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?