Add on-board USB type A male connector
authorKeith Packard <keithp@keithp.com>
Wed, 12 Nov 2014 00:17:25 +0000 (16:17 -0800)
committerKeith Packard <keithp@keithp.com>
Wed, 12 Nov 2014 00:17:25 +0000 (16:17 -0800)
This provides a footprint for a PCB-based USB Type A connector, which
can be used without a shell. Note that this does want to sit on a 2mm
board if possible, but 1.6mm should work fine in most cases.

Signed-off-by: Keith Packard <keithp@keithp.com>
packages/Makefile
packages/usb_onboard.5c [new file with mode: 0644]

index 53deeeacce5bbf027d7dfeebdc419f4f38339543..a0f1dc518ea28c68a4bbc4fdee8460c63dcd4985 100644 (file)
@@ -70,7 +70,8 @@ FOOTPRINTS= \
        usbAmale.fp \
        nx3215sa.fp \
        DR127.fp \
-       PowerPAD32.fp
+       PowerPAD32.fp \
+       usb_onboard.fp
 
 .5c.fp:
        nickle $*.5c > $@
diff --git a/packages/usb_onboard.5c b/packages/usb_onboard.5c
new file mode 100644 (file)
index 0000000..8592648
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2014 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+load "footprint.5c"
+import Footprint;
+
+real package_width = 12.0;
+real package_height = 12.0;
+real package_thick = 2.4;
+
+real power_width = 1.0;
+real power_height = 7.41;
+real data_width = 1.0;
+real data_height = 6.41;
+
+real pad_y = package_height/2 - 8.65;
+real power_x = 3.5;
+real data_x = 1.0;
+
+element_start("usb_onboard");
+
+rect(-package_width/2, -package_height/2, package_width, package_height);
+
+line(-package_width/2, pad_y, package_width/2, pad_y);
+
+pad_mm(-power_x, pad_y + power_height/2, power_width, power_height, "GND", "1");
+
+pad_mm(-data_x, pad_y + data_height/2, data_width, data_height, "DP", "2");
+
+pad_mm( data_x, pad_y + data_height/2, data_width, data_height, "DM", "3");
+
+pad_mm( power_x, pad_y + power_height/2, power_width, power_height, "VBUS", "4");
+
+element_end();