From 1b85cdb8809c43b6a623b7bc95f4cd213e88357e Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 31 Jul 2024 16:57:40 -0600 Subject: [PATCH] add right-angle USB connector for QuantiMotor --- packages/.gitignore | 1 + packages/Makefile | 1 + packages/cu01sah.py | 137 ++++++++++++++++++++++++++++++++++++++++++++ packages/cu01sav.py | 2 +- 4 files changed, 140 insertions(+), 1 deletion(-) create mode 100755 packages/cu01sah.py diff --git a/packages/.gitignore b/packages/.gitignore index 823fd2f..45962cb 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -4,6 +4,7 @@ ssop-28.fp soic-16.fp soic-24.fp hssop-56.fp +PTS815.fp s-pwson-n8.fp s-pwson-n6.fp lga14.fp diff --git a/packages/Makefile b/packages/Makefile index 0487140..547d290 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -173,6 +173,7 @@ FOOTPRINTS= \ rpsma-th.fp \ NINA-W131.fp \ Omega2S.fp \ + cu01sah.fp \ cu01sav.fp \ TSOT26.fp \ NRS50.fp \ diff --git a/packages/cu01sah.py b/packages/cu01sah.py new file mode 100755 index 0000000..816df6b --- /dev/null +++ b/packages/cu01sah.py @@ -0,0 +1,137 @@ +#!/usr/bin/python3 +# Copyright 2024 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for +# CviLux CU01SAH0S00 USB Type-A Single Port Horizonal (Right Angle) Connector +# +# dimensions in mm from cvilux/CU0101S.pdf + +PinDiam = 0.92 +InnerSpacing = 2.00 +OuterSpacing = 7.00 + +MntDiam = 2.33 +MntSpacing = 13.14 + +Pin2Mnt = 2.71 +Pin2Box = 1.19 + +BoxX = 13.1 +BoxY = 14.2 # this includes the lip + +LineWidth = 600 +ThicknessDelta = 1.0 +Clearance = .32 +MaskDelta = 0.32 + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') + +print('Element[0x0 "CU01SAV" "" "" 0 0 0 0 0 100 0x0]') +print("(") + +print(' Pin[', \ + mm2mils100(-OuterSpacing/2), \ + 0, \ + mm2mils100(PinDiam+ThicknessDelta/2), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \ + mm2mils100(PinDiam), \ + '"1"', \ + '"1"', \ + "0x0101", ']') + +print(' Pin[', \ + mm2mils100(-InnerSpacing/2), \ + 0, \ + mm2mils100(PinDiam+ThicknessDelta/2), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \ + mm2mils100(PinDiam), \ + '"2"', \ + '"2"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(InnerSpacing/2), \ + 0, \ + mm2mils100(PinDiam+ThicknessDelta/2), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \ + mm2mils100(PinDiam), \ + '"3"', \ + '"3"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(OuterSpacing/2), \ + 0, \ + mm2mils100(PinDiam+ThicknessDelta/2), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ThicknessDelta/2+MaskDelta), \ + mm2mils100(PinDiam), \ + '"4"', \ + '"4"', \ + "0x0001", ']') + +# ground the mounting tab holes, which means pin 4 since this is a USB A +print(' Pin[', \ + mm2mils100(-MntSpacing/2), \ + mm2mils100(Pin2Mnt), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"4"', \ + '"4"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(MntSpacing/2), \ + mm2mils100(Pin2Mnt), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"4"', \ + '"4"', \ + "0x0001", ']') + +# silkscreen box +print(' ElementLine[', \ + mm2mils100(BoxX/2), \ + mm2mils100(-Pin2Box), \ + mm2mils100(BoxX/2), \ + mm2mils100(-Pin2Box+BoxY), \ + LineWidth, ']') + +print(' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(-Pin2Box), \ + mm2mils100(-BoxX/2), \ + mm2mils100(-Pin2Box+BoxY), \ + LineWidth, ']') + +print(' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(-Pin2Box), \ + mm2mils100(+BoxX/2), \ + mm2mils100(-Pin2Box), \ + LineWidth, ']') + +print(' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(-Pin2Box+BoxY), \ + mm2mils100(+BoxX/2), \ + mm2mils100(-Pin2Box+BoxY), \ + LineWidth, ']') + +print(")") diff --git a/packages/cu01sav.py b/packages/cu01sav.py index 691d1d9..2adf87c 100755 --- a/packages/cu01sav.py +++ b/packages/cu01sav.py @@ -2,7 +2,7 @@ # Copyright 2022 by Bdale Garbee . GPLv3 # # Program to emit PCB footprint for -# CviLux CU01SAV1S00 USB Type-A Single Port Straight Connector +# CviLux CU01SAV1S00 USB Type-A Single Port Vertical Connector # # dimensions in mm from cvilux/CU0112S.pdf -- 2.47.2