← Back to team overview

kicad-developers team mailing list archive

Re: Patches, MSVC and bitmap underlays


Hi Jean-Pierre,

> Can you tell me more about "controlled annular rings on BGA pads" ?

I have an 8x8 BGA footprint with 0.25mm balls on 0.5 mm centers. 

To be able to route to the inner pads, I make the outer row purely SMT. 
Then the next inner row has a 4mil drill but a pad only on the top and
second layer down.  The next inner layer only has annular rings on top
and third layer down.  The tracks to the third layer only have to avoid
the plated drill holes and not an annular ring.  Similiar strategy
is taken for each succesive ring of pads.  

I currently set the annular rings by making a custom footprint with awk
and generating the proper hexidecimal code to control the pad layer

    At STD N 00E0FFFF	; all rings
    At STD N 00800001	; only top and bottom
    At STD N 00800002	; only top and second to bottom

It is working great, and I can now successfully route the BGA using 3mil
trace/space.  Without the ability to add/delete inner annular rings on
the pad stack, it would have been impossible with the PCB process that
I'm using. 

Neither Pcbnew nor 3d viewer will show the status of the inner layer
annular rings, so the only way to verify proper settings is to plot a
gerber and examine the inner layers there. 

The pad dialog already gives the selection

    Copper Layers:
    [ ] Front
    [ ] Back
    [ ] All copper
    [ ] No copper

It seems like a fifth choice might be nice:

    [x] set layer mask: [0x080002]

It would then be nice if the 3d viewer would include annular rings in
the pads for modules, and if there was some way to turn off the top
layer in the "visibles" layer dialog.  Currently, a top pad is always
Red and a bottom pad is always Green and inner pads are never visible
under any variation of the render settings. 

> Pcbnew does not know pad stack, 

Actually, the layer mask in the "At STD N 00E0FFFF" command is pretty
close to a pad stack.  There just isn't any GUI way to set it from
inside Kicad. 

> but usually a lot of technical problems can be solved by using many
> basic pads having the same pad number to build a complex pad sh ape. 
> For instance for a BGA, you can use a SMD "large" pad on the front
> layer, and inside it a "small" through pad connecting the inner
> layers.  This is like a pad stack, with properties defined for one
> outer layer for the SMD pad and all inner layers for the through pad. 
> The testing version of Pcbnew knows 2 pads are connected if the center
> of a pad is inside an other pad

What I need is no inner annular rings except on the layers that I
specifically will need to contact.  The BGA design rule is so
small that any annular ring on interfering layers makes the BGA

We are actually putting several IC's inside the shell of a USB connector.

It's really tiny!

kind regards,
Rick Walker

Follow ups