Kicad .pos file ambiguity for symmetric, polarized parts


#1

Hey folks,

I noticed one ambiguity while exporting a .pos file from pcbnew.

For components with symmetric footprints, but are polarized, is there any surefire way of indicating to the assembly house which way to place that component?

This issue relates to parts like:

  • polarized Caps with a symmetric footprint like 0603, 0805, 1206, etc
  • LEDs with a symmetric footprint like 0603, 0805, etc.

If I were hand-assembling this board, I’d probably make a silkscreen marker to indicate the proper orientation.

Aside: I know that Kicad’s .pos file includes an angle orientation, but that orientation value is unhelpful if the assembly house doesn’t know the pinout of the 0-degree orientation to begin with.

Thanks!

Joshua V


#2

You need to talk to the assembler. With Kicad and with any other EDA package.

The angle is not helpful unless the assembler knows exactly what it means. In my experience, there is no way to know it automatically.

Do we know the orientation of the component into the reel? Do we know the angle of the board in the conveyor belt? Do we know if the feeder (I don’t know if this is the right word in English) is on the left or on the right?


#3

Cool, that’s what I suspected. I guess the surefire way to do it would be to make a specific footprint such that the orientation matches the reel orientation.


#4

Unfortunately no and I don’t understand why the electronics industry hasn’t settled on a scheme to determine this. Some CAD programs spit out the centroid position + the center of Pin 1, but since there is no accepted standardization on this you have to talk to the assembly house no matter what.


#5

Last time we had this come up this link was posted by @cioma

http://www.pcblibraries.com/forum/zero-orientation-still-puzzeling-to-me_topic846.html

Thread is here:


#6

Yes we do. Every manufacturer makes that info available. Edit: But we don’t need to know.

Diodes Packaging

That’s a global adjustment done on the machine, we don’t need to know it.

Again, we don’t need to know. The machine is already configured to know this for each feeder/tray location.

They have, and it is well documented. The problem is with the library creators. Libraries are often created incorrectly and inconsistently. Very annoying!

Edit: Keep in mind, the centroid (.pos) file is not absolute, it is only relative to the PCB. It has no relation to the pick & place machine or the orientation of the component in the reel/tray. As long as it is correct and consistent, relative to your PCB the rest is easy.


.pos file for pick&place and kicad default footprint rotation angle!
Hackaday: DESIGNING FOR FAB: A HEADS-UP BEFORE DESIGNING PCBS FOR PROFESSIONAL ASSEMBLY
Xy position files 'orientation' parameter
#7

Thanks, Gigawatts!

The problem is not the position coordinates, but the angle. I ignore if there is a standard convention about orientation when making a footprint.

With every assembler I have woked, I had to tell them out of Gerber files, the orientation of polarized components. They dind’t use my .pos files directly to their machines, they used their own software.


#8

An this is the direct link to my message about component zero orientation: How to tell contract manufacturer which component goes where?


#9

Yes, the angle (orientation) is what my entire post was about.

Well then, you should know now, that makes you part of the problem. :wink:

Of course, given your previous statement above I imagine your .pos file was not very useful.


#10

Sure, I know. But thanks to you, and @cioma I’m learning about footprint orientation.

I meant they imported the data into their programs. Even one of them wants the data in excel fomat. Another one extracts all the data from the gerber files with his own sofware.

But anyway, though origin and x,y positions were right, I’m sure the orientation angle was useless (unless hit by chance)


#11

The standard appears to be this

IPC-7351C Level A = Pin 1 in Upper left
IPC-7351C Level B = Pin 1 in Lower left

That appears to be ambiguous in the case of 2 pin diodes or caps, but maybe the spec explains that. Also, I still don’t know what the reference zero angle is, geometrically the convention is that zero points right, along the X axis. Also, if the manufacturer defines pins as A and K, and also shows orientation in the tape, but never defines “pin 1”, which is pin 1?

I recently tried to upload a design to MacroFab, and they try to place from the Kicad PCB. They then give you the option to manually alter the orientation. That all seems very neat, but unfortunately, as they don’t specify what orientation they use, nor did they respond to emails, I had no idea what to specify.


#12

Yes, IPC-7351C is the standard, IPC-7351B only defined level A whereas revision C also defines level B. You can chose to use Level A or B or use a combination of both but you should also indicate this in your fab documents. Level A seems to be preferred.

The standard is, the zero orientation of a component is as follows:

For two pin components pin 1 is to the left, pin 1 is always the positive pin or the cathode in the case of diodes or LEDs.

For components with more than two pins pin 1 is upper left (Level A) or lower left (Level B).

For components where pin one is not in a corner, such as ICs that have pin 1 at or near the center of one side, pin 1 is to the top.

Here’s a good reference for those who don’t have access to IPC-7351:

Electronic Component Zero Orientation For CAD Library Construction


Xy position files 'orientation' parameter
Hackaday: DESIGNING FOR FAB: A HEADS-UP BEFORE DESIGNING PCBS FOR PROFESSIONAL ASSEMBLY
#13

Great, now I have to modify my footprints - again. :tired_face:


#14

Thanks, that is really useful!

Perhaps it is obvious and implied that when a component is in the “zero orientation” the value of “rotation” = 0, although that does not appear to be explicitly stated. Also, is the rotation clockwise or counterclockwise?

I have a further question on connectors, if we assume pin 1 is top/left, what should be the recommended angle of entry for right angle connectors? e.g. like these https://www.sparkfun.com/products/8084 (the manufacturer has not defined pin 1).


#15

Kicad rotates counterclockwise from 0 to +90, +180, +270


#16

Yes I know, but is that what the standard says? I am guessing yes, but I have learnt not to assume anything…


#17

To quote IPC-7351:

Rotational data must be specified from the ‘‘0’’ position in
a counter-clockwise direction.

Good question! I can’t find anything in IPC-7351 that seems to address that. I have always taken the approach that when viewed from the entry side terminal 1 is left most. I’ve never had these automatically installed via pick & place, they’ve always been installed last by hand.


#18

In reality, because of the variation discussed in libraries and process, every board house I have worked with verifies the rotations for the pick and place and does not trust the .POS file rotation. (No matter what CAD was used for the PCB.)

I include an assembly drawing and mark pin 1, diode direction, etc. on the Fab layer. Here is what is in my full fab package:

  • Gerbers
  • Drill File
  • BOM
  • .POS (really only for location, not rotation)
  • IPC-D-356 Netlist (for electrical test, and identifying controlled impedance traces by name)
  • Assembly Drawing (PDF of front and back with Fab Layer on showing part rotations)

Is KiCad compatible with all PCB manufacturers?