2 * Copyright © 2018 Bdale Garbee <bdale@gag.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
18 /* 4ucon 11071 USB micro B with solder tangs. Y origin is the board edge */
24 real pad_height = 1.35;
25 real pad_spacing = 0.65;
26 real pad_y = 1.45 + 3.35 - pad_height/2;
29 real tab_height = 1.9;
30 real tab_x = 0.2 + tab_width / 2;
34 real tang_width = 0.45;
35 real tang_radius = tang_width / 2;
36 real tang_length = 1.55 - tang_width;
38 real tang_copper = (2.15 - 1.55) / 2;
39 real tang_clearance = 0.13;
41 real wing_width = 1.6;
42 real wing_height = 1.4;
44 real wing_y = 1.45 + 2.25;
46 element_start("11071");
48 pad_mm(pad_spacing* 2, pad_y, pad_width, pad_height, "VBUS", "1");
49 pad_mm(pad_spacing* 1, pad_y, pad_width, pad_height, "D-", "2");
50 pad_mm(pad_spacing* 0, pad_y, pad_width, pad_height, "D+", "3");
51 pad_mm(pad_spacing*-1, pad_y, pad_width, pad_height, "HS", "4");
52 pad_mm(pad_spacing*-2, pad_y, pad_width, pad_height, "GND", "5");
54 /* "Wings", which are next to the signal pads */
56 pad_mm_space(-wing_x, wing_y, wing_width, wing_height, 0, "", "G");
57 pad_mm_space( wing_x, wing_y, wing_width, wing_height, 0, "", "G");
59 /* Tabs under package */
61 pad_mm_space(-tab_x, tab_y, tab_width, tab_height, 0, "", "G");
62 pad_mm_space( tab_x, tab_y, tab_width, tab_height, 0, "", "G");
64 /* tangs at edges of package */
66 pin_mm_space(-tang_x, tang_y - tang_length / 2, tang_radius * 2, tang_copper, tang_clearance * 2, "GND", "5");
67 pin_mm_space(-tang_x, tang_y + tang_length / 2, tang_radius * 2, tang_copper, tang_clearance * 2, "GND", "5");
68 pad_mm_space_options(-tang_x, tang_y, tang_radius * 2 + tang_copper * 2, tang_length + tang_radius * 2 + tang_copper * 2, tang_clearance * 2, "GND", "5", "");
69 pad_mm_space_options(-tang_x, tang_y, tang_radius * 2 + tang_copper * 2, tang_length + tang_radius * 2 + tang_copper * 2, tang_clearance * 2, "GND", "5", "onsolder");
71 pin_mm_space( tang_x, tang_y - tang_length / 2, tang_radius * 2, tang_copper, tang_clearance * 2, "GND", "5");
72 pin_mm_space( tang_x, tang_y + tang_length / 2, tang_radius * 2, tang_copper, tang_clearance * 2, "GND", "5");
73 pad_mm_space_options(tang_x, tang_y, tang_radius * 2 + tang_copper * 2, tang_length + tang_radius * 2 + tang_copper * 2, tang_clearance * 2, "GND", "5", "");
74 pad_mm_space_options(tang_x, tang_y, tang_radius * 2 + tang_copper * 2, tang_length + tang_radius * 2 + tang_copper * 2, tang_clearance * 2, "GND", "5", "onsolder");