+++ /dev/null
-# author: Bdale Garbee
-# email: bdale@gag.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element[0x0 "microSD" "" "" 0 0 0 0 0 100 0x0]
-(
- Pad[ -26771 13287 -26771 15059 4134 0 4724 "9" "9" 0x0100]
- Pad[ 26772 13287 26772 15059 4134 0 4724 "9" "9" 0x0100]
- Pad[ -26771 46358 -26771 48130 4134 0 4724 "9" "9" 0x0100]
- Pad[ 26772 46358 26772 48130 4134 0 4724 "9" "9" 0x0100]
- Pad[ 12480 36398 12480 38169 2362 0 2953 "pin1" "1" 0x0100]
- Pad[ 8150 36398 8150 38169 2362 0 2953 "pin2" "2" 0x0100]
- Pad[ 3819 36398 3819 38169 2362 0 2953 "pin3" "3" 0x0100]
- Pad[ -511 36398 -511 38169 2362 0 2953 "pin4" "4" 0x0100]
- Pad[ -4842 36398 -4842 38169 2362 0 2953 "pin5" "5" 0x0100]
- Pad[ -9172 36398 -9172 38169 2362 0 2953 "pin6" "6" 0x0100]
- Pad[ -13503 36398 -13503 38169 2362 0 2953 "pin7" "7" 0x0100]
- Pad[ -17834 36398 -17834 38169 2362 0 2953 "pin8" "8" 0x0100]
- ElementLine[ 26772 0 26772 52362 1000 ]
- ElementLine[ -26771 0 -26771 52362 1000 ]
- ElementLine[ -26771 0 26772 0 1000 ]
- ElementLine[ -26771 52362 26772 52362 1000 ]
-)
--- /dev/null
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>. 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 ")"
--- /dev/null
+v 20130925 2
+P 0 3300 300 3300 1 0 0
+{
+T 0 3300 5 10 0 0 0 0 1
+pintype=pwr
+T 355 3295 5 10 1 1 0 0 1
+pinlabel=VDD
+T 205 3345 5 10 1 1 0 6 1
+pinnumber=4
+T 0 3300 5 10 0 0 0 0 1
+pinseq=4
+}
+B 300 0 1700 4700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 895 1995 8 10 0 1 0 0 1
+device=IC
+T 295 4795 8 10 1 1 0 0 1
+refdes=J?
+P 0 1700 300 1700 1 0 0
+{
+T 0 1700 5 10 0 0 0 0 1
+pintype=io
+T 355 1695 5 10 1 1 0 0 1
+pinlabel=DAT1
+T 205 1745 5 10 1 1 0 6 1
+pinnumber=8
+T 0 1700 5 10 0 0 0 0 1
+pinseq=8
+}
+P 0 2900 300 2900 1 0 0
+{
+T 0 2900 5 10 0 0 0 0 1
+pintype=in
+T 355 2895 5 10 1 1 0 0 1
+pinlabel=CLK
+T 205 2945 5 10 1 1 0 6 1
+pinnumber=5
+T 0 2900 5 10 0 0 0 0 1
+pinseq=5
+}
+P 0 1300 300 1300 1 0 0
+{
+T 0 1300 5 10 0 0 0 0 1
+pintype=io
+T 355 1295 5 10 1 1 0 0 1
+pinlabel=DAT2
+T 205 1345 5 10 1 1 0 6 1
+pinnumber=9
+T 0 1300 5 10 0 0 0 0 1
+pinseq=9
+}
+T 1695 4795 8 10 1 1 0 0 1
+value=SD
+P 0 2500 300 2500 1 0 0
+{
+T 0 2500 5 10 0 0 0 0 1
+pintype=pwr
+T 355 2495 5 10 1 1 0 0 1
+pinlabel=VSS2
+T 205 2545 5 10 1 1 0 6 1
+pinnumber=6
+T 0 2500 5 10 0 0 0 0 1
+pinseq=6
+}
+P 0 2100 300 2100 1 0 0
+{
+T 0 2100 5 10 0 0 0 0 1
+pintype=io
+T 355 2095 5 10 1 1 0 0 1
+pinlabel=DAT0
+T 205 2145 5 10 1 1 0 6 1
+pinnumber=7
+T 0 2100 5 10 0 0 0 0 1
+pinseq=7
+}
+P 0 4500 300 4500 1 0 0
+{
+T 0 4500 5 10 0 0 0 0 1
+pintype=io
+T 355 4495 5 10 1 1 0 0 1
+pinlabel=DAT3
+T 205 4545 5 10 1 1 0 6 1
+pinnumber=1
+T 0 4500 5 10 0 0 0 0 1
+pinseq=1
+}
+P 0 4100 300 4100 1 0 0
+{
+T 0 4100 5 10 0 0 0 0 1
+pintype=io
+T 355 4095 5 10 1 1 0 0 1
+pinlabel=CMD
+T 205 4145 5 10 1 1 0 6 1
+pinnumber=2
+T 0 4100 5 10 0 0 0 0 1
+pinseq=2
+}
+P 0 3700 300 3700 1 0 0
+{
+T 0 3700 5 10 0 0 0 0 1
+pintype=io
+T 355 3695 5 10 1 1 0 0 1
+pinlabel=VSS1
+T 205 3745 5 10 1 1 0 6 1
+pinnumber=3
+T 0 3700 5 10 0 0 0 0 1
+pinseq=3
+}
+P 0 500 300 500 1 0 0
+{
+T 0 500 5 10 0 0 0 0 1
+pintype=io
+T 0 500 5 10 0 0 0 0 1
+pinseq=11
+T 355 495 5 10 1 1 0 0 1
+pinlabel=WP
+T 205 545 5 10 1 1 0 6 1
+pinnumber=11
+}
+P 0 100 300 100 1 0 0
+{
+T 0 100 5 10 0 0 0 0 1
+pintype=pwr
+T 0 100 5 10 0 0 0 0 1
+pinseq=12
+T 355 95 5 10 1 1 0 0 1
+pinlabel=GND
+T 205 145 5 10 1 1 0 6 1
+pinnumber=12
+}
+P 0 900 300 900 1 0 0
+{
+T 0 900 5 10 0 0 0 0 1
+pintype=io
+T 0 900 5 10 0 0 0 0 1
+pinseq=10
+T 355 895 5 10 1 1 0 0 1
+pinlabel=CD
+T 205 945 5 10 1 1 0 6 1
+pinnumber=10
+}