Good(?) PCB and SMD footprint design guidelines - Page 1
Forum section: electronics / general

author: Zom-B
author_rank: Regular Contributor
timestamp: February 22, 2017, 11:16:19 am
content: By accident I stumbled on this page with PCB design guidelines for manufacturabiility:http://www.altronmfg.com/pcb-design-for-manufacturability/It mainly focuses on SMD pad design, which is exactly what I needed because all the other guidelines I've ever seen (before and after I found this) only focus on the PCB, assuming footprints are already made.Now I have to wonder (since I only have one reference so far), what do other people think of these guidelines? Good, bad, biased, domain-specific? Is there a better (non-book) source for similar information?

author: DavidMenting
author_rank: Contributor
timestamp: February 22, 2017, 09:00:45 pm
content: Tom Hausherr's blog might give you more than you asked for:https://blogs.mentor.com/tom-hausherr/He goes into detail on pretty much all aspects of SMD footprints.

author: ar__systems
author_rank: Frequent Contributor
timestamp: February 23, 2017, 12:08:31 am
content: that's a really good document

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 23, 2017, 02:13:33 pm
content: Also, IPC-7351 is freely available. It documents standard package and footprint types, how they are dimensioned and toleranced, and recommendations on how to dimension the footprints.Meanwhile, do read up on mechanical drafting terms and methods; modern datum + variance methods look cryptic, but are quite concise and powerful, once you know what they mean.Tim

author: Mattylad
author_rank: Regular Contributor
timestamp: February 28, 2017, 07:33:16 pm
content: Er, no it is not. (not legally).IPC-7351 costs wollah (money) and the only freely available copies are not actually very helpful in making your footprints.Better to get the Library Expert (the Lite version is freely available) from pcblibraries.com which will make your footprints for you, based on the dimensions you enter from the datasheet and spit the output to almost any PCB package, no need to read a boring standard, let the tool calculate all the solder joints for you.Quote from: T3sl4co1l on February 23, 2017, 02:13:33 pm

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 28, 2017, 09:41:35 pm
content: Quote from: Mattylad on February 28, 2017, 07:33:16 pmPlease at least try...e.g.http://pcbget.ru/Files/Standarts/IPC_7351.pdf(Whether that source is legal or not, is up to IPC, I guess. And whatever laws "pcbget.ru" happens to be under, which, well...)Section 3 fully specifies how to calculate footprints from part dimensions. I don't know how to get any more helpful than "fully specified".QuoteAlso a fine method, though, using any tool blind leads to the same result: GIGO. One must alwaysthinkabout the values they are entering, and for what purpose they serve. To that end, the discussion by IPC provides this illumination, for those willing to see it.Tim

author: Mattylad
author_rank: Regular Contributor
timestamp: March 01, 2017, 01:51:48 pm
content: That's an older version, (also an illegal\copyright infringement) the current one is B - about to be replaced by C.Most engineers I know of prefer to save time when creating footprints, use the free tool that is to the IPC spec and makes them for them, quickly and with far less chance or errors than someone doing itBY all means obtain the standard, but I'd use the tool myself - just like I use a tool to layout a PCB and screw wires into a terminal block.It is also recommended by the IPC themselves.However, if doing it the hard way is what floats your boat - go for it.

author: tszaboo
author_rank: Super Contributor
timestamp: March 01, 2017, 02:48:06 pm
content: Quote from: Mattylad on March 01, 2017, 01:51:48 pmMost engineers I know just use the Altium built in IPC compliant footprint wizzard...Quote from: T3sl4co1l on February 28, 2017, 09:41:35 pmNo it is not legal. Russians have no concept of what the word "legal" means.

author: montemcguire
author_rank: Regular Contributor
timestamp: March 25, 2017, 01:59:03 am
content: I'll second the recommendation for PCB Library Expert software. While it's not perfect, it can make some extremely high quality footprints. It's not terribly difficult to use, assuming you can get proper dimensions for your components. For some poorly defined parts, I've used a USB microscope to measure actual parts, and also to verify dimensions that seem a little odd.The basic idea is that each part will have its own footprint, based on the dimensions and tolerances that are unique to that vendor's part. This means that there is no such thing as a generic SO8 or a 2012 chip. So, you need to create specific footprints from the dimensions of each part. But, if you do this, the footprints very closely fit the specific part, making assembly extremely reliable.Because each part needs its own footprint, it can take some time to get a complete library. But, that seems to be par for the course with PCB CAD anyway - I no longer trust any footprint unless I create it myself. The process is finite too, so it can just take some time but the results will be excellent.One good point is that many IC vendors have a range of packages that get reused among some set of devices, so there really isn't one footprint per device, but instead, one footprint per vendor package. Once you get a footprint for the likely packages you'll use from a vendor, you can make any of their parts from these footprints easily.Bottom terminated components are the most troublesome these days, especially those with irregularly shaped die attach pads, but the nice version of PCBLE includes a Footprint Designer which allows you to do pretty much anything you want. Plus, a part can be started using the standard calculator and then altered, possibly to add an unusual DAP, or to provide some odd pin numbering scheme.Again, PCBLE is highly recommended over studying the IPC documents.http://www.pcblibraries.com/LibraryExpert/

