Annoying datasheets - Page 1
Forum section: electronics / general

author: saike
author_rank: Regular Contributor
timestamp: August 27, 2018, 09:23:32 am
content: I have just been trying to draw a pcb footprint for a Diodes Inc. POWERDi5 component and what should have been a few minutes work turned into a task involving a calculator, vernier calipers, pen and paper, multiplication, division, addition and subtraction because the datasheet diagrams look like they were drawn by an apprentice draftsman on his first day at work.The dimensions shown all start from a different anchor point and the centroid on the outline diagram is in a different place to the one shown on the suggested pcb layout.</rant over>I just downloaded a more general, not component specific data sheet for the footprint and it is a lot better but still a long way from being a proper engineering drawing.

author: tooki
author_rank: Super Contributor
timestamp: August 27, 2018, 10:08:50 am
content: Datasheets are, IMHO, one of the biggest hurdles to the electronics novice. Wildly inconsistent formats (not just page layout, but what information is expressed explicitly and what must be derived, what’s omitted altogether, and where important information is placed — sometimes as a warning, sometimes in body text, sometimes casually mentioned in passing...) make it really hard to find and compare components.A related topic (especially in things like 7400 and 4000 series logic) is that the names of components don’t tell you much if you don’t already know what they mean. E.g. you might need a multiplexer, but until you know it’s called that, how do you find the parts? I don’t recall ever seeing a listing of what the different thingsdo.

author: b_force
author_rank: Super Contributor
timestamp: August 27, 2018, 11:35:18 am
content: The biggest issue with most datasheets is that every manufacturer uses different methods to show (off) their data.This result really comparing apples with bananas.A lot of times the real essential data is also missing.Dave devoted a couple of videos to this issue already.A lot of times this means you need to investigate these things yourself.For a company that mostly means getting (or hiring) expensive equipment to verify consistent results.I have a physics background and in general I find many papers in the electronics field written very poorly.Symbols, definition and variables are often not even described and often change from paper to paper.As well as many graphs without any description or explanation

author: dmills
author_rank: Super Contributor
timestamp: August 27, 2018, 01:18:49 pm
content: I have a pet hate on for connector datasheets, the footprint drawings are clearly done my the mechanical guys and basically never quite tell me what I want to know without reaching for a calculator.Seriously, over dimensioning the things really would not hurt if it saves the "Twice A - (B+F)/2 + D - E" shuffle.Oh and FFS pick ONE datum, not three with hairy maths to map between them, also LABEL the "bottom view" (In BOLD RED TEXT), been burned by that one.Regards, Dan.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 27, 2018, 01:47:07 pm
content: Two of the worst I've seen:One was a QFN that's actually an LGA. In a QFN, the leads come out to the full corner, so a toe fillet forms. In this one, the plastic wraps around the corner, so although there is some exposed metal that could be soldered on the side face, that's not going to happen, and it's actually an LGA (pads on bottom surface only). The drawing looked like a sixth grader made it, though it probably didn't help that I saw "QFN" plastered everywhere, and was expecting measurements for a QFN, when it turns out it was actually an LGA, and if I had read it for what it actually was, it would've made more sense.Oh, so add that to the fire, manufacturers using their own mickey-mouse, proprietary (and often obscure) names for utterly common packages. (It's not "TO-220AB", to On Semi, it's "Case 221A".) And poorly documented variants of common ones.Another was a coin cell holder, with no tolerances specified anywhere, only the default in the title block. A +/- 0.25mm tolerance oneverythingmeans that:1. to guarantee fit of the 0.8 and 1.0mm alignment pegs in the PCB, I have to use 1.05 and 1.25mm holes; except,2. it's worse than that, because the position and separation distance tolerance are the same 0.25mm again, needing 1.55 and 1.75mm holes, strictly speaking.So, the part can fit either direction on the board, with tons of slop to spare, if you follow the drawing exactly.Turns out the real parts are well within 0.05mm of the drawing nominal values. So I made the right choice, making the footprint according to realistic tolerances. Risky though.Quote from: dmills on August 27, 2018, 01:18:49 pmIt's not always the manufacturers. I took a look at SFP connectors and modules. The SFP consortium sets dimensions and tolerances for all compatible hardware. Theydon't givedimensions for the connector pins. They do give a recommended footprint(!!). Manufacturers merely copy the same drawing; after all, one familiar with the SFP standards might wonder, why did they add any tolerances, are they not compliant? Or probably even lazier than that, just going with a standard and not giving a second thought at all.Jellybean transistors have the same problem, where JEDEC registered parts (2Nxxxx series, for example) are registered only on those scant data and nothing else. At least a few manufacturers do go out of their way to be informative, e.g. On Semi datasheets are often flush with data and graphs well beyond what the spec sets.Speaking of standards, some packaging standards are awful. Did you know TO-220 supports round leads, a tab as thin as the leads (usually only seen on 78xx regs), and tolerances wide enough that the proportions look wrong? What you usually see -- what you usually think of -- is actually TO-220AB. It makes a difference!The DO-214 series is similarly messy -- the tolerances are massive, to the point where several manufacturers suggest footprints that havenegativetoe fillet (a big no-no) if you believe the MMC condition in their spec -- which isn't their spec at all, but a JEDEC (or one of those bodies) registered one. I've seen a few that actually give their internal package dimensions in addition to the standard, showing compliance with the standard and also a much more representative size to design from.QuoteTim

