Since we are discussing this topic, why exactly would people need to create their own footprints inspite of some existing on the internet or can be obtained through specialized tools? I mean the vendor datasheet will contain some guidance on how to create the footprints and, there are the IPC standards. Why then can't there just be a single "universal" footprint? Isn't footprint more about the package than the actual device itself?
There are a few points of view in this topic-area
o First off, some people just prefer to do it themselves. That way they can be sure that any mistakes made are their own, and most people who do this will take the care and effort to make that unlikely. It can be time consuming for larger parts though, especially if you’re not yet familiar with the tools.
o If you blindly download and use parts from one of the internet sites providing the service, and you don’t check them first, eventually you’ll come across a problem. I had one from Samacsys where the footprint was supposed to be narrow SOIC but was in fact wide SOIC. I caught it because I check
o It’s not just the footprint, it’s the schematic symbol too (and, these days, the 3D model). I almost never use the schematic symbol verbatim from Samacsys, for example - their philosophy is that the symbol should map directly to the geometry of the part, whereas I prefer a logical representation on the schematic so I want GNDs collected and bussed-pins together etc etc.
o Some parts are
just plain weird. This USB hub claims to be SSOP16 but has typical inter-pin dimensions of 0.53mm, according to its data sheet. I have a test-board out for manufacture right now which uses the data sheet values, so I’ll soon find out the truth of the matter.
o I think it’s worth noting that I
do generally use the online libraries for packages, and I’ve had maybe 3 or 4 errors in literally hundreds or thousands of parts downloaded. One error can ruin your day though, so I do check newly-downloaded parts. Nothing goes into the library without a check. The simplest way to check is just to pull the data sheet and compare, but I also check the symbol->footprint connectivity, and as I mentioned I generally re-organize the symbol. Even doing all this, it’s significantly faster than creating the thing from scratch yourself IMHO.
I’m sure others have different viewpoints, but this works for me. I’m more of a pragmatist than a purist about this sort of thing (I also am happy to let an auto router do most of the grunt work, which some recoil from in horror
) - for me the goal is a working board, not a work of art.