Re: gEDA-user: new footprint guidelines
On Fri, 01 Oct 2010 17:55:43 -0400, Rick Collins gnuarm.2...@arius.com wrote: Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Are you trolling, or just ignorant? Peter -- Peter Brett pe...@peter-b.co.uk Remote Sensing Research Group Surrey Space Centre ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
John Doty wrote: On Oct 1, 2010, at 3:55 PM, Rick Collins wrote: Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Speaking as a physicist, let me comment. 1. Learning to do a variety of engineering tasks is an important part of an experimental physicist's education. A good experimental physicist must be a more versatile engineer than most engineering specialists. This is exactly the kind of job a Ph.D. student *should* be doing. 2. The specific problem mentioned was a super noiseless detector circuit. Few EE's understand detector physics or noise physics well enough to tackle this. Most PHDs when challenged to do something outside of a pretty narrow field, might as well be qualified as a Post-Hole Digger. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: At most you might want to verify that the data in the XYRS file matches the Gerber files for a small number of representative parts. Why do you think you need to verify the results by reverse engineering the code??? That is the stuff I am talking about over thinking the problem. All you need to do is look at the output. Looking at the output is a precondition to verifying anything. You tell me, that I shouldn't look at the input. But it's one of the iron rules of computation: garbage in - garbage out Having to verify the output on each and every design is rediculous. It's like a marksman determining his hold-off on every target by trial. This is not very common nowadays because the bear wins. E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) ... When you find out what PCB does, a through e, what will that tell you? It will tell me, whether what PCB does, conforms to the standard or has a chance to conform to the standard with correct libraries. If you don't know what the standard is, how will you know if your design is correct? If there is a standard and I don't know it, it's my fault - and of course I will never know until the assembly house told me, that I screwed up. Maybe for the series you do, the cost is negligible. At my present state of business €250 for the setup compared to €950 for assembling 30 boards is a considerable cost factor. If I can get rid of this or reduce it to €50 because the assemblers knows they can trust my data, this is a huge competitive advantage. Maybe the savings generated by this discussion here never hit my wallet. But I'm not writing for me alone, as I use others work for free. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: I'm guessing here, but pick and place machine have to orientate the part very fast, so it is important that they pick the component from a principal axis of inertia. It is not always easy to determine where the axis lies when the component is asymmetric, which is frequent with power components. For another example, look a DPAK or D2PAK components (SOT404, SOT428, etc). I'm not even sure that they option a) would work, but it might be a good default, provided you can override it. Pick and place machine operators don't want you to tell them how to pick a part. All they want from you is to tell them where on the board to put it. That is why the XYRS file uses the centroid and not the center of mass. I know that and was on the verge of replying the same. All I want is to make sure that I'll provide a correct description of the geometry. And now it's time for more reading and less writing. Thanks again for sending me the standard. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Steven Michalske wrote: As you guys continue to debate this... Look at how pcb makes the xyrs data files. You'll findout that it generates it from the pcb file not the library. It takes the center of the part from the pins and pads. Then it puts pin 1 somewhere consistent. See the source for details. Thank you - finding out this information is what I meant with I'll have to read, how the footprint coordinates and placement in the board influence the actual values. It would be interesting, whether a mark statement in the footprint is ignored as well and how the rotation is computed - can you hint me to the relevant source files please? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. Again, yes and no: in our present state of standardization probably. But at least the designer didn't screw up alone: the guy who did much more is the library builder. That one is the person, responsible for conformance to standards in the first place. And that's our subject in the thread: new footprint guidelines - what is considered trusted fact in construction involving cooperation must be based on standards - and they evolve. There was a time, metric screws or Whitworth screws etc. didn't exist. Every supplier defined screw gages as he pleased and a designer, who didn't check, that the nuts fitted on the bolts, screwed it up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? As I may go the route to PhD if I find the time and a worthwhile subject, I'm glad we are talking about this now, before I have started ;-) Btw. to achieve standard conformance, the gschem symbols of polar devices have to be checked/reworked as well. The best solution probably is, to explicitly attribute conformat libs and keep them under their own section on gedasymbols.org. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Kai-Martin Knaak wrote: I think registration marks help a lot. Attached you find my favourite mark, that regrettably can't be converted into a footprint, because it contains polygons. I converted it to a footprint anyway ;-) Nice work, thanks ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. You are making this way, way, WAY too complicated. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. This (planar, linear rigid body) transformation is just one word for translation plus rotation. Sorry, if this was PhD talk - I'm too used to it. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) ... That's what I need to know, before I can trust libraries and an XYRS files. Tbh, I'm not particularely happy, that this seems to be handled by some black magic withing 'pcb' instead of the library definitions. Armin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 06:09 PM 10/3/2010, you wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) That's what you don't get. You don't need to know diddly about the CAD system. The CAD system will produce output files that match your layout as you have prepared it. If it does anything else, it is very broken. At most you might want to verify that the data in the XYRS file matches the Gerber files for a small number of representative parts. Why do you think you need to verify the results by reverse engineering the code??? That is the stuff I am talking about over thinking the problem. All you need to do is look at the output. E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) ... That's what I need to know, before I can trust libraries and an XYRS files. Tbh, I'm not particularely happy, that this seems to be handled by some black magic withing 'pcb' instead of the library definitions. When you find out what PCB does, a through e, what will that tell you? If you don't know what the standard is, how will you know if your design is correct? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Mon, Oct 04, 2010 at 12:09:22AM +0200, Armin Faltl wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) Take as an example a SOT89 transistor like NXP's BCX52-16 (I've just used one in a recent design) and look at the recommended footprints: Package page: http://www.nxp.com/#/page/content=[f=/packages/SOT89.xml] Package drawing: http://www.nxp.com/documents/outline_drawing/sot089_po.pdf Reflow footprint: http://www.nxp.com/documents/reflow_soldering/sot089_fr.pdf I'm not sure what point a pick and place machine would like to use as centroid, probably the crossing of the two axes in the last drawing. This apparently rules out options b, c, and d, but seems to work with option a. I'm guessing here, but pick and place machine have to orientate the part very fast, so it is important that they pick the component from a principal axis of inertia. It is not always easy to determine where the axis lies when the component is asymmetric, which is frequent with power components. For another example, look a DPAK or D2PAK components (SOT404, SOT428, etc). I'm not even sure that they option a) would work, but it might be a good default, provided you can override it. Regards, Gabriel ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 10:23 PM 10/3/2010, you wrote: On Mon, Oct 04, 2010 at 12:09:22AM +0200, Armin Faltl wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) Take as an example a SOT89 transistor like NXP's BCX52-16 (I've just used one in a recent design) and look at the recommended footprints: Package page: http://www.nxp.com/#/page/content=[f=/packages/SOT89.xml] Package drawing: http://www.nxp.com/documents/outline_drawing/sot089_po.pdf Reflow footprint: http://www.nxp.com/documents/reflow_soldering/sot089_fr.pdf I'm not sure what point a pick and place machine would like to use as centroid, probably the crossing of the two axes in the last drawing. This apparently rules out options b, c, and d, but seems to work with option a. I'm guessing here, but pick and place machine have to orientate the part very fast, so it is important that they pick the component from a principal axis of inertia. It is not always easy to determine where the axis lies when the component is asymmetric, which is frequent with power components. For another example, look a DPAK or D2PAK components (SOT404, SOT428, etc). I'm not even sure that they option a) would work, but it might be a good default, provided you can override it. Pick and place machine operators don't want you to tell them how to pick a part. All they want from you is to tell them where on the board to put it. That is why the XYRS file uses the centroid and not the center of mass. The centroid is just the center of the extents of the part or the footprint. It doesn't matter if the part has one, two, three or three hundred pins. Just draw the outline of the entire part and find the center. There are some parts where this can be a bit tricky, but those would be some really odd asymmetric switches and the like. I know of no ICs that need anything more than a rectangular outline to find the centroid. I don't know why there is a need to reinvent PCB assembly. It is kept simple just because the more complex it is made, the less likely it will work right. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
FYI gerbv will put the xy file generated by pcb onto your gerbers. Steve On Sat, Oct 2, 2010 at 10:42 AM, Steven Michalske smichal...@gmail.com wrote: As you guys continue to debate this... Look at how pcb makes the xyrs data files. You'll findout that it generates it from the pcb file not the library. It takes the center of the part from the pins and pads. Then it puts pin 1 somewhere consistent. See the source for details. On Oct 2, 2010, at 5:55 AM, Rick Collins gnuarm.2...@arius.com wrote: At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
How does that work? I'd like to try that. I guess it will only work for an XYRS file generated by PCB. What is that format? Maybe I can convert my XYRS file into that and check it. Rick At 03:56 AM 10/2/2010, you wrote: FYI gerbv will put the xy file generated by pcb onto your gerbers. Steve On Sat, Oct 2, 2010 at 10:42 AM, Steven Michalske smichal...@gmail.com wrote: As you guys continue to debate this... Look at how pcb makes the xyrs data files. You'll findout that it generates it from the pcb file not the library. It takes the center of the part from the pins and pads. Then it puts pin 1 somewhere consistent. See the source for details. On Oct 2, 2010, at 5:55 AM, Rick Collins gnuarm.2...@arius.com wrote: At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: Where I want to get us, is being a consistent customer, for whom they no longer need to think about step b). From what I can tell, they don't bother with the two steps. The machine picks the part from the feeder and before placing it, the operator verifies it is oriented correctly. Done once for a given feeder and a given side of your board, the rest of the parts from that feeder should be good. If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... This is 100% reliable and not really a lot of time on their part. Even if they do the steps you are talking about, they will do the step I have outlined. They aren't engineers and they don't think like engineers. They don't want to figure out what things don't work, they just want to make them work. Their way is much easier in the long run I am sure. The guy talking to me has 'MSc.' before his name ;-) No idea how much he's involved with the actual operation of the machines. Even austrian farmers try to figure out and avoid reasons for problems - no cowboy mentality? See above / please check yourself. I don't have PCB, so I can't check. in that case you have to believe me or others, that with the internal coordinate system of 'pcb' X+ is to the right and Y+ is down. The assembly house I'm talking to, offers to provide standard parts. I imagine, they use a combination of machine vision and having resolved step a) from above once and forever with their part suppliers. When you say parts, do you mean footprint data for the CAD packages? No, I mean this assembly house holds some standard parts in store (0603, 0805 resitors, caps,... of common values) and will sell them to you if you like - can save you and them some hassle. The bottom line is, ask your assembler what they want. Don't assume anything. I will. [snip] About the .xy-file I'll have to read, how the footprint coordinates and placement in the board influence the actual values. I think it will be a bit tricky to check the footprints, since pcb doesn't show the true coordinates but computes an offset on the fly to make all screen coordinates positive - this is a bad idea for working on .fp-files. That doesn't make a lot of sense to me, but I'm not sure why it is bad. To check, whether all the footprints I use conform to IPC-7351(B), esp. if the centroid is at (0, 0) of footprint it would be easiest, to just load them into the design program. But pcb is cheating on you: the footprint-definition describes say a 2-pad part with pad-centers at (-2.0mm, 0mm), (2.0mm, 0mm) and centroid at (0mm, 0mm). When loading the footprint definition (that's the .fp-file) on it's own, pcb will do some guesswork to squeeze everything in it's positive coordinate quadrant and compute an offset (failing occasionally btw. leaving parts of text and lines in nirvana). Then it will tell you that above pad-centers are at (0.7mm, 1.5mm), (4.7mm, 1.5mm) and center mark at (2.7mm, 1.5mm). The same applies if the definition had been (2000, -100), (2004, -100) and (2002, -100) - there's no way to tell the numbers in the definition by looking at the GUI. And what I'm trying to figure out atm, to verify the data to be sent to the assembly house is, how the footprint definition, the guess work and the actual placement get munched into the XYRS file. I use 0,0 as the lower left corner of the board and my fab drawing gives coordinates of the fiducial marks on the board along with major drill holes (like mounting points). So all coordinates on the board are positive. Why would you want it different? I don't know what a .fp file is. I don't want it different for the board (which would require reversing Y-orientation in pcb), but for a loaded footprint definition. BTW, all part coordinates should be wrt the centroid of the part, not pin 1. Some CAD packages used to use pin 1, but it is standard practice to use the package centroid now. Centroid always appeared natural to me - it's the best position for physical rotation axis as well . What sort of checking of the footprints do you want to do? You should use a Gerber viewer to verify the Gerber files. Nothing inside the CAD system matters if the Gerber files aren't right. What would be great is a viewer that understands the part shapes and positions the parts according to the XYRS file on top of the Gerber file images so you can verify alignment and orientation. Since the assembly house won't have/use my footprint definitions and I don't want to make a drawing of each and every part, if a standard clearly states, how it looks, I have to check, whether the CAD-internal definitions conform to the standard. If no standard existed at all and I really have to make drawings with whatever tool, I still have to confirm the CAD-internal definition is identical to the drawings.
Re: gEDA-user: new footprint guidelines
At 02:47 PM 10/1/2010, you wrote: Rick Collins wrote: Where I want to get us, is being a consistent customer, for whom they no longer need to think about step b). From what I can tell, they don't bother with the two steps. The machine picks the part from the feeder and before placing it, the operator verifies it is oriented correctly. Done once for a given feeder and a given side of your board, the rest of the parts from that feeder should be good. If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Sure the designer can totally screw up a design. What is your point? This is 100% reliable and not really a lot of time on their part. Even if they do the steps you are talking about, they will do the step I have outlined. They aren't engineers and they don't think like engineers. They don't want to figure out what things don't work, they just want to make them work. Their way is much easier in the long run I am sure. The guy talking to me has 'MSc.' before his name ;-) No idea how much he's involved with the actual operation of the machines. Even austrian farmers try to figure out and avoid reasons for problems - no cowboy mentality? I don't care much about Austrian farmers. I am talking about what board assembly houses do. I am sure they are capable of working with specs and heading problems off at the pass. But they seem to know what works best for them and assuming that everyone from the three different camps are on the same page is not something that works for them I gather. See above / please check yourself. I don't have PCB, so I can't check. in that case you have to believe me or others, that with the internal coordinate system of 'pcb' X+ is to the right and Y+ is down. Why do I care what any PCB package uses internally? If they don't have positive Y up and positive X down at the user interface, how the heck am I supposed to coordinate that with Gerber files and the rest of the world? Why not use polar coordinates? Are you talking about something truly internal or at the user interface? The assembly house I'm talking to, offers to provide standard parts. I imagine, they use a combination of machine vision and having resolved step a) from above once and forever with their part suppliers. When you say parts, do you mean footprint data for the CAD packages? No, I mean this assembly house holds some standard parts in store (0603, 0805 resitors, caps,... of common values) and will sell them to you if you like - can save you and them some hassle. I use full turnkey. They buy all the parts I need. So far it has been TONS easier and I am still making good profits. The bottom line is, ask your assembler what they want. Don't assume anything. I will. [snip] About the .xy-file I'll have to read, how the footprint coordinates and placement in the board influence the actual values. I think it will be a bit tricky to check the footprints, since pcb doesn't show the true coordinates but computes an offset on the fly to make all screen coordinates positive - this is a bad idea for working on .fp-files. That doesn't make a lot of sense to me, but I'm not sure why it is bad. To check, whether all the footprints I use conform to IPC-7351(B), esp. if the centroid is at (0, 0) of footprint it would be easiest, to just load them into the design program. But pcb is cheating on you: the footprint-definition describes say a 2-pad part with pad-centers at (-2.0mm, 0mm), (2.0mm, 0mm) and centroid at (0mm, 0mm). When loading the footprint definition (that's the .fp-file) on it's own, pcb will do some guesswork to squeeze everything in it's positive coordinate quadrant and compute an offset (failing occasionally btw. leaving parts of text and lines in nirvana). Then it will tell you that above pad-centers are at (0.7mm, 1.5mm), (4.7mm, 1.5mm) and center mark at (2.7mm, 1.5mm). The same applies if the definition had been (2000, -100), (2004, -100) and (2002, -100) - there's no way to tell the numbers in the definition by looking at the GUI. I don't care much how a CAD program works internally. But it has to use the centroid of the part for indicating the coordinates of the part location or it is not compatible with the assembly system. My assembly house didn't care much about the rotations since that is easily verifiable and fixed. But if the coordinates are offset from the centroid they claim to have a hard time finding and fixing that. The only coordinates that matter are what the designer sees and what shows up in the XYRS file. I don't care at all how the CAD system arrives at the values. And what I'm trying to figure out atm, to verify the data to be sent to the assembly house is, how the footprint definition, the guess work and the actual placement get
Re: gEDA-user: new footprint guidelines
Armin Faltl wrote: I think registration marks help a lot. Attached you find my favourite mark, that regrettably can't be converted into a footprint, because it contains polygons. I converted it to a footprint anyway ;-) The central corner can be done with square pads. The pads are exposed copper for better visibility. They include the nopaste flag, so they don't make it to the paste layer. -- see attachment ---)kaimartin(--- -- Kai-Martin Knaak tel: +49-511-762-2895 Universität Hannover, Inst. für Quantenoptik fax: +49-511-762-2211 Welfengarten 1, 30167 Hannover http://www.iqo.uni-hannover.de GPG key:http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmkop=get mark_2.fp Description: application/pcb-footprint ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. ---)kaimartin(--- -- Kai-Martin Knaak tel: +49-511-762-2895 Universität Hannover, Inst. für Quantenoptik fax: +49-511-762-2211 Welfengarten 1, 30167 Hannover http://www.iqo.uni-hannover.de GPG key:http://pgp.mit.edu:11371/pks/lookup?search=Knaak+kmkop=get ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
As you guys continue to debate this... Look at how pcb makes the xyrs data files. You'll findout that it generates it from the pcb file not the library. It takes the center of the part from the pins and pads. Then it puts pin 1 somewhere consistent. See the source for details. On Oct 2, 2010, at 5:55 AM, Rick Collins gnuarm.2...@arius.com wrote: At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Sep 30, 2010, at 7:00 AM, Armin Faltl armin.fa...@aon.at wrote: Yes and No. The number of practical orientations a board and part can have are very limited, but to check them, until now a human will be involved. True automation readines requires that you can feed the file into the machine, the machine knows, where it's fixtures are and therefore will correctly transform design positions to machine positions without manual intervention. The operator just has to follow the rule, that the (0, 0) marking on the board (to be invented) has to be at the fixture with the red dot. To help everyone involved, I include 'TOP' and 'BOT' in my copyright notices, written in copper. My current board isn't square, but then I could state, that the baseline of the copyright is parallel to X-axis in the XYRS file. Would registration marks help with this? Three points forming approximately a 90 degree corner. Would give the ability to detect +x,+y I know our smt lines heavily depend on these marks. Steve ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Sep 30, 2010, at 7:43 AM, Rick Collins gnuarm.2...@arius.com wrote: Trouble is that the machine doesn't know how the parts are oriented in the feeders. Rather than trust that the system works if they get each piece right, they manually run through an sample of each component type to make sure it is placed on the board right. That is all they care about and you only do this once for a given board. They call this setup and charge a couple of hundred dollars for it. Not enough of a charge to worry about and it gives them a warm fuzzy feeling that they aren't screwing up. I know that the newer placement machines have cameras to detect orientation of the parts. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Sep 30, 2010, at 7:43 AM, Rick Collins gnuarm.2...@arius.com wrote: they manually run through an sample of each component type to make sure it is placed on the board right. That is all they care about and you only do this once for a given board. They call this setup and charge a couple of hundred dollars for it. Not enough of a charge to worry about and it gives them a warm fuzzy feeling that they aren't screwing up. My favorite is when they place the parts onto the boards with double stick tape and measure each part by hand. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Steven Michalske wrote: Would registration marks help with this? Three points forming approximately a 90 degree corner. Would give the ability to detect +x,+y I know our smt lines heavily depend on these marks. Steve I think registration marks help a lot. Attached you find my favourite mark, that regrettably can't be converted into a footprint, because it contains polygons. It's very good for machine vision, gives sub-pixel accuracy. Since they allow to measure board manufacturing distortions, I'd eventually place 3-4 marks along each side. Using different marks to indicate axes. regmark.pcb Description: application/pcb-layout ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Hi, Rick Collins wrote: At 04:53 PM 9/28/2010, you wrote: For all those, that follow the discussion from here or vaguely remember some other rotations: Rick Collins wrote: I had to go through all this some time ago and recently I wanted to iron out all the difficulties so that the assembly house could use my XYRS file (location and rotation data) directly without alteration. That ended up being a fool's errand, but I did learn a few things. IPC has a standard for this which everyone seems to use. For two pin symmetrical parts, pin one is to the left. For IC type parts, pin one is in the upper left quadrant for parts with pin one in a corner or for parts where pin one is in the center of a side pin one is on the upper most side. This is the zero degree rotation point for the part. All rotations are counter-clockwise from this position. on 2010-08-15 Rick wrote in thread 'Specification of Rotations for Auto Assembly': I just found something that changes what I thought I knew. I have a PDF of an IPC magazine from 2005 where they are touting a leap forward in land pattern generation. An illustration showing pin 1 in the upper left for SOT components is what I used as my reference. That and the post in the FreePCB forum of a normally very reliable source. But I found a copy of IPC-7351 and it clearly says that for SOT and most other IC parts, the original rotation is with pin 1 in the LOWER left. That is what FreePCB does in the library editor by default. This isn't Ricks fault: reading the 2005 IPC-7351 I can confirm this, while the 2009 IPC-7351B says, that pin 1 is in the upper left corner ;-) Shall I comment on this ? I'll just use upper left... I'm not sure what you are saying. Did you have a point you wanted to make? The point I wanted to make is, that there's nothing wrong with our memories but that the 2009 version of IPC-7351 contradicts the 2005 version (probably 2003 as I see now), maybe in order to conform to EIAJ/ANSI 481C. So this conformance should be veryfied. I went through a very lengthy search for a rational basis for picking a standard. Virtually no one seemed to actually know the source of the standard they used or what anyone else was using. It seems like the board fab and assembly business is full of cowboys who just want to make the current project work rather than to figure out a system that would help everyone. In the end I found that the incorrect IPC-7351 that I found was an initial short form version from 2003, limited to naming conventions and a brief listing of pin 1 orientations, not a full spec. I had also found some other materials that had wrong information attributed to IPC-7351, but not official (dated in 2003). The officially released standard came out after, in February 2005, with the pin 1 orientation of all ICs either in the top left or the top. Without knowing the whys, I can see that IPC-7351 seems to be what is more supported than anything else. IPC claims that IPC-7351 matches EIAJ/ANSI 481C. I have not found an official copy of IPC-7351 that shows any other orientation than what was stated. If you have an official copy of the released IPC-7351 spec that says pin 1 of ICs is anywhere other than top or top left, I would like to see it. Regretably I do not have any official version (bought in paper directly from the relevant standads body) but only pdf-files from the internet, that show the different names IPC-7351 and IPC-7351B and the respective release dates of 2005 and 2009. Neither do I have an EIAJ/ANSI 481C paper. The latest reference I found now is: http://landpatterns.ipc.org/IPC-7351BNamingConvention.pdf The old version I may have been looking at is 2003, not 2005: http://www.pcbstandards.com/forums/attachment.php?attachmentid=501d=1064619067 about EIAJ/ANSI I found only: http://www.smtnet.com/library/files/upload/The-Universal-PCB-Design-Grid-System.pdf http://www.thefreelibrary.com/The+future+of+CAD+libraries%3A+will+IPC-7351+be+adopted+globally%3F+Take...-a0129548051 All pdf's I have do not specify any coordinate axe direction, so one is free to choose and it's not relevant for rotation as long as the CAD-system has a fixed top side for the design. Real boards of course tumble around in space with 6 degrees of freedom as do parts so here the crazy busines with coordinate systems goes on, since the fab may have no intrinsic way to tell where top was in the design. (I'm used to question coordiante systems, since mechanical (3d) cad will orient your model on the screen any way you like.) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 08:38 AM 9/29/2010, you wrote: Hi, Rick Collins wrote: At 04:53 PM 9/28/2010, you wrote: For all those, that follow the discussion from here or vaguely remember some other rotations: Rick Collins wrote: I had to go through all this some time ago and recently I wanted to iron out all the difficulties so that the assembly house could use my XYRS file (location and rotation data) directly without alteration. That ended up being a fool's errand, but I did learn a few things. IPC has a standard for this which everyone seems to use. For two pin symmetrical parts, pin one is to the left. For IC type parts, pin one is in the upper left quadrant for parts with pin one in a corner or for parts where pin one is in the center of a side pin one is on the upper most side. This is the zero degree rotation point for the part. All rotations are counter-clockwise from this position. on 2010-08-15 Rick wrote in thread 'Specification of Rotations for Auto Assembly': I just found something that changes what I thought I knew. I have a PDF of an IPC magazine from 2005 where they are touting a leap forward in land pattern generation. An illustration showing pin 1 in the upper left for SOT components is what I used as my reference. That and the post in the FreePCB forum of a normally very reliable source. But I found a copy of IPC-7351 and it clearly says that for SOT and most other IC parts, the original rotation is with pin 1 in the LOWER left. That is what FreePCB does in the library editor by default. This isn't Ricks fault: reading the 2005 IPC-7351 I can confirm this, while the 2009 IPC-7351B says, that pin 1 is in the upper left corner ;-) Shall I comment on this ? I'll just use upper left... I'm not sure what you are saying. Did you have a point you wanted to make? The point I wanted to make is, that there's nothing wrong with our memories but that the 2009 version of IPC-7351 contradicts the 2005 version (probably 2003 as I see now), maybe in order to conform to EIAJ/ANSI 481C. So this conformance should be veryfied. Do you have a copy of the 2003 version of IPC-7351? I think there was no 2003 version of the spec. If I understand the little bit I can find on this it was only released in 2005. I went through a very lengthy search for a rational basis for picking a standard. Virtually no one seemed to actually know the source of the standard they used or what anyone else was using. It seems like the board fab and assembly business is full of cowboys who just want to make the current project work rather than to figure out a system that would help everyone. In the end I found that the incorrect IPC-7351 that I found was an initial short form version from 2003, limited to naming conventions and a brief listing of pin 1 orientations, not a full spec. I had also found some other materials that had wrong information attributed to IPC-7351, but not official (dated in 2003). The officially released standard came out after, in February 2005, with the pin 1 orientation of all ICs either in the top left or the top. Without knowing the whys, I can see that IPC-7351 seems to be what is more supported than anything else. IPC claims that IPC-7351 matches EIAJ/ANSI 481C. I have not found an official copy of IPC-7351 that shows any other orientation than what was stated. If you have an official copy of the released IPC-7351 spec that says pin 1 of ICs is anywhere other than top or top left, I would like to see it. Regretably I do not have any official version (bought in paper directly from the relevant standads body) but only pdf-files from the internet, that show the different names IPC-7351 and IPC-7351B and the respective release dates of 2005 and 2009. Neither do I have an EIAJ/ANSI 481C paper. The latest reference I found now is: http://landpatterns.ipc.org/IPC-7351BNamingConvention.pdf The old version I may have been looking at is 2003, not 2005: http://www.pcbstandards.com/forums/attachment.php?attachmentid=501d=1064619067 These are the naming conventions only and do not explain anything, they just list some basics. The full spec from Feb 2005 is 92 pages. This rev has no suffix letter. There has been a rev A in Feb 2007 and and a rev B in 2010. I don't believe any of the released revisions change any footprints that have been published, but rather add new footprints. about EIAJ/ANSI I found only: http://www.smtnet.com/library/files/upload/The-Universal-PCB-Design-Grid-System.pdf http://www.thefreelibrary.com/The+future+of+CAD+libraries%3A+will+IPC-7351+be+adopted+globally%3F+Take...-a0129548051 I don't find any info on EIAJ/ANSI 481C in the first reference. The second is the same article I found the referrence in. Tom Hausherr had his article published in a number of publications in the Feb 2005 time frame. Or at least the same article shows up in a number of places. All pdf's I have do not specify any coordinate axe
Re: gEDA-user: new footprint guidelines
At 07:00 PM 9/29/2010, you wrote: Rick Collins wrote: The point I wanted to make is, that there's nothing wrong with our memories but that the 2009 version of IPC-7351 contradicts the 2005 version (probably 2003 as I see now), maybe in order to conform to EIAJ/ANSI 481C. So this conformance should be veryfied. Do you have a copy of the 2003 version of IPC-7351? I think there was no 2003 version of the spec. If I understand the little bit I can find on this it was only released in 2005. Apparently not - only the URL below with the 2003 note in the footer. I went through a very lengthy search for a rational basis for picking a standard. Virtually no one seemed to actually know the source of the standard they used or what anyone else was using. It seems like the board fab and assembly business is full of cowboys who just want to make the current project work rather than to figure out a system that would help everyone. In the end I found that the incorrect IPC-7351 that I found was an initial short form version from 2003, limited to naming conventions and a brief listing of pin 1 orientations, not a full spec. I had also found some other materials that had wrong information attributed to IPC-7351, but not official (dated in 2003). The officially released standard came out after, in February 2005, with the pin 1 orientation of all ICs either in the top left or the top. Without knowing the whys, I can see that IPC-7351 seems to be what is more supported than anything else. IPC claims that IPC-7351 matches EIAJ/ANSI 481C. I have not found an official copy of IPC-7351 that shows any other orientation than what was stated. If you have an official copy of the released IPC-7351 spec that says pin 1 of ICs is anywhere other than top or top left, I would like to see it. Regretably I do not have any official version (bought in paper directly from the relevant standads body) but only pdf-files from the internet, that show the different names IPC-7351 and IPC-7351B and the respective release dates of 2005 and 2009. Neither do I have an EIAJ/ANSI 481C paper. The latest reference I found now is: http://landpatterns.ipc.org/IPC-7351BNamingConvention.pdf The old version I may have been looking at is 2003, not 2005: http://www.pcbstandards.com/forums/attachment.php?attachmentid=501d=1064619067 These are the naming conventions only and do not explain anything, they just list some basics. The full spec from Feb 2005 is 92 pages. This rev has no suffix letter. There has been a rev A in Feb 2007 and and a rev B in 2010. I don't believe any of the released revisions change any footprints that have been published, but rather add new footprints. On the last page of the pcbstandards.com-URL there is a 16-item list titled Component Zero Rotations Pin 1 Location:. It describles pin 1 of a e.g. SOIC, SOP, TSOP, etc. as at bottom left. This is no longer the case in the 2009 and 2010 versions. This is just a 3 page list of the land pattern naming conventions. This is not really the standard at all. The standard document is 92 pages long (the 2005 version) and has five pages of very detailed drawings of each part type showing pin 1 orientations. I can't find a copy of the newer revisions that I don't have to pay $100 for. The point is that when this was published in 2003, it was not a standard yet as far as I can tell. The original revision of the full standard came out in Feb 2005 and has no suffix. The 2007 and 2009 standards (A and B respectively) should have the same detailed drawings of parts and land patterns showing pin 1 orientations. I can send you this doc if you would like. about EIAJ/ANSI I found only: http://www.smtnet.com/library/files/upload/The-Universal-PCB-Design-Grid-System.pdf http://www.thefreelibrary.com/The+future+of+CAD+libraries%3A+will+IPC-7351+be+adopted+globally%3F+Take...-a0129548051 I don't find any info on EIAJ/ANSI 481C in the first reference. The second is the same article I found the referrence in. Tom Hausherr had his article published in a number of publications in the Feb 2005 time frame. Or at least the same article shows up in a number of places. Sorry, there isn't really any info, the standard is just mentioned I think. There are some sites claiming to provide EIA-481-D-2008 for download. They all require registration and since they look a bit like warez distributors I didn't. All pdf's I have do not specify any coordinate axe direction, so one is free to choose and it's not relevant for rotation as long as the CAD-system has a fixed top side for the design. Real boards of course tumble around in space with 6 degrees of freedom as do parts so here the crazy busines with coordinate systems goes on, since the fab may have no intrinsic way to tell where top was in the design. (I'm used to question coordiante systems, since mechanical (3d) cad will orient your model on the screen any way you
Re: gEDA-user: new footprint guidelines
For all those, that follow the discussion from here or vaguely remember some other rotations: Rick Collins wrote: I had to go through all this some time ago and recently I wanted to iron out all the difficulties so that the assembly house could use my XYRS file (location and rotation data) directly without alteration. That ended up being a fool's errand, but I did learn a few things. IPC has a standard for this which everyone seems to use. For two pin symmetrical parts, pin one is to the left. For IC type parts, pin one is in the upper left quadrant for parts with pin one in a corner or for parts where pin one is in the center of a side pin one is on the upper most side. This is the zero degree rotation point for the part. All rotations are counter-clockwise from this position. on 2010-08-15 Rick wrote in thread 'Specification of Rotations for Auto Assembly': I just found something that changes what I thought I knew. I have a PDF of an IPC magazine from 2005 where they are touting a leap forward in land pattern generation. An illustration showing pin 1 in the upper left for SOT components is what I used as my reference. That and the post in the FreePCB forum of a normally very reliable source. But I found a copy of IPC-7351 and it clearly says that for SOT and most other IC parts, the original rotation is with pin 1 in the LOWER left. That is what FreePCB does in the library editor by default. This isn't Ricks fault: reading the 2005 IPC-7351 I can confirm this, while the 2009 IPC-7351B says, that pin 1 is in the upper left corner ;-) Shall I comment on this ? I'll just use upper left... ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 04:53 PM 9/28/2010, you wrote: For all those, that follow the discussion from here or vaguely remember some other rotations: Rick Collins wrote: I had to go through all this some time ago and recently I wanted to iron out all the difficulties so that the assembly house could use my XYRS file (location and rotation data) directly without alteration. That ended up being a fool's errand, but I did learn a few things. IPC has a standard for this which everyone seems to use. For two pin symmetrical parts, pin one is to the left. For IC type parts, pin one is in the upper left quadrant for parts with pin one in a corner or for parts where pin one is in the center of a side pin one is on the upper most side. This is the zero degree rotation point for the part. All rotations are counter-clockwise from this position. on 2010-08-15 Rick wrote in thread 'Specification of Rotations for Auto Assembly': I just found something that changes what I thought I knew. I have a PDF of an IPC magazine from 2005 where they are touting a leap forward in land pattern generation. An illustration showing pin 1 in the upper left for SOT components is what I used as my reference. That and the post in the FreePCB forum of a normally very reliable source. But I found a copy of IPC-7351 and it clearly says that for SOT and most other IC parts, the original rotation is with pin 1 in the LOWER left. That is what FreePCB does in the library editor by default. This isn't Ricks fault: reading the 2005 IPC-7351 I can confirm this, while the 2009 IPC-7351B says, that pin 1 is in the upper left corner ;-) Shall I comment on this ? I'll just use upper left... I'm not sure what you are saying. Did you have a point you wanted to make? I went through a very lengthy search for a rational basis for picking a standard. Virtually no one seemed to actually know the source of the standard they used or what anyone else was using. It seems like the board fab and assembly business is full of cowboys who just want to make the current project work rather than to figure out a system that would help everyone. In the end I found that the incorrect IPC-7351 that I found was an initial short form version from 2003, limited to naming conventions and a brief listing of pin 1 orientations, not a full spec. I had also found some other materials that had wrong information attributed to IPC-7351, but not official (dated in 2003). The officially released standard came out after, in February 2005, with the pin 1 orientation of all ICs either in the top left or the top. Without knowing the whys, I can see that IPC-7351 seems to be what is more supported than anything else. IPC claims that IPC-7351 matches EIAJ/ANSI 481C. I have not found an official copy of IPC-7351 that shows any other orientation than what was stated. If you have an official copy of the released IPC-7351 spec that says pin 1 of ICs is anywhere other than top or top left, I would like to see it. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
I am curious about the reasoning for picking values of design rules. I have not found the assembly houses to be very useful for this sort of info. They seem to be willing to work with whatever they are sent and will only give feedback when something causes real trouble for them. At 12:51 PM 9/24/2010, you wrote: Yes, the old library parts are pre-hires and the pads can be way off and should be fixed. Thanks! If we're hand-coding footprints, we could use 0.5mm instead of 1965 and preserve the *meaning* of the units. We lose some compatibility with older PCBs, but if the purpose is to update the current distribution that shouldn't be a problem. We should probably go with build-time generated footprint files, rather than continue to use the m4 runtime generation. That allows us to use more than just m4, too. Makefile rules for standard %.whatever to %.fp conversions... My general rules: Mask should be 3 mil away from copper, and slivers should be at least 6 mil wide. That means, if there's less than 12 mil between pads you go with a gang-opening. Where did you get these numbers? Did a manufacturer give this as their capability limit? Silk should not overlap the *mask opening* and should be 3 mil away at least. 5 mil min silk lines. Same here, who's rules are these? Origin and license should be stored in element attributes, not file comments, so they're copied into schematics. IPC has developed a set of rules for designing footprints to match parts of all sorts and has even provided a library of data for this. They provide three standard sets, Most, Nominal, Least which differ in the amount of land protrusion. Armin's footprint is likely a Most catagory footprint from his description. IPC-7351 seems to be very widely adopted and would be a great starting point for any footprint library. It would probably be a good idea to have more than one design for each footprint; one for reflow'd boards and one with longer pads for hand soldering. All QFN parts should have some visual aids to centering :-) On my last board, I added four diagonal lines on the silk layer to align each corner (like a big X), that worked out well. Refdes should be properly placed and sized but I'm not sure what's best. For example, on every single RESC1608N part I place I have to make the refdes smaller and move it off the pads. Getting size right is far more important than position; it's easy (and often needed anyway) to move things around in only-text mode. I don't bother with putting the refdes in any particular location for a library part. The times a default location would work out is so seldom, that it just isn't worth the effort. I put the refdes in the middle of the library part and move it to suit the design. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Just 10 minutes ago I had my 1st talk with my first assembly house. Guess what! I'm asked to provide rotation data. In the other mail I'm currently editing, I'm trying to provide definitions on where X- and Y-axis is on a part, including where X+ is on mechanically doubly symmetrical polar parts etc. As of now, I'll probably have to check/provide every angle by hand, but for future footprints, the definitions have to be absolutely clear. If there are contradictory standards, we will have to opt for one. As Rick said, they are able to adapt to any coordinate system, but at least the designer must know, what he means himself ;-) Regards, Armin Rick Collins wrote: I am curious about the reasoning for picking values of design rules. I have not found the assembly houses to be very useful for this sort of info. They seem to be willing to work with whatever they are sent and will only give feedback when something causes real trouble for them. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
I had to go through all this some time ago and recently I wanted to iron out all the difficulties so that the assembly house could use my XYRS file (location and rotation data) directly without alteration. That ended up being a fool's errand, but I did learn a few things. IPC has a standard for this which everyone seems to use. For two pin symmetrical parts, pin one is to the left. For IC type parts, pin one is in the upper left quadrant for parts with pin one in a corner or for parts where pin one is in the center of a side pin one is on the upper most side. This is the zero degree rotation point for the part. All rotations are counter-clockwise from this position. Then comes the really tricky part. For parts on the bottom side, the general rule (not in the IPC standard) is to either view the parts from the bottom with the board mirrored about the Y axis with the same pin one orientation (upper left in the mirrored image) and rotation counter-clockwise, or to view the bottom from the top with rotation clockwise ( with the footprint mirrored about the Y axis so pin one is on the right, in the upper right corner or top) giving the same results. All X,Y positions are with respect to the centroid of the part. I would expect the software can do all of this, but you need to layout your footprint with this in mind. In Free PCB, they use a centroid vector to specify the location of the centroid of the part and the angle of the zero degree rotational position. Not sure how this is done in gEDA. As you say, you can deviate from this and the board house will likely still give you correct boards as long as you are consistent. But even though the parts on my board were clearly labeled with pin 1, a board house assembled all of my prototypes with the chips reversed once. Now I am much more cautious about the XYRS file, almost paranoid... 8-S Rick At 10:42 AM 9/27/2010, you wrote: Just 10 minutes ago I had my 1st talk with my first assembly house. Guess what! I'm asked to provide rotation data. In the other mail I'm currently editing, I'm trying to provide definitions on where X- and Y-axis is on a part, including where X+ is on mechanically doubly symmetrical polar parts etc. As of now, I'll probably have to check/provide every angle by hand, but for future footprints, the definitions have to be absolutely clear. If there are contradictory standards, we will have to opt for one. As Rick said, they are able to adapt to any coordinate system, but at least the designer must know, what he means himself ;-) Regards, Armin Rick Collins wrote: I am curious about the reasoning for picking values of design rules. I have not found the assembly houses to be very useful for this sort of info. They seem to be willing to work with whatever they are sent and will only give feedback when something causes real trouble for them. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Mask should be 3 mil away from copper, and slivers should be at least 6 mil wide. That means, if there's less than 12 mil between pads you go with a gang-opening. Where did you get these numbers? Did a manufacturer give this as their capability limit? Yes. I've found this to be the usual rules for prototype services. I suspect you can pay more for better accuracy :-) Silk should not overlap the *mask opening* and should be 3 mil away at least. 5 mil min silk lines. Same here, who's rules are these? Many fabs automatically delete silk that overlaps mask holes. The 3 mil rule comes from the mask rules. Fabs I've talked to say the mask placement is +- 3 mil. Origin and license should be stored in element attributes, not file comments, so they're copied into schematics. IPC has developed a set of rules for designing footprints to match parts of all sorts and has even provided a library of data for this. They provide three standard sets, Most, Nominal, Least which differ in the amount of land protrusion. Armin's footprint is likely a Most catagory footprint from his description. IPC-7351 seems to be very widely adopted and would be a great starting point for any footprint library. We have IPC footprints in the ~geda library. Not all, but some. I don't bother with putting the refdes in any particular location for a library part. The times a default location would work out is so seldom, that it just isn't worth the effort. I put the refdes in the middle of the library part and move it to suit the design. Agreed. I think middle of the part, despite being bad for the *final* board, is the best starting point. *Size* of the refdes should be considered when making a footprint though. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Mon, Sep 27, 2010 at 9:56 AM, Rick Collins gnuarm.2...@arius.com wrote: They [Assembly houses] seem to be willing to work with whatever they are sent and will only give feedback when something causes real trouble for them. You have to ask, unfortunately. When you send a new project in to a house, ask to talk to the people on the line, about what would make the design better. Don't let the sales department give the no problem answer based on the customer is always right idea. Talk to the people doing the work. If you are making only a few boards the unspoken problems don't really mater that much, but if you are making any kind of quantity of boards it could mater a lot in the bottom line pricing you'd get from the assembly house. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
I've done that. I go to the assembly house to test my boards so they can be repaired before I accept delivery and talk with them all the time. The only complaint they have is a connector that hangs over the edge of the board which I can't do anything about unfortunately, it is due to an old mistake by my customer which would require obsoleting lots of equipment in the field. Like I said, if it doesn't cause them any real problems, they don't worry about it. Rick At 12:52 PM 9/27/2010, you wrote: On Mon, Sep 27, 2010 at 9:56 AM, Rick Collins gnuarm.2...@arius.com wrote: They [Assembly houses] seem to be willing to work with whatever they are sent and will only give feedback when something causes real trouble for them. You have to ask, unfortunately. When you send a new project in to a house, ask to talk to the people on the line, about what would make the design better. Don't let the sales department give the no problem answer based on the customer is always right idea. Talk to the people doing the work. If you are making only a few boards the unspoken problems don't really mater that much, but if you are making any kind of quantity of boards it could mater a lot in the bottom line pricing you'd get from the assembly house. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: new footprint guidelines
Yes, the old library parts are pre-hires and the pads can be way off and should be fixed. Thanks! If we're hand-coding footprints, we could use 0.5mm instead of 1965 and preserve the *meaning* of the units. We lose some compatibility with older PCBs, but if the purpose is to update the current distribution that shouldn't be a problem. We should probably go with build-time generated footprint files, rather than continue to use the m4 runtime generation. That allows us to use more than just m4, too. Makefile rules for standard %.whatever to %.fp conversions... My general rules: Mask should be 3 mil away from copper, and slivers should be at least 6 mil wide. That means, if there's less than 12 mil between pads you go with a gang-opening. Silk should not overlap the *mask opening* and should be 3 mil away at least. 5 mil min silk lines. Origin and license should be stored in element attributes, not file comments, so they're copied into schematics. It would probably be a good idea to have more than one design for each footprint; one for reflow'd boards and one with longer pads for hand soldering. All QFN parts should have some visual aids to centering :-) On my last board, I added four diagonal lines on the silk layer to align each corner (like a big X), that worked out well. Refdes should be properly placed and sized but I'm not sure what's best. For example, on every single RESC1608N part I place I have to make the refdes smaller and move it off the pads. Getting size right is far more important than position; it's easy (and often needed anyway) to move things around in only-text mode. Exposed pads should have a proper solder paste pattern on them too. This usually means the one pad is made up of multiple pads, some with nopaste. I use one big nopaste pad and a small paste pad for each paste dot I want. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
DJ Delorie wrote: [snip] All QFN parts should have some visual aids to centering :-) On my last board, I added four diagonal lines on the silk layer to align each corner (like a big X), that worked out well. During modifying library footprints, I found comments about placement lines, requesting additional non-fabrication layers like placement and outline. As there is currently no distinction on which layer an ElementLine[] would be, I suggest two mechanisms to achieve this: a) make the layername a text attribute in the flags. If no layer is named, silk is assumed. If there is no flag or layer of that name, again silk or autoinstantiate the layer. b) have an optional layer attribute behind the flags Option b) is more flexible I think. In that way, it would be quite nice to have some pure drawing layers besides a layer for part outlines to make center lines, rulers, dimensions and the like as in mechanical 2D cad. Actually I stumbled over this with placement of potentiometers, that have to be behind a hole drilled in the cover, LEDs etc. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user