SMD Silkscreens

Not an Arduino question per se...

I'm just about to send off my first design for PCB fab - but checking over the Gerbers I noticed something odd..

I've got some 1206-package SMD caps and solder-jumpers on the bottom side of the board - they are the only things in the bottom silkscreen layer, but it would appear that the silkscreen ink would actually interfere with the solderability since it directly covers the unmasked parts of the pads.

Here's a simple example

For the caps there'll be a chunk of ink directly under the ends of the cap-chip - this may not be such a problem since the solder will connect the end faces to the pad above/below the ink, but for the case of teh jumper, the semicircles of ink will ack as solder mask exactly where you don't want it.

Surely that's not correct?

Any thoughts?

I'm at work behind a difficult web filter, so I can't see the image you posted.

What software is producing the gerbers? If you're using EAGLE, it should be masking off silk wherever there is cream at least, or exposed copper. (The silk will appear on the design screens, but inspection of the gerbers will show they mask out.) Even if you're not using SparkFun's BatchPCB fab service, you might want to run their free EAGLE .drc rule check file... it will find a lot of tight or thin spots the default rules don't.

If you're not using EAGLE, and your software isn't doing that for you, then you should manually manage the silkscreen so it's not obscuring the exposed copper pads.

Now, it's quite probable that the silk won't stick well to the solder (if silk is applied after reflow), or it will be melted off the copper by the solder (if silk is applied before reflow). But I agree, I wouldn't want to take that chance.

I'm at work behind a difficult web filter, so I can't see the image you posted.

Ha - yeah I know all about that :frowning:

Thanks for the tip - I am using Eagle - I just tried the SparkFun cam file which did not produce the extra bits on the silk - so a bit of further poking revealed these were in the bDocu layer.. There was something else on the bottom silk I missed - some polarity indicators that I added to bDocu myself, which is why it was turned on.

I've moved them up to bPlace and all is well. Lesson learned - thanks for the help!

(Incidentally, the sparkfun cam doesn't seem to use the bCream layer at all..)

I think the SparkFun cam doesn't produce bottom silk or bottom cream, in the assumption that you're not using those at BatchPCB. It's actually rare at the hobby level to put any components on both sides. They should be easy to add, though.

Check with your FAB but most FABs will remove the silkscreen that would
be on exposed copper.

When I design footprints I always keep 10mils of space between copper and
silkscreen so I never have this problem.

(* jcl *)


www: http://www.wiblocks.com
twitter: http://twitter.com/wiblocks
blog: http://luciani.org

I'm not sure if this is resolved, but:

  1. EAGLE has layers (tdocu, bdocu) for drawing that appears in your editing window, but not actually in the produced silkscreen layers.

  2. one of the advantages of producing gerbers, rather than handing a .BRD file to the PCB manufacturer, is that you can determine exactly what gets put in the silkscreen (usually tPlace, but tNames and tValues maybe, maybe not.) The gerber generation process lets you explicitly select which layers from the .BRD file show up on the actual board layers.

  3. A PCB manufacturer usually masks the silkscreen layer with the soldermask layer as some part of the process, so that silkscreen does not cover "exposed copper."

  4. Not all components in all libraries are very careful about tPlace vs tDocu (or vs tNames/tValues, for that matter.) And many don't have very good tPlace pictures (I hate that the default 3mm LED package doesn't have any polarity indication on tPlace, for example.)

  5. The various ULPs for making sure silkscreen line widths meet minimum requirements (silk-new.ulp and others) work by redrawing the (possibly modified) silkscreen layer objects on yet another layer. If you do this, you can edit THAT layer manually to your hearts content, since the objects are no longer bound to packages.