author: Tomorokoshi
author_rank: Super Contributor
timestamp: August 27, 2018, 02:39:55 pm
content: Quote from: dmills on August 27, 2018, 01:18:49 pmAbsolutely.For some reason it seems like connector datasheets from German companies are the worst, particularly the automatically-generated ones.

author: dmills
author_rank: Super Contributor
timestamp: August 27, 2018, 03:24:45 pm
content: Also, "Controlling dimension mm", then everything turns out to be on a multiple of 1.27mm... Grumble.Can we give the D2PAK an Honorable mention, so many things that manufacturers call D2PAK that have basically totally different thermal pads.Regards, Dan.

author: b_force
author_rank: Super Contributor
timestamp: August 27, 2018, 03:28:23 pm
content: In most connector footprints the distance between PCB holes and connector are missing.Which is especially annoying with righ-angle connectors.

author: thm_w
author_rank: Super Contributor
timestamp: August 27, 2018, 07:24:35 pm
content: Link/photo?https://www.diodes.com/assets/Package-Files/PowerDI5.pdfThis looks like a good drawing to me, everything is reasonably dimensioned.

author: saike
author_rank: Regular Contributor
timestamp: August 27, 2018, 08:28:21 pm
content: Two different images. Try calculating the centre/centre pad distance, in your head from the first one and be 100% certain you haven't made a mistake

author: b_force
author_rank: Super Contributor
timestamp: August 27, 2018, 08:40:24 pm
content: you mean from the big pad to the smaller ones?That's (Y+Y1)/2 + GWhat is confusing is the swapped X and Y with both pictures plus the (2x)

author: saike
author_rank: Regular Contributor
timestamp: August 27, 2018, 08:54:37 pm
content: Yep, this is an easy example, easy with a pen/paper and even easier with a calculator but I shouldn't have to do any of this on the shop floor. It should be done, checked and double checked on the drawing board and then all I need to do is copy the dimensions from the drawing, or in this case the non existent dimensions. Obviously this is a lot more important when using multi pin components with equally garbage data sheet diagrams.

author: thm_w
author_rank: Super Contributor
timestamp: August 27, 2018, 10:00:44 pm
content: Well, in an ideal world you would just download the component library model and not do any work at all.The dimensions as shown are common for mechanical drawings. I think what causes problems here is that circuit CAD (at least Altium, maybe other as well), rely on center to center distances, and don't let you drop dimensions from pad edges.If they haven't added this already it would be a huge benefit, I don't know why Altium (and probably other CAD) has stuck with its very poor dimensioning tools, and lack of equation entry. Use something like Solidworks and you will see how drawing this part is very straightforward.

author: Bud
author_rank: Super Contributor
timestamp: August 27, 2018, 10:12:25 pm
content: This is not a mechanical drawing. This is a suggested pad layout. The only purpose of it is to be transferred onto a pcb. And that is done by EEs, not mechanics.

author: b_force
author_rank: Super Contributor
timestamp: August 28, 2018, 12:09:58 am
content: What would be nice is to add just simple formulas in PCB/EDA program fields for these things.Not all are capable of doing this, which is such an enormous pain in the ass.Apparently it's so difficult to add a tiny line of extra programming code?But yeah I get it. Since almost every PCB designer needs these values, you just wonder why the hell they aren't already there in the datasheets?

