--- /dev/null
+#!/usr/bin/python
+# Copyright 2007 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for C&K KSCJ SPST switch
+#
+
+# dimensions in mm from C&K KSC_31aug10.pdf datasheet
+
+PadHeight = 1.0
+PadWidth = 2.8
+HSpacing = 4.0
+WSpacing = 3.0
+
+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 "PCM12SMTR" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print ' Pad[',\
+ mm2mils100(WSpacing/2 + PadHeight/2), \
+ mm2mils100(-HSpacing/2), \
+ mm2mils100(WSpacing/2 + PadWidth - PadHeight/2), \
+ mm2mils100(-HSpacing/2), \
+ mm2mils100(PadHeight), \
+ 0, \
+ mm2mils100(PadHeight)+600, \
+ '"pin2" "2" 0x0100]'
+
+print ' Pad[',\
+ mm2mils100(WSpacing/2 + PadHeight/2), \
+ mm2mils100(HSpacing/2), \
+ mm2mils100(WSpacing/2 + PadWidth - PadHeight/2), \
+ mm2mils100(HSpacing/2), \
+ mm2mils100(PadHeight), \
+ 0, \
+ mm2mils100(PadHeight)+600, \
+ '"pin1" "1" 0x0100]'
+
+print ' Pad[',\
+ mm2mils100(-WSpacing/2 - PadHeight/2), \
+ mm2mils100(HSpacing/2), \
+ mm2mils100(-WSpacing/2 - PadWidth + PadHeight/2), \
+ mm2mils100(HSpacing/2), \
+ mm2mils100(PadHeight), \
+ 0, \
+ mm2mils100(PadHeight)+600, \
+ '"pin1" "1" 0x0100]'
+
+print ' Pad[',\
+ mm2mils100(-WSpacing/2 - PadHeight/2), \
+ mm2mils100(-HSpacing/2), \
+ mm2mils100(-WSpacing/2 - PadWidth + PadHeight/2), \
+ mm2mils100(-HSpacing/2), \
+ mm2mils100(PadHeight), \
+ 0, \
+ mm2mils100(PadHeight)+600, \
+ '"pin2" "2" 0x0100]'
+
+print ")"
MPU6000.fp \
UBLOX-MAX.fp \
TI-QFN32.fp \
+ TI-QFN36.fp \
TI-QFN32-new.fp \
NDK32.fp \
sma-edge.fp \
ti-qfn20.fp \
qfn-16.fp \
ap.10g.fp \
- BTM182.fp
+ BTM182.fp \
+ PNswitchDPDT.fp \
+ NHD-C0216.fp \
+ KSCJ.fp
.5c.fp:
nickle $*.5c > $@
--- /dev/null
+#!/usr/bin/python
+# Copyright 2010 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for NHD-C0216CU-FN-GBW-3V 2x16 text LCD
+#
+
+# dimensions in mm from Newhaven Display International datasheet
+BodyWidth = 49.7
+BodyHeight = 25.3
+PinDiam = 0.72 # 0.50 +- 0.5 x 0.30 +- 0.05 rectangular pins
+ # worst case 0.66mm diagonal, plus some slack
+PinSpacing = 1.50
+Pins = 17
+ViewWidth = 45.70
+ViewHeight = 14.30
+ViewHCtr = (BodyHeight/2) - (18.30 / 2)
+
+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 "NHD-C0216" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# pins
+ # pin( x y thickness clearance mask drillhole name number flags)
+for pin in range (1,Pins+1):
+ if pin == 1:
+ Flags = '0x0101'
+ else:
+ Flags = '0x0001'
+
+ print ' Pin[',\
+ mm2mils100((pin - 9)*PinSpacing), \
+ mm2mils100(-BodyHeight/2), \
+ mm2mils100(PinDiam * 1.75), \
+ 1200, \
+ mm2mils100(PinDiam * 1.75) + 600, \
+ mm2mils100(PinDiam), \
+ '"pin%i"' % (pin), '"%i"' % (pin), Flags, ']'
+
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ -mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+
+# mark viewable area
+# ViewWidth = 45.70
+# ViewHeight = 14.30
+# ViewHCtr = BodyHeight - (18.30 / 2)
+
+print ' ElementLine[',\
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ 500, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ 500, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ 500, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ 500, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ 500, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(-ViewWidth/2), \
+ mm2mils100(ViewHCtr - ViewHeight/2), \
+ mm2mils100(ViewWidth/2), \
+ mm2mils100(ViewHCtr + ViewHeight/2), \
+ 500, \
+ ']'
+
+print ")"
--- /dev/null
+#!/usr/bin/python
+# Copyright 2010 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for C&K PN22SJNA03QE DPDT switch
+#
+
+# dimensions in mm from footprint drawing at DigiKey
+BodyWidth = 12 # body outline
+BodyHeight = 6.8
+PinSpace = 2.49
+PinDiam = 0.89
+MntWidth = 11.40
+MntHeight = 4.19
+MntDiam = 1.50
+
+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 "PN22SJNA03QE" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print ' Pin[',\
+ mm2mils100(-PinSpace), \
+ mm2mils100(-PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin1" "1" 0x0101]'
+
+print ' Pin[',\
+ mm2mils100(0), \
+ mm2mils100(-PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin2" "2" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(PinSpace), \
+ mm2mils100(-PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin3" "3" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(PinSpace), \
+ mm2mils100(PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin6" "6" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(0), \
+ mm2mils100(PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin5" "5" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(-PinSpace), \
+ mm2mils100(PinSpace/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(PinDiam), \
+ '"pin4" "4" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(-MntWidth/2), \
+ mm2mils100(MntHeight/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(MntDiam), \
+ '"pin7" "G" 0x0001]'
+
+print ' Pin[',\
+ mm2mils100(MntWidth/2), \
+ mm2mils100(-MntHeight/2), \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(MntDiam), \
+ '"pin8" "G" 0x0001]'
+
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ -mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ -mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+print ' ElementLine[',\
+ mm2mils100(BodyWidth/2), \
+ mm2mils100(BodyHeight/2), \
+ mm2mils100(BodyWidth/2), \
+ -mm2mils100(BodyHeight/2), \
+ 500, \
+ ']'
+
+print ")"
--- /dev/null
+#!/usr/bin/python
+# Copyright 2008 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for QFN36 package used by TI CC1111
+#
+
+# dimensions in mm from the TI cc1111f32.pdf datasheet
+PinWidth = 0.28
+PinResist = 0.381 # width of gap in solder resist over pad
+PinHeight = 0.75
+PinSpacing = 0.50
+Overall = 6.30
+GndSquare = 4.40
+CoreSquare = 3.7592 # resist gaps and paste spots over ground tab
+PinSquare = 4.80
+
+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 "QFN36" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+
+# pad under the chip, must be grounded
+print ' Pad[',\
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(GndSquare), \
+ 0, \
+ 0, \
+ '"pin37" "37" "square,nopaste"]'
+
+# vias in the ground pad under the chip
+for viarow in range (-1,2):
+ for viacol in range (-1,2):
+ print ' Pin[',\
+ mm2mils100(2 * viacol * CoreSquare / 5), \
+ mm2mils100(2 * viarow * CoreSquare / 5), \
+ 2900, \
+ 2500, \
+ 0, \
+ 1500, \
+ '"pin37" "37" 0x0002]'
+
+# break pad under chip into a grid to control the resist and paste masks
+for viarow in range (-2, 3):
+ for viacol in range (-2, 3):
+ if (viarow in (-2, 0, 2)) and (viacol in (-2, 0, 2)):
+ # copper sub-square with resist over vias
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ mm2mils100((CoreSquare)/5), \
+ 0, \
+ 0, \
+ '"pin37" "37" "square,nopaste"]'
+ else:
+ # copper sub-square without resist
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ mm2mils100((CoreSquare)/5), \
+ 0, \
+ mm2mils100((CoreSquare)/5), \
+ '"pin37" "37" "square,nopaste"]'
+ # copper spot to control paste mask generation
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ mm2mils100(viacol * CoreSquare / 5), \
+ mm2mils100(viarow * CoreSquare / 5), \
+ 1500, \
+ 0, \
+ mm2mils100((CoreSquare)/5), \
+ '"pin37" "37" "square"]'
+
+# pins
+for pin in range (1,10):
+ print ' Pad[',\
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(-Overall/2 + PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (28-pin), '"%i"' % (28-pin), '0x0000]'
+
+ print ' Pad[',\
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(+Overall/2 - PinWidth/2), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % pin, '"%i"' % pin, '0x0000]'
+
+ print ' Pad[',\
+ mm2mils100(Overall/2 - PinHeight + PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(Overall/2 - PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (19-pin), '"%i"' % (19-pin), '0x0000]'
+
+ print ' Pad[',\
+ mm2mils100(-Overall/2 + PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+ mm2mils100(-2.5 + pin * PinSpacing), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (27+pin), '"%i"' % (27+pin), '0x0000]'
+
+print ' ElementArc[',\
+ mm2mils100(-2.6), \
+ mm2mils100(2.6), \
+ '500 500 0 360 1000 ]'
+print ")"
--- /dev/null
+Element["" "TestPoint" "" "unknown" 0 0 0 0 0 100 ""]
+(
+ Pin[0 0 3000 1200 4000 1500 "1" "1" ""]
+# ElementArc [0 0 6000 6000 0 360 1500]
+)
--- /dev/null
+v 20110115 2
+L 300 200 500 0 3 0 0 0 -1 -1
+T 400 700 5 10 0 0 0 0 1
+device=SPST
+P 500 0 800 0 1 0 1
+{
+T 650 50 5 8 1 1 0 0 1
+pinnumber=5
+T 650 50 5 8 0 0 0 0 1
+pinseq=2
+T 650 50 5 8 0 1 0 0 1
+pinlabel=2
+T 650 50 5 8 0 1 0 0 1
+pintype=pas
+}
+P 300 0 0 0 1 0 1
+{
+T 100 50 5 8 1 1 0 0 1
+pinnumber=4
+T 100 50 5 8 0 0 0 0 1
+pinseq=1
+T 100 50 5 8 0 1 0 0 1
+pinlabel=1
+T 100 50 5 8 0 1 0 0 1
+pintype=pas
+}
+T 300 700 8 10 1 1 0 0 1
+refdes=S?
+P 300 400 0 400 1 0 1
+{
+T 100 450 5 8 1 1 0 0 1
+pinnumber=1
+T 100 450 5 8 0 0 0 0 1
+pinseq=1
+T 100 450 5 8 0 1 0 0 1
+pinlabel=1
+T 100 450 5 8 0 1 0 0 1
+pintype=pas
+}
+P 500 400 800 400 1 0 1
+{
+T 650 450 5 8 1 1 0 0 1
+pinnumber=2
+T 650 450 5 8 0 0 0 0 1
+pinseq=2
+T 650 450 5 8 0 1 0 0 1
+pinlabel=2
+T 650 450 5 8 0 1 0 0 1
+pintype=pas
+}
+L 300 600 500 400 3 0 0 0 -1 -1
--- /dev/null
+v 20031231 1
+T 400 300 8 10 1 1 0 0 1
+refdes=S?
+P 0 0 150 0 1 0 0
+{
+T 50 50 5 8 1 1 0 0 1
+pinnumber=1
+T 50 50 5 8 0 0 0 0 1
+pinseq=1
+T 50 50 5 8 0 1 0 0 1
+pinlabel=1
+T 50 50 5 8 0 1 0 0 1
+pintype=pas
+}
+P 850 0 1000 0 1 0 1
+{
+T 900 50 5 8 1 1 0 0 1
+pinnumber=2
+T 900 50 5 8 0 0 0 0 1
+pinseq=2
+T 900 50 5 8 0 1 0 0 1
+pinlabel=2
+T 900 50 5 8 0 1 0 0 1
+pintype=pas
+}
+L 150 0 325 0 3 0 0 0 -1 -1
+L 850 0 675 0 3 0 0 0 -1 -1
+L 300 85 700 85 3 0 0 0 -1 -1
+V 339 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+V 662 0 14 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+L 470 255 520 255 3 0 0 0 -1 -1
+L 470 205 520 205 3 0 0 0 -1 -1
+L 470 205 495 155 3 0 0 0 -1 -1
+L 520 205 495 155 3 0 0 0 -1 -1
+L 495 205 495 255 3 0 0 0 -1 -1
+L 495 155 495 86 3 0 0 0 -1 -1
+T 400 600 8 10 0 0 0 0 1
+device=SWITCH_PUSHBUTTON_NO
--- /dev/null
+v 20110115 2
+T 6700 1300 8 10 1 1 0 6 1
+refdes=X?
+T 0 1050 5 10 0 0 0 0 1
+device=HD44780_con
+T 0 1250 5 10 0 0 0 0 1
+footprint=none
+T 0 1450 5 10 0 0 0 0 1
+numslots=0
+T 0 2650 5 10 0 0 0 0 1
+description=LCD-display connector for HD44780 and compatible display controllers
+P 200 0 200 300 1 0 0
+{
+T 150 200 5 8 1 1 90 6 1
+pinnumber=1
+T 250 200 5 8 0 1 90 8 1
+pinseq=1
+T 200 350 9 8 1 1 90 0 1
+pinlabel=XRESET
+T 200 350 5 8 0 2 90 2 1
+pintype=in
+}
+P 600 0 600 300 1 0 0
+{
+T 550 200 5 8 1 1 90 6 1
+pinnumber=2
+T 650 200 5 8 0 1 90 8 1
+pinseq=2
+T 600 350 9 8 1 1 90 0 1
+pinlabel=RS
+T 600 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 1400 0 1400 300 1 0 0
+{
+T 1350 200 5 8 1 1 90 6 1
+pinnumber=4
+T 1450 200 5 8 0 1 90 8 1
+pinseq=4
+T 1400 350 9 8 1 1 90 0 1
+pinlabel=E
+T 1400 350 5 8 0 1 90 2 1
+pintype=in
+}
+P 1000 0 1000 300 1 0 0
+{
+T 950 200 5 8 1 1 90 6 1
+pinnumber=3
+T 1050 200 5 8 0 1 90 8 1
+pinseq=3
+T 1000 350 9 8 1 1 90 0 1
+pinlabel=R/\_W\_
+T 1000 350 5 8 0 1 90 2 1
+pintype=in
+}
+P 2200 0 2200 300 1 0 0
+{
+T 2150 200 5 8 1 1 90 6 1
+pinnumber=6
+T 2250 200 5 8 0 1 90 8 1
+pinseq=6
+T 2200 350 9 8 1 1 90 0 1
+pinlabel=DB1
+T 2200 350 5 8 0 1 90 2 1
+pintype=in
+}
+P 2600 0 2600 300 1 0 0
+{
+T 2550 200 5 8 1 1 90 6 1
+pinnumber=7
+T 2650 200 5 8 0 1 90 8 1
+pinseq=7
+T 2600 350 9 8 1 1 90 0 1
+pinlabel=DB2
+T 2600 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 3000 0 3000 300 1 0 0
+{
+T 2950 200 5 8 1 1 90 6 1
+pinnumber=8
+T 3050 200 5 8 0 1 90 8 1
+pinseq=8
+T 3000 350 9 8 1 1 90 0 1
+pinlabel=DB3
+T 3000 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 3400 0 3400 300 1 0 0
+{
+T 3350 200 5 8 1 1 90 6 1
+pinnumber=9
+T 3450 200 5 8 0 1 90 8 1
+pinseq=9
+T 3400 350 9 8 1 1 90 0 1
+pinlabel=DB4
+T 3400 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 3800 0 3800 300 1 0 0
+{
+T 3750 200 5 8 1 1 90 6 1
+pinnumber=10
+T 3850 200 5 8 0 1 90 8 1
+pinseq=10
+T 3800 350 9 8 1 1 90 0 1
+pinlabel=DB5
+T 3800 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 4200 0 4200 300 1 0 0
+{
+T 4150 200 5 8 1 1 90 6 1
+pinnumber=11
+T 4250 200 5 8 0 1 90 8 1
+pinseq=11
+T 4200 350 9 8 1 1 90 0 1
+pinlabel=DB6
+T 4200 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 4600 0 4600 300 1 0 0
+{
+T 4550 200 5 8 1 1 90 6 1
+pinnumber=12
+T 4650 200 5 8 0 1 90 8 1
+pinseq=12
+T 4600 350 9 8 1 1 90 0 1
+pinlabel=DB7
+T 4600 350 5 8 0 1 90 2 1
+pintype=io
+}
+P 5000 0 5000 300 1 0 0
+{
+T 4950 200 5 8 1 1 90 6 1
+pinnumber=13
+T 5050 200 5 8 0 1 90 8 1
+pinseq=13
+T 5000 350 9 8 1 1 90 0 1
+pinlabel=VSS
+T 5000 350 5 8 0 1 90 2 1
+pintype=pwr
+}
+P 5400 0 5400 300 1 0 0
+{
+T 5350 200 5 8 1 1 90 6 1
+pinnumber=14
+T 5450 200 5 8 0 1 90 8 1
+pinseq=14
+T 5400 350 9 8 1 1 90 0 1
+pinlabel=VDD
+T 5400 350 5 8 0 1 90 2 1
+pintype=pwr
+}
+P 5800 0 5800 300 1 0 0
+{
+T 5750 200 5 8 1 1 90 6 1
+pinnumber=15
+T 5850 200 5 8 0 1 90 8 1
+pinseq=15
+T 5800 350 9 8 1 1 90 0 1
+pinlabel=VOUT
+T 5800 350 5 8 0 1 90 2 1
+pintype=pas
+}
+P 6200 0 6200 300 1 0 0
+{
+T 6150 200 5 8 1 1 90 6 1
+pinnumber=16
+T 6250 200 5 8 0 1 90 8 1
+pinseq=16
+T 6200 350 9 8 1 1 90 0 1
+pinlabel=CAP1P
+T 6200 350 5 8 0 1 90 2 1
+pintype=pas
+}
+B 0 300 6800 900 3 0 0 0 -1 -1 0 0 -1 -1 -1 -1
+T 0 1650 5 10 0 0 0 0 1
+symversion=0.1
+T 0 1850 5 10 0 0 0 0 1
+use-license=unlimited
+T 0 2050 5 10 0 0 0 0 1
+dist-license=GPL2
+T 0 2250 5 10 0 0 0 0 1
+author=Werner Hoch <werner.ho@gmx.de>
+T 0 2450 5 10 0 0 0 0 1
+documentation=http://www.sparkfun.com/datasheets/LCD/HD44780.pdf
+T 0 1250 9 10 1 0 0 0 1
+NHD 2x16 LCD Module
+P 6600 0 6600 300 1 0 0
+{
+T 6550 200 5 8 1 1 90 6 1
+pinnumber=17
+T 6650 200 5 8 0 1 90 8 1
+pinseq=16
+T 6600 350 9 8 1 1 90 0 1
+pinlabel=CAP1N
+T 6600 350 5 8 0 1 90 2 1
+pintype=pas
+}
+P 1800 0 1800 300 1 0 0
+{
+T 1750 200 5 8 1 1 90 6 1
+pinnumber=5
+T 1850 200 5 8 0 1 90 8 1
+pinseq=5
+T 1800 350 9 8 1 1 90 0 1
+pinlabel=DB0
+T 1800 350 5 8 0 1 90 2 1
+pintype=io
+}