I am working on a PCB featuring this SD card connector http://media.digikey.com/pdf/Data%20Sheets/Amphenol%20PDFs/101-00313.pdf

In the technical drawing, it seems that the origin of the part is the intersection of the axis of the component with a line through the middle of the pads for the signal pins. For example, the dimension for the topmost hole (24.31mm) is measured from the center of those pads.

I created the component in Eagle and I've used the same center as in the technical drawing. However, I can imagine the pick and place machine won't be able to pick up the connector using that center.

My question: do I have to make sure to manually calculate the center of the part body (without pins) and then use that as the new center for the package, when I'm done designing the package? So basically, I move the package so it centers around the origin when I'm done? When I called my SMT subcontractor they said the software automatically calculates centroids when you export pick and place data (e.g. using mount-smd.ulp) but I'm thinking that it's up to the machine operator to decide how to pick up the part and place it correctly on the footprint?

I'm just not 100% clear on whether eagle uses the centers of the packages when exporting centroid data or if it just determines the centroids of the parts automatically (such that where you put the origin originally in the library editor won't matter).


2 Answers 2


Looking into the script I see

     printf("%s %5.2f %5.2f %3.0f %s %s\n",
     E.name, u2mm((xmin + xmax)/2), u2mm((ymin + ymax)/2),
     E.angle, E.value, E.package.name);

thus it must output center of component by X axis and center of component by Y axis. Further, if you look into description

#usage "<b>Data generation for mounting machines</b>\n"
   "Generates files for smds on the top and bottom layers "
   "wich can be used with mounting machines. "
   "The x and y coordinates (units: mm) of the SMD elements are calculated "
   "as mean of maximum and mimimum value of the smds origin points. "
   "The calculated value does not necessarily fit with the origin "
   "point of the part in the layout."
   "All SMD elements populated in currently set assembly variant are considered."
   "The syntax of the output data looks like this:"
   "<tt>name x-coord y-coord rotation value package</tt>"
   "<author>Author: [email protected]</author>"

It actually slightly confusing, but I tried this script on one of my projects, and SMD device with origin out of its physical center was output to the placement file with physical center of the component.

Conclusion: origin position of the component does not matter. You do not need to rework your device.


From my experience, the origin of the part have nothing to do with the picking position. Most of the time, the picking position is set, by default, to the center of the pocket in tape. If the part has some odd shape or has holes in it, operator will manually move this picking position to a place that would guarantee reliable picking action. In your example that would probably be at the symmetry line, around 10mm from the edge with leads (midpoint of the top shield).

When it comes to pick and place files, as Anonymous posted earlier, EAGLE exports coordinates of the center of the part. Other software (like Altium) might export both: center points (called: Mid-X and Mid-Y) and reference points (Ref-X and Ref-Y) - the latter being origin of the part.

TL;DR version: it shouldn't matter where you put origin of the part. The operator will have to adjust the picking (and probably placing) position either way.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.