author: westfw
author_rank: Super Contributor
timestamp: March 28, 2017, 06:20:10 am
content: So since the topic has come up...In several common EAGLE libraries, the SMT packages for a resistor, capacitor, and LED, all in (say) a 0805 SMT package, are slightly to significantly different. In some cases, it looks like there were two footprints for a resistor (one for wave soldering, one for reflow?), and only one of them was copied to the (ie) LED library, but in other cases, there are stranger differences...Is this expected?

author: bitwelder
author_rank: Super Contributor
timestamp: March 28, 2017, 12:21:33 pm
content: Quote from: westfw on March 28, 2017, 06:20:10 amIs it because it's following this guideline?Robert Feranec: "TIP #055: Use different footprint for resistors and capacitors, even they are same size (e.g. 0805)"

author: timb
author_rank: Super Contributor
timestamp: March 28, 2017, 12:34:36 pm
content: Quote from: montemcguire on March 25, 2017, 01:59:03 amYeah, this is good advice. A lot of IC manufacturers (TI, Linear, Analog, etc.) will have specific, non-standard codes for their packages, so that's how I label them in my library.

author: timb
author_rank: Super Contributor
timestamp: March 28, 2017, 11:17:43 pm
content: Quote from: evb149 on March 28, 2017, 08:35:28 pmExactly. It's mind boggling there's no standard to define footprints. There needs to be one standard, plaintext file that includes: Footprint information, pin names and 3D data (STEP could be used here, as it's already plaintext, IIRC). You download the single file and import it into your ECAD software's library. The STEP file could be automatically (and easily from a code point of view) split out of the single file and saved to wherever you keep your 3D models.By the way, to clarify, I think that for a hobbyist who is just hand soldering SMD parts to small boards, the default footprints in most affordable ECAD software (Diptrace, Eagle, CircuitMaker, Etc.) is alright to use, as those packages generally have oversized pads to aid in hand soldering. For example, the standard DipTrace patterns (SOT-23, SOIC, TSSOP, SMD caps and resistors, etc.) work just fine for pretty much any package from any vendor if you're using a soldering iron or hot air gun.Where you need to worry about custom footprints for each specific package is when you're going to be manufacturing the boards in quantity.I bring that up only because I don't want someone working on their first board to come across this thread and think it applies to them.

author: senso
author_rank: Frequent Contributor
timestamp: March 31, 2017, 12:41:56 am
content: Just yesterday I made the footprint for a small push-button 4 direction "joystick" from ALPS, the dimensions are in a little corner of a PDF and are some crappy jpg image that will get blurry AF if I try to zoom in, reading some numbers is almost impossible.And I also do a new footprint for each variation of SOT-xxx and assign it to its respective component, there are always variations of 0.x mm in pad sizes, I thought I was kinda stupid to do it and that there should be some standard/universal size, guess I'm not that dumb

author: exmadscientist
author_rank: Frequent Contributor
timestamp: April 01, 2017, 07:01:41 am
content: If you're drawing your footprints for the common packages to a manufacturer's drawings, you're wasting your time. (Unless you're in high-volume manufacturing.) You should be using the JEDEC package reference documents, which most manufacturers are compliant with. (But not all! Never blindly trust without verification.) As an example, you could copy the manufacturer's recommendations (or use IPC/PCB Library Expert when land patterns are not provided) to draw up the following "SO-8" packages:TI D (R-PDSO-G8)NXP SOT96-1ADI R-8LTC S8Intersil M8.15Fairchild M08AMaxim S8-fifteendifferentmoreorlessidenticalsuffixes (have I mentioned lately that I hate Maxim?)However, all of the above explicitly state compliance with JEDEC standard MS-012-AA (except LTC, who are compliant if you check the drawings yourself). So you could instead drawoneMS-012-AA SO-8 footprint, take the time to verify it thoroughly, and bedone. Which do you think has a greater chance of happening: you making half a dozen almost-identical footprints flawlessly, or a major manufacturer delivering parts so far out of spec that they won't solder to a standard footprint?And, honestly, if your process is so sensitive that the differences between the manufacturers' different footprints is making a noticeable difference in your yield, you probably have something wrong anyway. Most of those drawings above haveidenticalbasic dimensions and vary only in their tolerancing -- not to mention that there's a decent chance the parts are all coming off the same packaging subcontractor's production line -- so if you can actually tell the difference, you really should figure out what's happening and fix it.(This cost-benefit analysis does, of course, break down for very high-volume manufacturing. But if you're doing that, you should have the resources to testeverythingand be discussing things in detail with your assembly people.)Once you've settled on a single standardized footprint, you still have to deal with making sure it gets correctly assigned to the right parts. I use Altium database libraries, and found that I could set up the database to do most of the work for me. I set up a single packages table with manufacturer package code as a primary key, and fill in all relevant package-specific information in that table. That includes the manufacturer name, common name, dimensions, applicable JEDEC standard, and the reference to the footprint location in my PCB libraries. I then reference this table by a foreign key in the actual parts tables, so all I have to do is fill in the manufacturer code there and, once I've got that package code entered correctlyonce, the database automatically returns the package information with the part data when Altium queries the database. The information is stored in only one place, making it easy to get right and easy to update later if it's not (or no longer) right. This system took a while to set up but it's invaluable when dealing with things like the thicket of single-gate logic packages.