1
0
mirror of git://projects.qi-hardware.com/kicad-libs.git synced 2024-11-16 15:15:20 +02:00

modules/sot.fpd: experimental "generic" SOT footprint

This commit is contained in:
Werner Almesberger 2011-08-16 15:58:26 -03:00
parent 0f1829b279
commit 5e1d03b716
4 changed files with 107 additions and 1 deletions

View File

@ -34,3 +34,4 @@ Werner Almesberger <werner@almesberger.net>
modules/usb_a_plug_smt.fpd modules/usb_a_plug_smt.fpd
modules/sot-323.fpd modules/sot-323.fpd
modules/ssop.fpd modules/ssop.fpd
modules/sot.fpd

View File

@ -96,3 +96,18 @@ N: mmst3904
# http://www.nxp.com/#/page/content=[f=/packages/SOT341-1.xml] # http://www.nxp.com/#/page/content=[f=/packages/SOT341-1.xml]
F: ssop F: ssop
# experimental generic SOT footprint; currently only for
#
# - SOT-323 aka SC-70
# http://www.onsemi.com/pub_link/Collateral/BAV99WT1-D.PDF
# - SOT-363 aka SC-88 aka SC-70-6
# http://www.onsemi.com/pub_link/Collateral/MBT3946DW1T1-D.PDF
# - SOT-523
# http://www.diodes.com/datasheets/ds31784.pdf
# - SOT-563
# http://www.onsemi.com/pub_link/Collateral/NTZD3155C-D.PDF
#
# some conflicts with the outline exist
F: sot

View File

@ -1,4 +1,4 @@
MODULES=8_10-card fiducial mini-usb pads qfn qfp sot-323 ssop stdpass \ MODULES=8_10-card fiducial mini-usb pads qfn qfp sot sot-323 ssop stdpass \
usb-a-pcb usb_a_plug_smt usb-a-pcb usb_a_plug_smt
.SUFFIXES: .fpd .mod .SUFFIXES: .fpd .mod

90
modules/sot.fpd Normal file
View File

@ -0,0 +1,90 @@
/* MACHINE-GENERATED ! */
frame pad {
set x = dx*e
set y = dy*cy/2
__2: vec @(x, y)
__0: vec .(px/2, py/2)
__1: vec __2(-px/2, -py/2)
pad "$n" . __0
}
frame marker {
set x = D/2+r+w+clear
set r = (px-w)/2
set clear = 0.15mm
set y = cy/2
__0: vec @(-x, -y)
__1: vec .(r, 0mm)
circ __0 . w
}
frame outline {
__0: vec @(D/2, E/2)
__1: vec @(D/2, -E/2)
line __0 . w
__2: vec @(-D/2, E/2)
__3: vec @(-D/2, -E/2)
line . __2 w
}
frame pads6 {
table
{ n, dx, dy }
{ 1, -1, -1 }
{ 2, 0, -1 }
{ 3, 1, -1 }
{ 4, 1, 1 }
{ 5, 0, 1 }
{ 6, -1, 1 }
set x = dx*e
set y = dy*cy/2
loop if = sqrt((N-6)*(N-6)), 0
frame marker @
frame outline @
frame pad @
}
frame pads3 {
table
{ n, dx, dy }
{ 1, -1, -1 }
{ 2, 1, -1 }
{ 3, 0, 1 }
loop if = sqrt((N-3)*(N-3)), 0
frame outline @
frame pad @
}
package "SOT-$Name"
unit mm
table
{ Name, N, D, E, e, cy, px, py }
{ "323", 3, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.7mm, 0.9mm }
{ "363", 6, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.4mm, 0.5mm }
{ "523", 3, 1.6mm, 0.8mm, 0.5mm, 1.3mm, 0.4mm, 0.51mm }
{ "563", 6, 1.6mm, 1.2mm, 0.5mm, 1.35mm, 0.3mm, 0.45mm }
set w = 5mil
frame pads6 @
frame pads3 @
measx outline.__2 >> outline.__0 1mm
measy outline.__3 >> outline.__2 0.5mm
measx pad.__1 -> pad.__0 -0.5mm
measy pad.__1 -> pad.__0 0.2mm
measx pad.__2 -> pad.__2 0.5mm
measy pad.__2 >> pad.__2 -D