Date:2011-08-16 20:58:26 (12 years 7 months ago)
Author:Werner Almesberger
Commit:5e1d03b71643b9b78d4f8267800e62edcddba0e8
Message:modules/sot.fpd: experimental "generic" SOT footprint

Files: AUTHORS (1 diff)
modules/INFO (1 diff)
modules/Makefile (1 diff)
modules/sot.fpd (1 diff)

Change Details

AUTHORS
3434  modules/usb_a_plug_smt.fpd
3535  modules/sot-323.fpd
3636  modules/ssop.fpd
37  modules/sot.fpd
modules/INFO
9696
9797# http://www.nxp.com/#/page/content=[f=/packages/SOT341-1.xml]
9898F: ssop
99
100# experimental generic SOT footprint; currently only for
101#
102# - SOT-323 aka SC-70
103# http://www.onsemi.com/pub_link/Collateral/BAV99WT1-D.PDF
104# - SOT-363 aka SC-88 aka SC-70-6
105# http://www.onsemi.com/pub_link/Collateral/MBT3946DW1T1-D.PDF
106# - SOT-523
107# http://www.diodes.com/datasheets/ds31784.pdf
108# - SOT-563
109# http://www.onsemi.com/pub_link/Collateral/NTZD3155C-D.PDF
110#
111# some conflicts with the outline exist
112
113F: sot
modules/Makefile
1MODULES=8_10-card fiducial mini-usb pads qfn qfp sot-323 ssop stdpass \
1MODULES=8_10-card fiducial mini-usb pads qfn qfp sot sot-323 ssop stdpass \
22        usb-a-pcb usb_a_plug_smt
33
44.SUFFIXES: .fpd .mod
modules/sot.fpd
1/* MACHINE-GENERATED ! */
2
3frame pad {
4    set x = dx*e
5
6    set y = dy*cy/2
7
8    __2: vec @(x, y)
9    __0: vec .(px/2, py/2)
10    __1: vec __2(-px/2, -py/2)
11    pad "$n" . __0
12}
13
14frame marker {
15    set x = D/2+r+w+clear
16
17    set r = (px-w)/2
18
19    set clear = 0.15mm
20
21    set y = cy/2
22
23    __0: vec @(-x, -y)
24    __1: vec .(r, 0mm)
25    circ __0 . w
26}
27
28frame outline {
29    __0: vec @(D/2, E/2)
30    __1: vec @(D/2, -E/2)
31    line __0 . w
32    __2: vec @(-D/2, E/2)
33    __3: vec @(-D/2, -E/2)
34    line . __2 w
35}
36
37frame pads6 {
38    table
39        { n, dx, dy }
40        { 1, -1, -1 }
41        { 2, 0, -1 }
42        { 3, 1, -1 }
43        { 4, 1, 1 }
44        { 5, 0, 1 }
45        { 6, -1, 1 }
46
47    set x = dx*e
48
49    set y = dy*cy/2
50
51    loop if = sqrt((N-6)*(N-6)), 0
52
53    frame marker @
54    frame outline @
55    frame pad @
56}
57
58frame pads3 {
59    table
60        { n, dx, dy }
61        { 1, -1, -1 }
62        { 2, 1, -1 }
63        { 3, 0, 1 }
64
65    loop if = sqrt((N-3)*(N-3)), 0
66
67    frame outline @
68    frame pad @
69}
70
71package "SOT-$Name"
72unit mm
73
74table
75    { Name, N, D, E, e, cy, px, py }
76    { "323", 3, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.7mm, 0.9mm }
77    { "363", 6, 2mm, 1.25mm, 0.65mm, 1.9mm, 0.4mm, 0.5mm }
78    { "523", 3, 1.6mm, 0.8mm, 0.5mm, 1.3mm, 0.4mm, 0.51mm }
79    { "563", 6, 1.6mm, 1.2mm, 0.5mm, 1.35mm, 0.3mm, 0.45mm }
80
81set w = 5mil
82
83frame pads6 @
84frame pads3 @
85measx outline.__2 >> outline.__0 1mm
86measy outline.__3 >> outline.__2 0.5mm
87measx pad.__1 -> pad.__0 -0.5mm
88measy pad.__1 -> pad.__0 0.2mm
89measx pad.__2 -> pad.__2 0.5mm
90measy pad.__2 >> pad.__2 -D

Archive Download the corresponding diff file

Branches:
master



interactive