N 44300 45100 44300 41700 4
N 44300 41700 45700 41700 4
N 45700 42900 44700 42900 4
-C 53300 43400 1 0 1 crystal-1.sym
+C 54800 44700 1 0 1 crystal-1.sym
{
-T 53100 43900 5 10 0 0 0 6 1
+T 54600 45200 5 10 0 0 0 6 1
device=CRYSTAL
-T 53000 43600 5 10 1 1 0 6 1
+T 54500 44900 5 10 1 1 0 6 1
refdes=U102
-T 53100 44100 5 10 0 0 0 6 1
+T 54600 45400 5 10 0 0 0 6 1
symversion=0.1
-T 52700 43500 5 10 0 0 0 6 1
+T 54200 44800 5 10 0 0 0 6 1
footprint=SMD_CRYSTAL_CM315.fp
-T 52700 43500 5 10 0 0 0 0 1
+T 54200 44800 5 10 0 0 0 0 1
pn-digikey=300-8751-1-ND
+T 54800 44700 5 10 0 0 0 0 1
+value=CM315-32.768KEZF-UT
}
N 45900 46300 44400 46300 4
{
}
N 53400 42500 52500 42500 4
N 53400 43400 53400 44300 4
-N 53300 43500 53400 43500 4
N 52500 43900 52500 43400 4
-N 52500 43500 52600 43500 4
-C 54800 44700 1 0 1 crystal-1.sym
+C 53300 43400 1 0 1 crystal-1.sym
{
-T 54600 45200 5 10 0 0 0 6 1
+T 53100 43900 5 10 0 0 0 6 1
device=CRYSTAL
-T 54600 45400 5 10 0 0 0 6 1
+T 53100 44100 5 10 0 0 0 6 1
symversion=0.1
-T 54200 44800 5 10 0 0 0 6 1
-footprint=HC49SMD.fp
-T 54300 44900 5 10 1 1 0 6 1
+T 52700 43500 5 10 0 0 0 6 1
+footprint=SMD_CRYSTAL_NDK-NX1255GB.fp
+T 52800 43600 5 10 1 1 0 6 1
refdes=U103
+T 53300 43400 5 10 0 0 0 0 1
+value=NX1255GB-4.000000MHZ
}
C 55100 43800 1 0 1 capacitor-3.sym
{
}
N 54900 43800 54000 43800 4
N 54900 44700 54900 45500 4
-N 54800 44800 54900 44800 4
N 54000 45200 54000 44700 4
-N 54000 44800 54100 44800 4
N 52100 43900 52500 43900 4
N 53400 44300 52100 44300 4
N 54900 45500 52100 45500 4
T 54400 50500 5 10 1 1 0 0 1
netname=MISO1
}
+N 53300 43500 53400 43500 4
+N 52600 43500 52500 43500 4
+N 54100 44800 54000 44800 4
+N 54900 44800 54800 44800 4
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: ASCII -*-
+'''NDK crystal
+NX1255GB series
+from: http://www.ndk.com/cataloge/cu37_NX1255GB_e1.pdf
+'''
+import sys
+from footprinter import *
+
+#
+# PCB fab minimums
+#
+MASK_SWELL = mil(6.0)
+MIN_TRACE = mil(6.0)
+MIN_SPACE = mil(6.0)
+MIN_PAD_ANNULUS = mil(15.0)
+MIN_VIA_ANNULUS = mil(10.0)
+
+# pcb's coordinates are graphics oriented
+# x in increasing right
+# y in increasing DOWN
+
+SILK_LINEWIDTH = mil(8.0)
+
+
+padw = mm(2.4)
+padl = mm(2.2)
+toe = mm(0.0)
+hgap = mm(5.08)
+vgap = mm(4.40)
+bodyl = mm(12.0)
+bodyw = mm(5.7)
+
+
+p1 = Pad(1,
+ [
+ -(hgap/2 + padw/2),
+ (vgap/2 - padl/2),
+ -(hgap/2 - padw/2),
+ (vgap/2 + padl/2 + toe),
+ ],
+ MIN_SPACE, MASK_SWELL, name='1', sflags='square'
+ )
+
+p2 = Pad(2,
+ [
+ +(hgap/2 - padw/2),
+ (vgap/2 - padl/2),
+ +(hgap/2 + padw/2),
+ (vgap/2 + padl/2 + toe),
+ ],
+ MIN_SPACE, MASK_SWELL, name='2', sflags='square'
+ )
+
+p4 = Pad(1,
+ [
+ -(hgap/2 + padw/2),
+ -(vgap/2 + padl/2 + toe),
+ -(hgap/2 - padw/2),
+ -(vgap/2 - padl/2),
+ ],
+ MIN_SPACE, MASK_SWELL, name='4', sflags='square'
+ )
+
+p3 = Pad(2,
+ [
+ +(hgap/2 - padw/2),
+ -(vgap/2 + padl/2 + toe),
+ +(hgap/2 + padw/2),
+ -(vgap/2 - padl/2),
+ ],
+ MIN_SPACE, MASK_SWELL, name='3', sflags='square'
+ )
+
+
+pads = [p1, p2, p3, p4]
+
+# silkscreen
+lines = []
+lines.append(ElementLine(
+ -(bodyl/2 + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ -(bodyl/2 + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+
+lines.append(ElementLine(
+ (bodyl/2 + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ (bodyl/2 + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+
+lines.append(ElementLine(
+ (bodyl/2 + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ (hgap/2 + padw/2 + MIN_SPACE + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+lines.append(ElementLine(
+ (bodyl/2 + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ (hgap/2 + padw/2 + MIN_SPACE + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+
+lines.append(ElementLine(
+ -(bodyl/2 + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ -(hgap/2 + padw/2 + MIN_SPACE + SILK_LINEWIDTH/2),
+ (bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+lines.append(ElementLine(
+ -(bodyl/2 + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ -(hgap/2 + padw/2 + MIN_SPACE + SILK_LINEWIDTH/2),
+ -(bodyw/2 + SILK_LINEWIDTH/2),
+ SILK_LINEWIDTH))
+
+fp = Footprint(
+ padpins=pads,
+ linearcs=lines,
+ sflags='',
+ description=sys.argv[0].split('.')[0]+'.fp'
+ )
+
+fp.mx = 0
+fp.my = 0
+fp.tx = 0
+fp.ty = 0
+fp.write(sys.stdout)
+
--- /dev/null
+Element ["" "SMD_CRYSTAL_NDK-NX1255GB.fp" "" "" 0nm 0nm 0nm 0nm 0 100 ""]
+(
+Pad [-2640000nm 2200000nm -2440000nm 2200000nm 2200000nm 152400nm 2504800nm "1" "1" "square"]
+Pad [2440000nm 2200000nm 2640000nm 2200000nm 2200000nm 152400nm 2504800nm "2" "2" "square"]
+Pad [2440000nm -2200000nm 2640000nm -2200000nm 2200000nm 152400nm 2504800nm "3" "2" "square"]
+Pad [-2640000nm -2200000nm -2440000nm -2200000nm 2200000nm 152400nm 2504800nm "4" "1" "square"]
+ElementLine [-6101600nm 2951600nm -6101600nm -2951600nm 203200nm]
+ElementLine [6101600nm 2951600nm 6101600nm -2951600nm 203200nm]
+ElementLine [6101600nm 2951600nm 3994000nm 2951600nm 203200nm]
+ElementLine [6101600nm -2951600nm 3994000nm -2951600nm 203200nm]
+ElementLine [-6101600nm 2951600nm -3994000nm 2951600nm 203200nm]
+ElementLine [-6101600nm -2951600nm -3994000nm -2951600nm 203200nm]
+)