author: BrianHG
author_rank: Super Contributor
timestamp: August 28, 2018, 12:28:19 am
content: Quote from: b_force on August 28, 2018, 12:09:58 amBack in the early 2000s, for Protel99se, I built a footprint generator script program for QFP and TSOP footprints. I would open the footprint generator and 'run script' which brought up a for where I entered the actual data sheet measurements of the time. It would automatically do all the math and create a proper footprint, with proper play room for manufacturing. No more math.Here is what had to be done:Code:' Protel Client Basic code QFPfootprintGeneratorScript.bas Aug 22, 2001'' Beta ver 1.1'' By Brian Guralnick, email bugs to "brian@point-lab.com"'' Generates QFP & TSOP footprints with exact measurements provided' in most data sheets without having to figure out the pin center.'' Thanks to Ian Wilson & Darren Moore for Client Basic help' on generating the dialog boxes, and Brad Velander & John Williams' on how to find the protel help on the RunProcess parameters.'' Intended to run in the PCBLIB editor.'Dim measurement$ (2)measurement (0) = "Metric"measurement (1) = "Imperial"DIM offset, pxsize, pysize, pin_outside, pin_inside, pak_xpinc, pak_ypinc, toppin, pinnum, angle, xpos, ypos as DOUBLEDIM pak_ypins, pak_xsize, pak_xtol, pak_xpins, pak_ysize, pin_space, pin_width, pin_length, pin_xin, pin_xout, etch as DOUBLESub MainBegin Dialog DialogName1 20, 20, 280, 200, "QFP & TSOP Footprint Generator."Text 35, 10, 300, 11, "Vertical pins in package. (1 side only)"Textbox 5, 8, 25, 11, .pak_ypinsText 35, 20, 300, 11, "Width of package from vertical pin edge to pin edge."Textbox 5, 18, 25, 11, .pak_xsizeText 35, 30, 300, 11, "Measurement tolerance for width & height."Textbox 5, 28, 25, 11, .pak_xtolText 35, 50, 300, 11, "Horizontal pins in package. (1 side only)"Textbox 5, 48, 25, 11, .pak_xpinsText 35, 60, 300, 11, "Width of package from horizontal pin edge to pin edge."Textbox 5, 58, 25, 11, .pak_ysizeText 35, 80, 300, 11, "Pin to Pin Spacing."Textbox 5, 78, 25, 11, .pin_spaceText 35, 90, 300, 11, "Pin width."Textbox 5, 88, 25, 11, .pin_widthText 35, 100, 300, 11, "Pin length."Textbox 5, 98, 25, 11, .pin_lengthText 35, 120, 300, 11, "Added pin length, in multiples of pin width, underneath IC package."Textbox 5, 118, 25, 11, .pin_xinText 35, 130, 300, 11, "Added pin length, in multiples of pin width, outside of IC package."Textbox 5, 128, 25, 11, .pin_xoutText 35, 140, 300, 11, "Globally added material to compensate for etch. Usally 0.04mm, or 1mil."Textbox 5, 138, 25, 11, .etchText 35, 150, 300, 11, "Pin 1 starting location. 0 = top left, 1 = top middle."Textbox 5, 148, 25, 11, .pin1locText 50,170,300,11, "Measurement Unit."DropListBox 5,168,40,62, measurement$(), .munitPushButton 20, 185, 30, 12, "Cancel", .CancelOKBUTTON 180, 185, 30, 12End Dialog' Dimension an object to represent the dialog.Dim Dlg1 As DialogName1'Default inputsDlg1.pak_ypins = 60 ' number of pins in package verticallyDlg1.pak_xsize = 34.60 ' width of package from vertical pin edge to vertical pin edgeDlg1.pak_xtol = 0 ' +/- tolerance of package widthDlg1.pak_xpins = 60 ' number of pins in package horizontally, enter 0 for a TSOP packageDlg1.pak_ysize = 34.60 ' width of package from horizontal pin edge to horizontal pin edgeDlg1.pin_space = 0.50 ' pin to pin spacingDlg1.pin_width = 0.27 ' width of pinDlg1.pin_length = 0.75 ' length of pinDlg1.pin_xin = 1 ' added pin length underneath the IC in multiples of pin width. Usually 1Dlg1.pin_xout = 2 ' added pin length outside the IC in multiples of pin width. Usually 2Dlg1.etch = 0.04 ' gloabally added material to compensate for the etchDlg1.pin1loc = 0 ' starting pin number at the top left of the package. 0 for top left, 1 for center.Dlg1.munit = 0Dialog Dlg1 ' Display the dialog.If Dlg1.Cancel = 1 ThenExit SubEnd If' package generationoffset = 50000 ' imperial center offsetif measurement(Dlg1.munit) = "Metric" then offset = 1270 ' metric center offsetResetParametersAddStringParameter "MeasurementUnit", measurement(Dlg1.munit)RunProcess "PCB:DocumentPreferences"'-----------------------------------------------------------------------------' DO NOT REMOVE, RESOLVES A BUG WITH FLOATIN POINT ENTRY INTO THE DIALOG BOX' AND USING THE DIALOG VARIBLES DIRECTLY IN LINE WITH MATH'-----------------------------------------------------------------------------pak_ypins = val (Dlg1.pak_ypins)pak_xsize = val (Dlg1.pak_xsize)pak_xtol = val (Dlg1.pak_xtol)pak_xpins = val (Dlg1.pak_xpins)pak_ysize = val (Dlg1.pak_ysize)pin_space = val (Dlg1.pin_space)pin_width = val (Dlg1.pin_width)pin_length = val (Dlg1.pin_length)pin_xin = val (Dlg1.pin_xin)pin_xout = val (Dlg1.pin_xout)etch = val (Dlg1.etch)'------------------------------------------------------------------------------pxsize = pin_width + etchpysize = pin_length + (pin_xin * pin_width) + (pin_xout * pin_width) + etch + (pak_xtol * 2)pin_outside = ( ( pak_xsize + pak_xtol ) / 2 )pin_inside = pin_outside - ( pin_length + (pin_xin * pin_width) + (etch / 2 ) + pak_xtol )pak_xpinc = pin_inside + (( pin_outside - pin_inside ) / 2 ) + ( (pin_xout * pin_width) / 2 )pin_outside = ( ( pak_ysize + pak_xtol ) / 2 )pin_inside = pin_outside - ( pin_length + (pin_xin * pin_width) + (etch / 2 ) + pak_xtol )pak_ypinc = pin_inside + (( pin_outside - pin_inside ) / 2 ) + ( (pin_xout * pin_width) / 2 )pak_yofs = pin_space * (pak_ypins -1 ) / 2pak_xofs = pin_space * (pak_xpins -1 ) / 2toppin = ( pak_xpins * 2 ) + ( pak_ypins * 2 )pinnum = Dlg1.pin1loc * ( pak_xpins / 2 )angle = 90for n = 1 to pak_ypinsxpos = - pak_xpincypos = pak_yofs - ( (n-1) * pin_space )gosub makepinnext nif pak_xpins <> 0 thenangle = 180for n = 1 to pak_xpinsxpos = - pak_xofs + ( (n-1) * pin_space )ypos = - pak_ypincgosub makepinnext nend ifangle = 270for n = 1 to pak_ypinsxpos = pak_xpincypos = - pak_yofs + ( (n-1) * pin_space )gosub makepinnext nif pak_xpins <> 0 thenangle = 0for n = 1 to pak_xpinsxpos = pak_xofs - ( (n-1) * pin_space )ypos = pak_ypincgosub makepinnext nend ifExit Submakepin:pinnum=pinnum+1:if pinnum>toppin then pinnum=1ResetParametersAddStringParameter "Designator", pinnumAddStringParameter "Location.X", xpos + offsetAddStringParameter "Location.Y", ypos + offsetAddStringParameter "HoleSize", 0AddStringParameter "Rotation", angleAddStringParameter "Plated", "True"AddStringParameter "XSize", pxsizeAddStringParameter "YSize", pysizeAddStringParameter "Shape", "Round"AddStringParameter "DaisyChain","Load"AddStringParameter "Selected", "False"AddStringParameter "DRCError", "False"AddStringParameter "Locked", "False"AddStringParameter "Layer", "Top"RunProcess "PCB:PlacePad"returnEnd SubToo bad, I don't think Altium allows basic scripts anymore. I had scripts to generate swiggly inductors, spiral inductors, smooth track size A to size B transitions, change a bitmap into a halftone image on the PCB...As messy as the above diode datasheet was, the old method of translating the datasheet QFP footprints to what the PCB cad software liked has been simplified with modern footprint examples in datasheets today. Be glad you didn't have to manually work out all of the math in my example code above, around 2/3rd down, by hand for every new footprint.I assume most modern PCB engineering CADs have some sort of script or module language where you can create your own auto footprint generator like I have. For simple 2-4 pin devices, and using footprint example pads of today's datasheets, your program should be around half or 1/3rd the size of my over-complicated QFP generator I made above.

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 28, 2018, 04:27:24 am
content: Ugh, I had a similar thing with a tact switched from C&K..The dimensions for the tact switch footprint are passable, and they supplied a .step file for the switch.But the button caps? Nope. Terrible hand drawn diagram with only the most cursory dimensions, and NO way to see how high the cap sits on the button. Kinda important for making the part fit properly.....The most annoying part was that I requested .step files for both parts, but they completely ignored the request for the button cap, not even acknowledging my follow up emails...How am I meant to design your part into my product without proper dimensions at least, or .step files?Not to mention TT Electronics who couldn't even organise a .step file that wasn't distorted or skewed or otherwise broken in some way after 3 tries.I switched to Bourns and they had all their i's dotted and t's crossed, a perfect .step file and good documentation. Same price for their part too.

author: coppercone2
author_rank: Super Contributor
timestamp: August 28, 2018, 07:54:26 pm
content: I hate shitty pictures of round can packaged transistors.