Xy position files 'orientation' parameter

I am just completing my first large scale Kicad project. This is an extremely long and narrow board with SMT parts on both sides. It was assembled by a popular Chinese concern with reps in Canada. They did a very nice job, except that all of the symmetrical 2-lead parts were put in backward (0805 photo transistors and 0805 LEDs). They fixed that issue literally overnight, but I am confused about why the .pos file did not prevent this from happening. I can only assume that a) they actually hand assembled the boards because of their odd size (26.25 x .44"), or b) there are errors in the xy file. I have carefully checked the board in pcbnew, and it looks like everything is oriented correctly and the nets are right.

I have read the great article by Rheingoldheavy, but still have questions about the orientation figure in the pos file. If a part is created in a certain orientation in the footprint editor, is that orientation considered 0 degrees in the finished board if it is put on the board in the same orientation? For instance lets say I create an 0805 LED footprint oriented like this in the editor:

cathode Cxxxxx (crude representation of the footprint, big C is pad 1 end (cathode)

So now I place this part on the board but want it vertical:


So will this part appear in the pos file as 90 degrees (or maybe 270, not sure the reference angle)? I’m not sure I get the concept of using the orientation of the part in the strip of cut tape- isn’t it possible that different makers will use different tape orientation? Do some P&P machines feed from different directions, or is there a ‘standard’?

This project has been an interesting learning experience, just want to get the next one letter perfect if possible.
Lessons learned:

  1. be very careful to match footprint to part. There are lots of SOT3 parts but their pins and functions may differ radically! (I know, DUH).
  2. when exporting to .dxf, be careful to use correct translation- apparently things default to metric so my dxf drawing was 632 inches rather than 26.25".
  3. If you have a footprint/symbol error fix it early and don’t let it propagate, the .fab layer symbols will be scrambled.
  4. The dxf export is hard to use as an assembly drawing template- easier to just export top copper and hand draw everything else (albeit more tedious).

I hope this will save another newbie some grief.

I can’t answer most of your questions, but I do know angle is straight right = 0 and positive is CCW/leftward.

1 Like

See this:


and this from the same topic:



That might be what the IPC standard says, but not everyone follows the standard! For example using the TM220A P&P, where up=0 deg and positive angle is CW.

The pos file should be seen as a starting point for defining the manufacturing data, not an end point. A lot of assemblers ignore the pos file, and use a human to create the setup, that is part of the setup cost.


Thanks for the clarification! I was indicating pcbnew’s definition.

IPC-7351 applies to the footprint in the CAD library, not to P&P machines. It is impossible for you to specify an absolute rotation accounting for the components rotation in the tape/tube/tray and the P&P machine.

IPC-7351 does not specify where ‘0’ is, just that in the zero orientation relative to the board pin 1 of a component, for example a diode, is to the left and that rotations are specified as CCW.

The OP was good advice, but I would add one thing not mentioned that might not be obvious to people new to manufacturing. Standard practice is to always order the minimum batch from the next process step, verify it, and expect to iterate.

Also, manufacturing is an on-going process, expect to monitor the quality and adjust processes as needed. The build of the 1000th unit won’t be the same as the first. If nothing else, equipment wears out. Batches of components might be wrong spec. The supplier will go “oops! here is a refund”, but you might have delivered 100 boards to customers before even discovering the problem.

So if your plan is

Finalise board files Order production run of 500 assembled PCBs Deliver to customer

it is very likely to go wrong. A better plan might read:

`Finalise board files
Order Beta 1 sample run of 10 assembled PCBs
Check quality, identify fixes
Order Beta 2 sample run of 10 assembled PCBs
Check quality, sign off. Retain Golden sample for reference.
Order production run of 500 assembled PCBs

  • Monitor quality, e.g. sample test 1% of each batch

An old machinist once advised me,

Very few managers understand this. They expend a great amount of effort fixing the results of shipping the “feasibility demonstration” model.



Lots of good responses! Here’s what the assy shop said when I asked about the discrepancies between pos file and placement:

Usually we will follow the rotation in the xy file to place, but most if there is any specified orientation or sometimes the parts are packed in different orientation in the tape, we also need to ajust the rotation to make sure the parts are placed in correct orientation. Before assembly, we will have a file to check and mark all the parts with like pin1 of an IC, negative of an doide or so.

So my takeaway is, the pos file is useful and critical, but the assy house will still need to fine tune the rotation of ambiguous parts. This underscores the necessity of good library management as 1.2Gigawatts suggests. I plead guilty to laziness, in trying to ‘re-use’ footprints among different parts. Next spin I will at least put traditional symbols on the silkscreen layers to assist the shop.

The other suggestions by bobc and dchisolm are aso on point and timely- the client has asked for a quote for… 500 pieces. Fun times ahead!