Solder mask and other special pads

5 messages Options
Embed this post
Permalink
Werner Almesberger

Solder mask and other special pads

Reply Threaded More More options
Print post
Permalink
While making beautiful new footprints (*), Rene remarked last week
that we had a few pads that fped couldn't handle well yet.

(*) E.g., WM8753FL. Check them out at
    http://people.openmoko.org/werner/gta02-core/gta02-core-modules.pdf

The easier of the issues was QFN center pads where there should be
one large copper area, on which smaller islets of solder paste are
placed.  An example for this is the audio codec (WM8753FL). Fped was
already capable of handling such a constellation, but it didn't show
it in the GUI, which made it hard to check one's work. It does now,
in orange.

With the latest version of fped, pad types can also be changed
directly from the GUI.


Some complications can be brought by special solder mask patterns.
The way solder masks usually work in KiCad is that a pad in a
module definition specifies that the pad's shape is defined in the
copper (component) and in the solder mask layer. So the solder mask
hole defined by the module has exactly the same size and shape as
the pad.

KiCad then adds a board-specific solder mask clearance to all these
solder mask holes, which yields the real solder mask that goes into
the Gerbers.

This approach works well if we have a PCB-specific standard distance
between solder mask and copper. Things get messy if the footprint
specifies a solder mask clearance that differs wildly from KiCad's
default or that doesn't follow the pad shape.

Rene has added a solder mask pad type to fped, which can be used in
combination with a regular or bare pad to tweak the solder mask.
Fped still adds the solder mask hole for the copper, so only some
shapes are possible. In a future version, I'll make fped
automatically remove the solder mask hole if there's a solder mask
"pad" that overlaps with the copper.

- Werner

_______________________________________________
gta02-core mailing list
[hidden email]
https://lists.openmoko.org/mailman/listinfo/gta02-core
Werner Almesberger

Re: Solder mask and other special pads

Reply Threaded More More options
Print post
Permalink
I wrote:
> In a future version, I'll make fped
> automatically remove the solder mask hole if there's a solder mask
> "pad" that overlaps with the copper.

The future is now :-)

This also adds some sanity checks, so if you happen to place copper
pads on each other or dab solder paste outside the copper area of a
pad, fped will complain.

At the moment, it will let areas of solder paste pass if they're
completely outside of any copper, so that one doesn't get blue
screens when setting things up step by step.

- Werner

_______________________________________________
gta02-core mailing list
[hidden email]
https://lists.openmoko.org/mailman/listinfo/gta02-core
Rene Harder

Re: Solder mask and other special pads

Reply Threaded More More options
Print post
Permalink
Werner Almesberger wrote:
> I wrote:
>  
>> In a future version, I'll make fped
>> automatically remove the solder mask hole if there's a solder mask
>> "pad" that overlaps with the copper.
>>    
>
> The future is now :-)

Thanks, it's working great!
I updated the LIS302DL and WM8753FL footprints to use the new solder
mask layer, I also defined a constant in the footprint by which the
solder mask is reduced on each side because kicad will still expand the
solder mask when generating the Gerber files. Right now it's set to
3mil, so we might need to change this later according to the value which
is set in the kicad preferences.

Rene


_______________________________________________
gta02-core mailing list
[hidden email]
https://lists.openmoko.org/mailman/listinfo/gta02-core
Werner Almesberger

Re: Solder mask and other special pads

Reply Threaded More More options
Print post
Permalink
Rene Harder wrote:
> Thanks, it's working great!

Cool !

> I updated the LIS302DL and WM8753FL footprints to use the new solder
> mask layer, I also defined a constant in the footprint by which the
> solder mask is reduced on each side because kicad will still expand the
> solder mask when generating the Gerber files.

Hmm, there's one problem with this: fped's visualization output gets
quite confusing, because it suggests that some of the pad is covered
by the solder mask.

One way would be to generate the "real" solder mask by running a solder
mask generating algorithm that's similar to KiCad's, but that's not
trivial.

If we do this or something equivalent, the next problem would be with
the visual representation: if the solder mask hole is exactly like the
pad, then all the layers can only be seen in the Postscript, while the
solder mask would cover the pad in the GUI. One way to solve this would
be to draw the solder mask outline as a line instead of a just making
it a pad.

Tricky. This needs some thought.

By the way, did you notice that having multiple concentric pads with
the name GND creates an interesting visual effect in the Postscript ? :-)

- Werner

_______________________________________________
gta02-core mailing list
[hidden email]
https://lists.openmoko.org/mailman/listinfo/gta02-core
Rene Harder

Re: Solder mask and other special pads

Reply Threaded More More options
Print post
Permalink
Werner Almesberger wrote:

> Rene Harder wrote:
>  
>
>> I updated the LIS302DL and WM8753FL footprints to use the new solder
>> mask layer, I also defined a constant in the footprint by which the
>> solder mask is reduced on each side because kicad will still expand the
>> solder mask when generating the Gerber files.
>>    
>
> Hmm, there's one problem with this: fped's visualization output gets
> quite confusing, because it suggests that some of the pad is covered
> by the solder mask.
>
> One way would be to generate the "real" solder mask by running a solder
> mask generating algorithm that's similar to KiCad's, but that's not
> trivial.
>
>  

How about defining a constant in the footprint and when you export the
footprint to kicad, fped will reduce the solder mask by the size defined
in the footprint file. So fped would always show the right solder mask size.

> If we do this or something equivalent, the next problem would be with
> the visual representation: if the solder mask hole is exactly like the
> pad, then all the layers can only be seen in the Postscript, while the
> solder mask would cover the pad in the GUI. One way to solve this would
> be to draw the solder mask outline as a line instead of a just making
> it a pad.
>
> Tricky. This needs some thought.
>  

Indeed that's a little bit annoying because you can't really see the
solder pads and if the solder mask opening is bigger than the actual pad
you can only guess what the pad looks like or where it is located.

If you select a frame or a pad in the GUI you'll highlight this pad and
the pad is drawn above all the other layers. However if you select a
frame, only the first pad which is drawn in this frame gets highlighted.
Maybe it's possible once you select a frame that all pad drawn within
this frame gets selected and highlighted. I this case you can bring all
pad to the front and so  that they are not covered by any other layer.

Or another idea would be to add some sort of layer selection to the GUI
(e.g. a button for each pad type). Once you select a type all pads with
this pad type are highlighted and drawn above other layers.

> By the way, did you notice that having multiple concentric pads with
> the name GND creates an interesting visual effect in the Postscript ? :-)
>  
looks like a nice 3D effect!
I'll remove the name "GND" of the solder mask layer, there is not need
for this.


_______________________________________________
gta02-core mailing list
[hidden email]
https://lists.openmoko.org/mailman/listinfo/gta02-core