symbol and footprint for Rayson BTM-182 Bluetooth(tm) module
authorBdale Garbee <bdale@gag.com>
Tue, 23 Apr 2013 23:43:12 +0000 (17:43 -0600)
committerBdale Garbee <bdale@gag.com>
Tue, 23 Apr 2013 23:43:12 +0000 (17:43 -0600)
packages/BTM182.py [new file with mode: 0755]
packages/Makefile
symbols/rayson/BTM-182.sym [new file with mode: 0644]

diff --git a/packages/BTM182.py b/packages/BTM182.py
new file mode 100755 (executable)
index 0000000..8c6c464
--- /dev/null
@@ -0,0 +1,137 @@
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for Rayson BTM-182 Bluetooth module
+#
+
+# dimensions in mm from BTM182\ DataSheet.pdf 
+
+BodyWidth = 14.50
+BodyHeight = 25.00
+
+PinWidth = 0.90
+PinHeight = 1.60
+PinSpacing = 1.27
+RowCenters = 14.50
+RowSpacing = RowCenters - PinHeight
+BodyOffset = 2.88
+
+SmallPinWidth = 1.20
+SmallPinHeight = 0.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 "BTM182" "" "" 0 0 -10161 -12011 0 100 0x0]'
+print "("
+for pin in range (0,15):
+    print '   Pad[',\
+       mm2mils100((pin-7) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinWidth/2)), \
+       mm2mils100((pin-7) * PinSpacing), \
+       mm2mils100(-(RowSpacing/2 + PinHeight - PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (30 - pin), '"%i"' % (30 - pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100((pin-7) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinWidth/2), \
+       mm2mils100((pin-7) * PinSpacing), \
+       mm2mils100(RowSpacing/2 + PinHeight - PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-(9.44+SmallPinWidth/2-SmallPinHeight)), \
+       mm2mils100(RowCenters/2 - 2.96), \
+       mm2mils100(-(9.44-SmallPinWidth/2+SmallPinHeight)), \
+       mm2mils100(RowCenters/2 - 2.96), \
+       mm2mils100(SmallPinHeight), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(SmallPinHeight)+600, \
+       '"pin%i"' % 31, '"%i"' % 31, '0x0100]'
+
+print '   Pad[',\
+       mm2mils100(-(9.44+SmallPinWidth/2-SmallPinHeight)), \
+       mm2mils100(RowCenters/2 - 1.69), \
+       mm2mils100(-(9.44-SmallPinWidth/2+SmallPinHeight)), \
+       mm2mils100(RowCenters/2 - 1.69), \
+       mm2mils100(SmallPinHeight), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(SmallPinHeight)+600, \
+       '"pin%i"' % 32, '"%i"' % 31, '0x0100]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2-BodyOffset), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13), \
+       mm2mils100( BodyWidth/2-3.595), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13), \
+       mm2mils100( BodyWidth/2-3.595), \
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13+0.76), \
+       mm2mils100( BodyWidth/2-3.595), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13+0.76), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13+0.76), \
+       mm2mils100( BodyWidth/2-3.595), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2-BodyOffset+5.13+0.76), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2-BodyOffset), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2-BodyOffset), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2-BodyOffset), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2-BodyOffset), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2-BodyOffset), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementArc[',\
+       mm2mils100(-7 * PinSpacing), \
+       mm2mils100(RowSpacing/2-PinHeight/6), \
+       '500 500 0 360 1000 ]'
+
+print ")"
index 194e7d20a886fa3b8a77a9bb64adc4bd76a5bdc2..d78e4c40303ddc70ab703212b841aab35d407dbe 100644 (file)
@@ -33,7 +33,8 @@ FOOTPRINTS= \
        8ufson2x2.fp \
        ti-qfn20.fp \
        qfn-16.fp \
-       ap.10g.fp
+       ap.10g.fp \
+       BTM182.fp
 
 .5c.fp:
        nickle $*.5c > $@
diff --git a/symbols/rayson/BTM-182.sym b/symbols/rayson/BTM-182.sym
new file mode 100644 (file)
index 0000000..c4485be
--- /dev/null
@@ -0,0 +1,360 @@
+v 20100214 2
+P 0 1500 400 1500 1 0 0
+{
+T 305 1545 5 10 1 1 0 6 1
+pinnumber=19
+T 505 1495 3 10 1 1 0 0 1
+pinlabel=SPI_MISO
+T 0 1500 5 10 0 1 0 6 1
+pinseq=24
+T 0 1500 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 1900 400 1900 1 0 0
+{
+T 305 1945 5 10 1 1 0 6 1
+pinnumber=18
+T 505 1895 3 10 1 1 0 0 1
+pinlabel=SPI_CSB
+T 0 1900 5 10 0 1 0 6 1
+pinseq=23
+T 0 1900 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 2300 400 2300 1 0 0
+{
+T 305 2345 5 10 1 1 0 6 1
+pinnumber=17
+T 505 2295 3 10 1 1 0 0 1
+pinlabel=SPI_MOSI
+T 0 2300 5 10 0 1 0 6 1
+pinseq=22
+T 0 2300 5 10 0 1 0 6 1
+pintype=io
+}
+P 5000 3900 4600 3900 1 0 0
+{
+T 4700 4000 5 10 1 1 0 0 1
+pinnumber=23
+T 4075 3900 3 10 1 1 0 0 1
+pinlabel=PIO6
+T 5000 3900 5 10 0 1 0 0 1
+pinseq=28
+T 5000 3900 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 3500 4600 3500 1 0 0
+{
+T 4700 3600 5 10 1 1 0 0 1
+pinnumber=22
+T 4075 3500 3 10 1 1 0 0 1
+pinlabel=PIO7
+T 5000 3500 5 10 0 1 0 0 1
+pinseq=27
+T 5000 3500 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 7100 400 7100 1 0 0
+{
+T 305 7145 5 10 1 1 0 6 1
+pinnumber=21
+T 505 7095 3 10 1 1 0 0 1
+pinlabel=RESETB
+T 0 7100 5 10 0 1 0 6 1
+pinseq=26
+T 0 7100 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 1100 400 1100 1 0 0
+{
+T 305 1145 5 10 1 1 0 6 1
+pinnumber=20
+T 505 1095 3 10 1 1 0 0 1
+pinlabel=SPI_CLK
+T 0 1100 5 10 0 1 0 6 1
+pinseq=25
+T 0 1100 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 3500 400 3500 1 0 0
+{
+T 100 3600 5 10 1 1 0 0 1
+pinnumber=10
+T 500 3500 3 10 1 1 0 0 1
+pinlabel=UART_RX
+T -400 3600 5 10 0 1 0 0 1
+pinseq=1
+T 0 3500 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 3100 400 3100 1 0 0
+{
+T 100 3200 5 10 1 1 0 0 1
+pinnumber=11
+T 500 3100 3 10 1 1 0 0 1
+pinlabel=UART_RTS
+T -400 3200 5 10 0 1 0 0 1
+pinseq=2
+T 0 3100 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 1100 4600 1100 1 0 0
+{
+T 4695 1145 5 10 1 1 0 0 1
+pinnumber=12
+T 4495 1095 3 10 1 1 0 6 1
+pinlabel=USB_DP
+T 5400 1200 5 10 0 1 0 6 1
+pinseq=3
+T 5000 1100 5 10 0 1 0 6 1
+pintype=io
+}
+P 5000 700 4600 700 1 0 0
+{
+T 4695 745 5 10 1 1 0 0 1
+pinnumber=13
+T 4495 695 3 10 1 1 0 6 1
+pinlabel=USB_DN
+T 5400 800 5 10 0 1 0 6 1
+pinseq=4
+T 5000 700 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 7500 400 7500 1 0 0
+{
+T 100 7600 5 10 1 1 0 0 1
+pinnumber=14
+T 525 7500 3 10 1 1 0 0 1
+pinlabel=VDD
+T -400 7600 5 10 0 1 0 0 1
+pinseq=5
+T 0 7500 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 300 400 300 1 0 0
+{
+T 100 400 5 10 1 1 0 0 1
+pinnumber=15
+T 500 300 3 10 1 1 0 0 1
+pinlabel=GND
+T -400 400 5 10 0 1 0 0 1
+pinseq=6
+T 0 300 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 300 4600 300 1 0 0
+{
+T 4695 345 5 10 1 1 0 0 1
+pinnumber=16
+T 4495 295 3 10 1 1 0 6 1
+pinlabel=VDD_USB
+T 5400 400 5 10 0 1 0 6 1
+pinseq=7
+T 5000 300 5 10 0 1 0 6 1
+pintype=io
+}
+B 400 0 4200 8100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 400 8200 8 10 1 1 0 0 1
+refdes=U?
+T 5400 1400 8 10 0 0 0 0 1
+numslots=0
+T 5400 1700 8 10 0 0 0 0 1
+slot=1
+P 5000 4300 4600 4300 1 0 0
+{
+T 4700 4400 5 10 1 1 0 0 1
+pinnumber=24
+T 4075 4300 3 10 1 1 0 0 1
+pinlabel=PIO5
+T 5000 4300 5 10 0 1 0 0 1
+pinseq=20
+T 5000 4300 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 5000 3100 4600 3100 1 0 0
+{
+T 4700 3200 5 10 1 1 0 0 1
+pinnumber=28
+T 4075 3100 3 10 1 1 0 0 1
+pinlabel=PIO8
+T 5000 3100 5 10 0 1 0 0 1
+pinseq=24
+T 5000 3100 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 5500 4600 5500 1 0 0
+{
+T 4700 5600 5 10 1 1 0 0 1
+pinnumber=27
+T 4075 5500 3 10 1 1 0 0 1
+pinlabel=PIO2
+T 5000 5500 5 10 0 1 0 0 1
+pinseq=23
+T 5000 5500 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 5100 4600 5100 1 0 0
+{
+T 4700 5200 5 10 1 1 0 0 1
+pinnumber=26
+T 4075 5100 3 10 1 1 0 0 1
+pinlabel=PIO3
+T 5000 5100 5 10 0 1 0 0 1
+pinseq=22
+T 5000 5100 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 4700 4600 4700 1 0 0
+{
+T 4700 4800 5 10 1 1 0 0 1
+pinnumber=25
+T 4075 4700 3 10 1 1 0 0 1
+pinlabel=PIO4
+T 5000 4700 5 10 0 1 0 0 1
+pinseq=21
+T 5000 4700 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 5900 4600 5900 1 0 0
+{
+T 4700 6000 5 10 1 1 0 0 1
+pinnumber=32
+T 4075 5900 3 10 1 1 0 0 1
+pinlabel=PIO1
+T 5000 5900 5 10 0 1 0 0 1
+pinseq=28
+T 5000 5900 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 6300 4600 6300 1 0 0
+{
+T 4700 6400 5 10 1 1 0 0 1
+pinnumber=31
+T 4075 6300 3 10 1 1 0 0 1
+pinlabel=PIO0
+T 5000 6300 5 10 0 1 0 0 1
+pinseq=27
+T 5000 6300 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 2300 4600 2300 1 0 0
+{
+T 4700 2400 5 10 1 1 0 0 1
+pinnumber=30
+T 3975 2300 3 10 1 1 0 0 1
+pinlabel=PIO10
+T 5000 2300 5 10 0 1 0 0 1
+pinseq=26
+T 5000 2300 5 10 0 1 0 0 1
+pintype=io
+}
+P 5000 2700 4600 2700 1 0 0
+{
+T 4700 2800 5 10 1 1 0 0 1
+pinnumber=29
+T 4075 2700 3 10 1 1 0 0 1
+pinlabel=PIO9
+T 5000 2700 5 10 0 1 0 0 1
+pinseq=25
+T 5000 2700 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 3900 400 3900 1 0 0
+{
+T 200 4000 5 10 1 1 0 0 1
+pinnumber=9
+T 500 3900 3 10 1 1 0 0 1
+pinlabel=UART_TX
+T -400 4000 5 10 0 1 0 0 1
+pinseq=9
+T 0 3900 5 10 0 1 0 0 1
+pintype=in
+}
+P 0 4300 400 4300 1 0 0
+{
+T 200 4400 5 10 1 1 0 0 1
+pinnumber=8
+T 500 4300 3 10 1 1 0 0 1
+pinlabel=UART_CTS
+T 200 4400 5 10 1 1 0 0 1
+pinseq=8
+T 0 4300 5 10 0 1 0 0 1
+pintype=pwr
+}
+P 5000 1900 4600 1900 1 0 0
+{
+T 4695 1945 5 10 1 1 0 0 1
+pinnumber=1
+T 4495 1895 3 10 1 1 0 6 1
+pinlabel=PIO11
+T 5400 1800 5 10 0 1 180 0 1
+pinseq=1
+T 5000 1900 5 10 0 1 180 0 1
+pintype=in
+}
+P 5000 7500 4600 7500 1 0 0
+{
+T 4695 7545 5 10 1 1 0 0 1
+pinnumber=2
+T 4495 7495 3 10 1 1 0 6 1
+pinlabel=AIO0
+T 5400 7600 5 10 0 1 0 6 1
+pinseq=2
+T 5000 7500 5 10 0 1 0 6 1
+pintype=io
+}
+P 5000 7100 4600 7100 1 0 0
+{
+T 4695 7145 5 10 1 1 0 0 1
+pinnumber=3
+T 4495 7095 3 10 1 1 0 6 1
+pinlabel=AIO1
+T 5400 7200 5 10 0 1 0 6 1
+pinseq=3
+T 5000 7100 5 10 0 1 0 6 1
+pintype=io
+}
+P 0 6300 400 6300 1 0 0
+{
+T 305 6345 5 10 1 1 0 6 1
+pinnumber=4
+T 505 6295 3 10 1 1 0 0 1
+pinlabel=PCM_OUT
+T -400 6400 5 10 0 1 0 0 1
+pinseq=4
+T 0 6300 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 5900 400 5900 1 0 0
+{
+T 305 5945 5 10 1 1 0 6 1
+pinnumber=5
+T 505 5895 3 10 1 1 0 0 1
+pinlabel=PCM_CLK
+T -400 6000 5 10 0 1 0 0 1
+pinseq=5
+T 0 5900 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 5500 400 5500 1 0 0
+{
+T 305 5545 5 10 1 1 0 6 1
+pinnumber=6
+T 505 5495 3 10 1 1 0 0 1
+pinlabel=PCM_SYNC
+T -400 5600 5 10 0 1 0 0 1
+pinseq=6
+T 0 5500 5 10 0 1 0 0 1
+pintype=io
+}
+P 0 5100 400 5100 1 0 0
+{
+T 305 5145 5 10 1 1 0 6 1
+pinnumber=7
+T 505 5095 3 10 1 1 0 0 1
+pinlabel=PCM_IN
+T -400 5200 5 10 0 1 0 0 1
+pinseq=7
+T 0 5100 5 10 0 1 0 0 1
+pintype=io
+}