How to tell contract manufacturer which component goes where?

Hi,
I’ve made some PCBs, prototypes are up and soon I want to send my product to production.

How do they know which part goes where on the board? I don’t use silkescreen because I couldn’t fit it. Is there a separate layer where I can inform the cm of component names?

What does the CM expect of files from me? Apart from the ones I could figure out my self:
For the PCB:
Drills and cuts gerbers
Copper gerbers
Soldermask gerbers
Silkscreen gerbers

For manufacturing
BOM
Paste gerbers
Schematic?
Netlist?!

Appreciate any hints or help, thank you!

The manufacturing (SMT assembly) does not need the schematics.
They use the “Footprint Position .pos file”, which tells the operator what components go on which pads.

I don’t make silkscreen PCBs either. You can nonetheless save the silkscreen as PDF: it might help for visual inspection or manual placement of through-hole parts.

For the PCB you can also include a text file describing the layer stackup (number of layers, layer order, thickness, soldermask color).

Thank you. The .pos file helped a bunch. I guess I will be told what I do wrong when I do also, just want to prepare a bit.

This should get you up to speed on what you can and should do in KiCAD so that your assembler gets what is needed:



And maybe this post of mine some time back might be of use as well:

2 Likes

I’m slowly reading through your links and recommendations and applying much of it as I read it. It’s dauntingly much information… For my product I will try to use two different suppliers. One local here in Norway and one chinese (pcbway pcba). The latter seems far more willingly to accept different kinds of files and directions. The only thing is they want the BOM columns in a specific order and the placement file must be “centroid”.

The Norwegian CM on the other hand is more willing to do testing and special packaging, like programming the product with my jig, reading and sticking on a MAC address label, and packing it with a battery in the bag and so on. I might actually split the production into two stages if the price difference is large. Or I might do the extra leg work my self.

Do you know about centroid files? This is what PCBway wants. I’ve read some on the internet about some gerber plots from kicad contain some centroid information, but I didn’t get the impression that’s how they want it. I think they want a completely separate “centroid” file.

see >File>Fabrication Outputs>Footprint Positions

The information is in there and even more than centroid needs. Just a matter of reformatting that output into the right order and format to what the assembler wants (order of columns, separator, etc.).
For a one time approach I’d load the .pos file in Excel or similar and rearrange/reformat as necessary.
If you do this more often it might pay off to make a script (or find one) that does this for you at the push of a button.

.pos from KiCAD:
### Module positions - created on 24/05/16 17:50:56 ###
### Printed by Pcbnew version kicad (2016-03-04 BZR 6608, Git ba038ac)-product
## Unit = mm, Angle = deg.
## Side : All
# Ref Val Package PosX PosY Rot Side
C101 100n-50V C_0805 -5.5000 -39.5000 0.0000 bottom

Examples I’ve seen for centroid (comma separated) seem to do it like this:
Ref, Layer, Xpos, Ypos, Rot

1 Like

Yes, you can have confirmation here that the .pos file KiCad generates is a centroid file:

There does not seem to be a standard for the layout of columns, so @Joan_Sparky’s Excel solution is pertinent.

1 Like

Oh, and one more thing of caution… the centroid rotation data is in regards to how that thing comes out of the tape afaik.
So if your footprints aren’t correctly oriented from how the device sits in the tape you might get into trouble there.
I can’t remember, but I think @rheingoldheavy mentions that somewhere in those tutorials.

On that note (especially the comments are eye-opening reads):
http://circuitsassembly.com/blog/?p=1787

PS: with KiCAD not being ‘strict’ on the atomic part side of things the infrastructure needed to do this is not really there (would be nice to define rotation of a footprint for pick&place independent of how it’s being drawn in the footprint editor for example).

3 Likes

Thank you guys.
Joan_Sparky, yes there is quite som information about exactly that. Which makes me go back and double check every footprint on everything but passives, I guess. But that’s fine. The only thing that concerns me is if I edit a footprints origin and update my layout, will the components rotate and/or place differently, or will only the position on the board and the rotation values change? :wink:

PCBway has an example centroid file for reference: http://www.pcbway.com/img/images/pcbway/a-sample-of-PCBWay-Centroid-File.txt
All though PCBway does not specify it has to be exactly like this, comparing this to the .pos file output from PCBnew I can see some differences:

  • Several more X/Y positions, Mid X, Mid Y, Ref X, Ref Y, Pad X and Pad Y. I’m guessing Mid X and Mid Y are what’s in the -pos file. The other two positions (Ref and Pad) I’m not sure what is. From what I can see, Mid and Ref always equals the same.
  • It does not state the value. I can edit this out.
  • Units are mil, KiCad units is inches when output in imperial (I was told that CMs wants metric?)

I also have a new concern. I try to move the Origin Point to bottom left corner of the pcb. By doing this I’m placing a red origin point which moves each time a place a “new one”. All good. But there’s also a grey similar looking origin point on my pcb which I don’t know where comes from. What is this? Can I move it? Delete it? Do I need it?

The white/grey x target marker must be the user defined grid origin.
The red cross is the auxiliary origin for plotting the gerbers/drill files.
The user defined grid origin has it’s tool button right above the one for the auxiliary origin button.
I didn’t have a use for the user grid origin yet, so I don’t use it.
I think you should be able to ‘reset’ it when you go to >Dimensions>Grid and hit the ‘Reset Grid Origin’ button.

2 Likes

Yes, found it. Thank you. Knew I had something to do with that :wink:

Cool.

As for the centroid ref and pad x/y fields… no idea. You’ll have to ask them what that is, if no one here has got an idea.

1 Like

About zero component orientation:
http://www.pcblibraries.com/forum/zero-orientation-still-puzzeling-to-me_topic846.html
http://ohm.bu.edu/~pbohn/__Engineering_Reference/pcb_layout/pcbmatrix/Component%20Zero%20Orientations%20for%20CAD%20Libraries.pdf

By the way KiCad nightly builds have an option to output centroid file in CSV format.

3 Likes

I am going to have a trial of my first assembly order in ALLPCB.com. And the sales told me centroid files, pick and place files, designator . Any file that can be an indication of component parts is ok

Oh, they also inform me do not forget to pointing the anode and cathode .

That’s funny, because in June 2016 you wrote at : http://www.diyaudio.com/forums/parts/292612-first-try-allpcb-com.html

So like I suspected you are a spammer.

1 Like

To be fair, this is assembly, not just PCB fabrication

The only thing that concerns me is if I edit a footprints origin and update my layout, will the components rotate and/or place differently, or will only the position on the board and the rotation values change?

The position and orientation relative to the layout stays the same, while the position and rotation from the footprint file will update on the layout to reflect footprint changes (if you tell it to.)

In other words, if you edit your footprint to rotate 90 degrees CW and move it 2.54mm to the right in the footprint editor, it will rotate 90 degrees CW and move 2.54mm to the right in the layout (when you update the footprint in the layout).

1 Like

GC-PowerPlace from http://www.graphicode.com/ can create the centroid data from gerber but takes time to get to grips with and can be time consuming depending on the design complexity and the type of data available.
Ideally i recommend using CAD data as this will contain all the information you need but i realise its not always available.
If gerber data is all thats available then http://www.surfacemountprocess.com/centroid-file-generation-service.html can generate the centroid data