From: Bdale Garbee Date: Wed, 21 Sep 2022 21:29:50 +0000 (-0600) Subject: new microSD connector that's available vs obsolete X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=16256b7a76d86ad1c8765b4a778db9e6d2917efa;p=hw%2Faltusmetrum new microSD connector that's available vs obsolete --- diff --git a/datasheets/gct/mem2067.pdf b/datasheets/gct/mem2067.pdf new file mode 100644 index 0000000..88a3181 Binary files /dev/null and b/datasheets/gct/mem2067.pdf differ diff --git a/packages/Makefile b/packages/Makefile index da339f1..adfe2bd 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -112,6 +112,7 @@ FOOTPRINTS= \ TO252FET.fp \ SD.fp \ microSD.fp \ + microSDold.fp \ v-bite.fp \ qfn16-3x3.fp \ 1051330011.fp \ diff --git a/packages/microSD.py b/packages/microSD.py index 3532235..7ca2c3f 100755 --- a/packages/microSD.py +++ b/packages/microSD.py @@ -1,20 +1,20 @@ -#!/usr/bin/python2 -# Copyright 2011 by Bdale Garbee . GPLv2 +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 # -# Program to emit PCB footprint for Amphenol micro SD connector +# Program to emit PCB footprint for GCT MEM2067-02-180-00-A micro SD connector # -# dimensions in mm from 101-00303-xx.pdf -PinWidth = 0.60 -PinHeight = 1.05 +# dimensions in mm from gct/mem2067.pdf +PinWidth = 0.80 +PinHeight = 1.20 PinSpacing = 1.10 -PinY = 9.47 -PinXOffset = 4.53 +PinY = 9.47 # ?? +PinXOffset = 4.475 -MntWidth = 1.05 -MntHeight = 1.50 -MntY1 = 3.60 -MntY2 = 12.00 +MntWidth = 1.50 +MntHeight = 2.00 +MntY1 = 3.85 +MntY2 = 12.05 MntX = 13.60 BoxX = 13.60 @@ -29,16 +29,16 @@ import sys 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 2' -print '# use-license: unlimited' +print('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') -print 'Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]' -print "(" +print('Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]') +print("(") # mounting pads -print ' Pad[',\ +print(' Pad[',\ mm2mils100(-MntX/2), \ mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(-MntX/2), \ @@ -46,9 +46,9 @@ print ' Pad[',\ mm2mils100(MntWidth), \ mm2mils100(0), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(MntX/2), \ mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(MntX/2), \ @@ -56,9 +56,9 @@ print ' Pad[',\ mm2mils100(MntWidth), \ mm2mils100(0), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(-MntX/2), \ mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(-MntX/2), \ @@ -66,9 +66,9 @@ print ' Pad[',\ mm2mils100(MntWidth), \ mm2mils100(0), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') -print ' Pad[',\ +print(' Pad[',\ mm2mils100(MntX/2), \ mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ mm2mils100(MntX/2), \ @@ -76,11 +76,11 @@ print ' Pad[',\ mm2mils100(MntWidth), \ mm2mils100(0), \ mm2mils100(MntWidth + MaskAdd), \ - '"9" "9" 0x0100]' + '"9" "9" 0x0100]') # signal pads for pin in range (1,9): - print ' Pad[',\ + print(' Pad[',\ mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ mm2mils100(PinY-(PinHeight/2)+(PinWidth/2)), \ mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ @@ -88,36 +88,36 @@ for pin in range (1,9): mm2mils100(PinWidth), \ mm2mils100(0), \ mm2mils100(PinWidth + MaskAdd), \ - '"pin%i"' % (pin), '"%i"' % (pin), '0x0100]' + '"pin%i"' % (pin), '"%i"' % (pin), '0x0100]') # silkscreen box -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(BoxX/2), \ mm2mils100(0), \ mm2mils100(BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(0), \ mm2mils100(-BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(0), \ mm2mils100(+BoxX/2), \ mm2mils100(0), \ - LineWidth, ']' + LineWidth, ']') -print ' ElementLine[', \ +print(' ElementLine[', \ mm2mils100(-BoxX/2), \ mm2mils100(BoxY), \ mm2mils100(+BoxX/2), \ mm2mils100(BoxY), \ - LineWidth, ']' + LineWidth, ']') -print ")" +print(")") diff --git a/packages/microSDold.py b/packages/microSDold.py new file mode 100755 index 0000000..3532235 --- /dev/null +++ b/packages/microSDold.py @@ -0,0 +1,123 @@ +#!/usr/bin/python2 +# Copyright 2011 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for Amphenol micro SD connector +# + +# dimensions in mm from 101-00303-xx.pdf +PinWidth = 0.60 +PinHeight = 1.05 +PinSpacing = 1.10 +PinY = 9.47 +PinXOffset = 4.53 + +MntWidth = 1.05 +MntHeight = 1.50 +MntY1 = 3.60 +MntY2 = 12.00 +MntX = 13.60 + +BoxX = 13.60 +BoxY = 13.30 +LineWidth = 1000 + +MaskAdd = 0.15 + +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 2' +print '# use-license: unlimited' + +print 'Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]' +print "(" + +# mounting pads +print ' Pad[',\ + mm2mils100(-MntX/2), \ + mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ + mm2mils100(-MntX/2), \ + mm2mils100(MntY1+(MntHeight/2)-(MntWidth/2)), \ + mm2mils100(MntWidth), \ + mm2mils100(0), \ + mm2mils100(MntWidth + MaskAdd), \ + '"9" "9" 0x0100]' + +print ' Pad[',\ + mm2mils100(MntX/2), \ + mm2mils100(MntY1-(MntHeight/2)+(MntWidth/2)), \ + mm2mils100(MntX/2), \ + mm2mils100(MntY1+(MntHeight/2)-(MntWidth/2)), \ + mm2mils100(MntWidth), \ + mm2mils100(0), \ + mm2mils100(MntWidth + MaskAdd), \ + '"9" "9" 0x0100]' + +print ' Pad[',\ + mm2mils100(-MntX/2), \ + mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ + mm2mils100(-MntX/2), \ + mm2mils100(MntY2+(MntHeight/2)-(MntWidth/2)), \ + mm2mils100(MntWidth), \ + mm2mils100(0), \ + mm2mils100(MntWidth + MaskAdd), \ + '"9" "9" 0x0100]' + +print ' Pad[',\ + mm2mils100(MntX/2), \ + mm2mils100(MntY2-(MntHeight/2)+(MntWidth/2)), \ + mm2mils100(MntX/2), \ + mm2mils100(MntY2+(MntHeight/2)-(MntWidth/2)), \ + mm2mils100(MntWidth), \ + mm2mils100(0), \ + mm2mils100(MntWidth + MaskAdd), \ + '"9" "9" 0x0100]' + +# signal pads +for pin in range (1,9): + print ' Pad[',\ + mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ + mm2mils100(PinY-(PinHeight/2)+(PinWidth/2)), \ + mm2mils100(-PinXOffset + (8-pin) * PinSpacing), \ + mm2mils100(PinY+(PinHeight/2)-(PinWidth/2)), \ + mm2mils100(PinWidth), \ + mm2mils100(0), \ + mm2mils100(PinWidth + MaskAdd), \ + '"pin%i"' % (pin), '"%i"' % (pin), '0x0100]' + +# silkscreen box +print ' ElementLine[', \ + mm2mils100(BoxX/2), \ + mm2mils100(0), \ + mm2mils100(BoxX/2), \ + mm2mils100(BoxY), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(0), \ + mm2mils100(-BoxX/2), \ + mm2mils100(BoxY), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(0), \ + mm2mils100(+BoxX/2), \ + mm2mils100(0), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(-BoxX/2), \ + mm2mils100(BoxY), \ + mm2mils100(+BoxX/2), \ + mm2mils100(BoxY), \ + LineWidth, ']' + + +print ")"