← Back to team overview

kicad-developers team mailing list archive

How to handle mounting holes with satellite vias?

 

Having troubles getting an useable workflow with a common usage: the mounting
hole with satellite vias (see attachment).

Rationale: when you have a big hole for a screw and need to have plane
connectivity, a PTH supported pad is often not a good choice. Mostly because on
the wave solder machine they tend to get clogged (requiring an expensive peel
mask). There are other reason, like ground plane impedance, but manufacturing
convenience is the biggest one :P

So I did the following thing:

(module "HOLE-M4-NPTH" (layer "F.Cu") (tedit 557548BB)
        (descr "Mechanical Hole, M4")
        (attr virtual)
        (fp_text reference "HOLE-M4-NPTH" (at 0 0) (layer "F.Fab") 
                 (effects (font (size 1.2 1.2) (thickness 0.12))))
        (fp_text value "HOLE-M4-NPTH" (at 0 0) (layer "F.Fab") hide 
                 (effects (font (size 1.2 1.2) (thickness 0.12))))
        (fp_circle (center 0 0) (end 5.85 0) (layer "F.CrtYd") (width 0.01))
        (fp_circle (center 0 0) (end 5.85 0) (layer "B.CrtYd") (width 0.01))
        (fp_circle (center 0 0) (end 5.5 0) (layer "F.SilkS") (width 0.12))
        (fp_circle (center 0 0) (end 2.2 0) (layer "F.Fab") (width 0.12))
        (fp_circle (center 0 0) (end 2.2 0) (layer "B.Fab") (width 0.12))
        (fp_circle (center 0 0) (end 2.2 0) (layer "Dwgs.User") (width 0.12))
        (pad "" np_thru_hole circle (at 0 0) (size 4.4 4.4) (drill 4.4) (layers "*.Cu"))
        (pad "HOLE" smd circle (at 0 0) (size 8.35 8.35) (layers "*.Cu"))
        (pad "HOLE" thru_hole circle (at 3.2 0) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2))
        (pad "HOLE" thru_hole circle (at -3.2 0) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2))
        (pad "HOLE" thru_hole circle (at 1.6 -2.8) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2))
        (pad "HOLE" thru_hole circle (at -1.6 -2.8) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2))
        (pad "HOLE" thru_hole circle (at -1.6 2.8) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2))
        (pad "HOLE" thru_hole circle (at 1.6 2.8) (size 0.8 0.8) (drill 0.4) (layers "*.Cu")
             (zone_connect 2)))

I have a big SMD round pad on all layers for the support copper, an NPTH hole
for the drill tape, and common pads for the satellite vias. The
zone_connect forces solid fill, not that it would have really mattered
(since there is the big pad covering all). Less cruft in the gerbers...

Problem #1: pad snap always pick the big SMD pad and the track get
rejected because it falls into the NPTH hole; workaround: disable pad
snap and locate it by hands. Not a big issue since usually these are
tied to fills and they attach correctly.

Problem #2: the big pad and the NPTH hole are conflicting in the DRC
(quite correctly, in theory). However that's a PITA because the message
can 'obscure' more severe errors.

Any idea on how to solve this?

-- 
Lorenzo Marcantonio
Logos Srl

Attachment: Immagine.png
Description: PNG image


Follow ups