modules/INFO |
9 | 9 | F: meander |
10 | 10 | N: AN043 |
11 | 11 | |
12 | | # Mini-USB B receptable (SMT; almost generic) |
13 | | F: mini_usb_b |
14 | | |
15 | 12 | # Common 4-pin crystal SMT package (pins 1 and 4 are on a short side, pin |
16 | 13 | # numbering is counter-clockwise) |
17 | 14 | F: xtal-4 |
... | ... | |
40 | 37 | F: mmcx-f-edge |
41 | 38 | N: 73415-0961 |
42 | 39 | |
43 | | # USB A plug for SMT |
44 | | # |
45 | | # Note: the signal pads are enlarged by 0.2 mm and their center is shifted by |
46 | | # 0.1 mm with respect to the reference. |
47 | | # |
48 | | # According to the data sheet, the leads terminate at (2.00+/-0.10 mm)/2+ |
49 | | # 2.48 mm = 3.48+/-0.10 mm from the center. The reference footprint puts the |
50 | | # edge of the pads at (2.00+/-0.10 mm)/2+2.6 mm = 3.6 mm+/-0.10 mm, so the |
51 | | # maximum lead end could be at 3.58 mm while the minimum pad edge could be at |
52 | | # 3.5 mm. |
53 | | # |
54 | | # Assuming that the pad is intended to extend a bit beyond the lead, we need |
55 | | # to add 0.2 mm to compensate for these tolerances. (The pad tolerance may not |
56 | | # be intended to be used this way, however, we still have to consider small |
57 | | # errors in registration, which also amount to about 0.1 mm, so the calculation |
58 | | # remains valid.) |
59 | | # |
60 | | F: usb_a_plug_smt |
61 | | |
62 | 40 | # SOT-323 package with counter-clockweise or clockwise pin assignment |
63 | 41 | F: sot-323 |
64 | 42 | N: mmst3904 |
modules/mini-usb.fpd |
1 | | /*Mini USB Type B connector*/ |
2 | | |
3 | | frame pad{ |
4 | | set name=i |
5 | | ur: vec @(0mm,w/2) |
6 | | ll: vec @(-l,-w/2) |
7 | | pad "$name" ur ll |
8 | | } |
9 | | frame pad_gnd { |
10 | | set name1=i |
11 | | set name2=i+2 |
12 | | pos1_ur: vec @(gnd_x/2,gnd_y/2) |
13 | | pos2_ur: vec .(0mm,-b_y) |
14 | | pos1_ll: vec @(-gnd_x/2,-gnd_y/2) |
15 | | pos2_ll: vec .(0mm,-b_y) |
16 | | center: vec @(0mm,-b_y) |
17 | | pad "$name1" pos1_ur pos1_ll |
18 | | pad "$name2" pos2_ur pos2_ll |
19 | | } |
20 | | |
21 | | frame pads { |
22 | | |
23 | | loop i=1,5 |
24 | | pos: vec @(0mm,2*p-(i-1)*p) |
25 | | frame pad . |
26 | | |
27 | | } |
28 | | |
29 | | frame pads_gnd{ |
30 | | |
31 | | loop i=6,7 |
32 | | pos: vec @(-gnd_x/2-a_x*(i-6),b_y/2) |
33 | | frame pad_gnd . |
34 | | |
35 | | |
36 | | } |
37 | | frame holes { |
38 | | c1: vec @(-f,c/2) |
39 | | d1: vec .(0mm,d/2) |
40 | | c2: vec @(-f,-c/2) |
41 | | d2: vec .(0mm,d/2) |
42 | | circ c1 d1 0.01mm |
43 | | circ c2 d2 0.01mm |
44 | | |
45 | | } |
46 | | frame outline { |
47 | | ur: vec @(-f+A1_x,B_y/2) |
48 | | ll: vec @(-e,-B_y/2) |
49 | | rect ur ll silk |
50 | | ur2: vec @(-e,B_y/2) |
51 | | ll2: vec @(-f-A2_x,-B_y/2) |
52 | | rect ur2 ll2 silk |
53 | | |
54 | | } |
55 | | |
56 | | package "miniUSB_B" |
57 | | unit mm |
58 | | |
59 | | /*GND pad size*/ |
60 | | set gnd_y = 2mm |
61 | | set gnd_x = 2.5mm |
62 | | |
63 | | /*pad size*/ |
64 | | set w=0.5mm |
65 | | set l=2.3mm |
66 | | |
67 | | /*pitch*/ |
68 | | set p = 0.8mm |
69 | | |
70 | | /*distance center GND pad -> center pin1 */ |
71 | | set a=2.85mm |
72 | | |
73 | | /*distance GND pad -> GND pad*/ |
74 | | set a_x=5.5mm |
75 | | set b_y=8.9mm |
76 | | |
77 | | /*distance between drill holes*/ |
78 | | set c=4.4mm |
79 | | /*x distance drill hole -> outer edge pin 1*/ |
80 | | set f=3.75mm |
81 | | |
82 | | /*drill hole diameter*/ |
83 | | set d=0.9mm |
84 | | |
85 | | /*distance outer edge of pin1 -> PCB edge*/ |
86 | | set e=9mm |
87 | | /*outline x direction, center holes -> edges*/ |
88 | | set A1_x=3.3mm |
89 | | set A2_x=5.9mm |
90 | | /*outline y direction*/ |
91 | | set B_y=7.7mm |
92 | | |
93 | | set silk=0.1mm |
94 | | |
95 | | __0: vec @(0mm, 0mm) |
96 | | frame pads @ |
97 | | frame pads_gnd @ |
98 | | frame holes @ |
99 | | frame outline @ |
100 | | |
101 | | |
102 | | measy pad.ll -> pad.ur -l-2mm |
103 | | measy pad_gnd.pos2_ll -> pad_gnd.pos2_ur 0.3mm |
104 | | measx pad_gnd.pos1_ll -> pad_gnd.pos1_ur -1mm |
105 | | measy __0 -> pads.pos -0.5mm |
106 | | measy pads.pos >> pads.pos -1.5mm |
107 | | measx pads_gnd.pos >> pads_gnd.pos 2mm |
108 | | measx outline.ur2 >> pad.ur 3.5mm |
109 | | measx outline.ll >> holes.c2 -3mm |
110 | | measy holes.c2 >> holes.c1 A2_x+1mm |
111 | | measy outline.ll2 >> outline.ur2 2mm |
112 | | measx pad.ll -> pads.pos -1mm |
113 | | measy pads_gnd.pos << pad_gnd.center -5mm |
114 | | |
modules/usb_a_plug_smt.fpd |
1 | | /* MACHINE-GENERATED ! */ |
2 | | |
3 | | frame pad { |
4 | | table |
5 | | { h, w } |
6 | | { 2mm+2*enlarge, 1.2mm } |
7 | | |
8 | | __0: vec @(w/2, h/2) |
9 | | __1: vec @(-w/2, -h/2) |
10 | | pad "$name" . __0 |
11 | | } |
12 | | |
13 | | frame pads { |
14 | | table |
15 | | { name, x } |
16 | | { 1, 3.5mm } |
17 | | { 2, 1mm } |
18 | | { 3, -1mm } |
19 | | { 4, -3.5mm } |
20 | | |
21 | | set enlarge = 0.1mm |
22 | | |
23 | | __0: vec @(0mm, 2.6mm+enlarge) |
24 | | __1: vec .(x, 0mm) |
25 | | frame pad . |
26 | | } |
27 | | |
28 | | frame shield { |
29 | | table |
30 | | { name, x } |
31 | | { 5, -B/2 } |
32 | | { 6, B/2 } |
33 | | |
34 | | table |
35 | | { hi, wi } |
36 | | { 2.5mm, 1mm } |
37 | | |
38 | | set ratio = 2 |
39 | | |
40 | | set ho = hi*ratio |
41 | | |
42 | | set wo = wi*ratio |
43 | | |
44 | | __0: vec @(x, 0mm) |
45 | | __1: vec .(wo/2, ho/2) |
46 | | __2: vec __0(-wo/2, -ho/2) |
47 | | rpad "$name" . __1 |
48 | | __3: vec __0(wi/2, hi/2) |
49 | | __4: vec __0(-wi/2, -hi/2) |
50 | | hole . __3 |
51 | | } |
52 | | |
53 | | frame holes { |
54 | | set d = 1.15mm |
55 | | |
56 | | table |
57 | | { x } |
58 | | { -C/2 } |
59 | | { C/2 } |
60 | | |
61 | | __0: vec @(x, 0mm) |
62 | | __1: vec .(d/2, d/2) |
63 | | __2: vec __0(-d/2, -d/2) |
64 | | hole . __1 |
65 | | } |
66 | | |
67 | | frame edge { |
68 | | set w = 5mil |
69 | | |
70 | | __0: vec @(0mm, -2.75mm) |
71 | | __1: vec .(B/2, 0mm) |
72 | | __2: vec __0(-B/2, 0mm) |
73 | | line . __1 w |
74 | | } |
75 | | |
76 | | package "USB-A-PLUG-SMT" |
77 | | unit auto |
78 | | |
79 | | table |
80 | | { A, B, C } |
81 | | { 2mm, 11.4mm, 4.5mm } |
82 | | |
83 | | frame edge @ |
84 | | frame holes @ |
85 | | frame pads @ |
86 | | frame shield @ |
87 | | measx pads.__1 >> pads.__1 3mm |
88 | | measx pads.__1 -> pads.__1 2.5mm |
89 | | measx pad.__1 -> pad.__0 3mm |
90 | | measy pad.__1 -> pad.__0 0.5mm |
91 | | measx shield.__2 -> shield.__1 -2.5mm |
92 | | measy shield.__2 -> shield.__1 1.5mm |
93 | | measy shield.__4 -> shield.__3 1mm |
94 | | measx shield.__4 -> shield.__3 -2mm |
95 | | measx shield.__0 >> shield.__0 6.5mm |
96 | | measx holes.__0 >> holes.__0 -1.5mm |
97 | | measy holes.__2 -> holes.__1 1mm |
98 | | measy edge.__1 >> shield.__0 -2mm |
99 | | measy pads.__0 << shield.__0 -2mm |