I made a footprint for a WL-CSP package and everything looked fine in pcbnew. Once I plotted the Gerbers, I checked them out and the solder mask void was bridging between the pads due to a combination of the solder mask clearance and solder mask minimum width settings.
When I brought down the minimum width setting, the pad voids were no longer bridged but it created this “nippling” effect, for lack of a better term.
It gets more exaggerated as you bring the minimum width down. And as you can see, the top-left pad has none of these effects because of its isolation from other pads.
I don’t know whether this is a bug, but it seems like it to me. Intuitively, it seems like once that bridge is broken, the solder mask voids should be sucked back to right around the pads, since there is no advantage or reason to allow these kinds of nipples to exist.
I’m not sure if I’m thinking of this a bit too narrowly though, so I wanted to get some of your takes on this issue and maybe some examples/hypotheticals of where this could be useful or why this behavior is actually desirable.
The solder mask minimum width and clearance parameters can be set both globally, and on a footprint-by-footprint basis, and on a pad-by-pad basis. (I believe that is the reverse order of precedence: pad value overrides footprint value, which overrides global value.) Have you set all these values?
I originally set them globally for the board, because they were suitable for the rest of the pads for other components. But there’s no option for solder mask minimum width in the footprint/pad properties, only for solder mask clearance. I changed it in the footprint level settings, but it had the same effect.
I’m able to get it to the point where it will work, but I’m more curious about the weird nipples it creates and if this reflects how the solder mask process actually works and if the nipples will be there once fabricated.
I’ll try to remember to post a picture update once I get them back from the fab house, if anyone is curious.
Oops . . . . you are correct! (I gave you a quick reply based on my memory.)
Would you please tell us what values you have entered for the mask clearance, and minimum width, parameters? And, the copper edge-to-copper edge clearance between your pads?
I think it does. I imagine (and a developer is welcome to correct my imagination) that the solder mask algorithm creates a “trace” of solder mask equal to the minimum width, and “pushes” it between the pads until it violates the solder mask clearance parameter. At that point the algorithm stops “pushing”. The “nipple” forms when the solder mask, “pushing” from each side, stops short of going all the way through between the pads.
If you see them on the Gerbers, I’d expect to see them on the fabricated boards . . . . or I’d ask the board fabricator why they aren’t there. OK - one off-the-wall, grasping-at-straws idea - have you opened the Gerbers in a different viewer? (I’m still somewhat partial to the “gerbv” viewer from the GEDA project.)