From: Bdale Garbee Date: Fri, 4 Nov 2016 15:22:16 +0000 (-0600) Subject: new symbol and footprint for MPU-9250 from Invensense X-Git-Tag: telelco-v3.0~608 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=5714f8d826e0ec3963853390c80fc66a183bd4e6;p=hw%2Faltusmetrum new symbol and footprint for MPU-9250 from Invensense --- diff --git a/packages/MPU9250.py b/packages/MPU9250.py new file mode 100755 index 0000000..d1efce7 --- /dev/null +++ b/packages/MPU9250.py @@ -0,0 +1,74 @@ +#!/usr/bin/python +# Copyright 2016 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for 3x3x1mm QFN24 package used by MPU-9250 +# + +# dimensions in mm from Invensense MPU-9250-Datasheet.pdf +PinWidth = 0.20 +PinResist = PinWidth + (2 * 0.07) +PinHeight = 0.30 +PinSpacing = 0.40 +Overall = 3.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 "ITG3200" "" "" 0 0 0 0 0 100 0x0]' +print "(" + +# pins +for pin in range (1,7): + print ' Pad[',\ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (19-pin), '"%i"' % (19-pin), '0x0100]' + + print ' Pad[',\ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(+Overall/2 - PinWidth/2), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % pin, '"%i"' % pin, '0x0100]' + + print ' Pad[',\ + mm2mils100(Overall/2 - PinHeight + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(Overall/2 - PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (13-pin), '"%i"' % (13-pin), '0x0100]' + + print ' Pad[',\ + mm2mils100(-Overall/2 + PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \ + mm2mils100((-3.5 + pin) * PinSpacing), \ + mm2mils100(PinWidth), \ + mm2mils100(PinSpacing - PinWidth), \ + mm2mils100(PinResist), \ + '"pin%i"' % (18+pin), '"%i"' % (18+pin), '0x0100]' + +print ' ElementArc[',\ + mm2mils100(-(Overall/2)), \ + mm2mils100(Overall/2), \ + '500 500 0 360 1000 ]' +print ")" diff --git a/packages/Makefile b/packages/Makefile index cedc46c..76e8fe0 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -33,6 +33,7 @@ FOOTPRINTS= \ lqfp100.fp \ LPCC16.fp \ MPU6000.fp \ + MPU9250.fp \ UBLOX-MAX.fp \ TI-QFN32.fp \ TI-QFN36.fp \ diff --git a/symbols/invensense/MPU9250.sym b/symbols/invensense/MPU9250.sym new file mode 100644 index 0000000..c231f10 --- /dev/null +++ b/symbols/invensense/MPU9250.sym @@ -0,0 +1,162 @@ +v 20130925 2 +P 0 3000 300 3000 1 0 0 +{ +T 0 3000 5 10 0 0 0 0 1 +pintype=pwr +T 355 2995 5 10 1 1 0 0 1 +pinlabel=VDD +T 205 3045 5 10 1 1 0 6 1 +pinnumber=13 +T 0 3000 5 10 0 0 0 0 1 +pinseq=13 +} +P 2700 200 2400 200 1 0 0 +{ +T 2700 200 5 10 0 0 0 0 1 +pintype=io +T 2345 195 5 10 1 1 0 6 1 +pinlabel=SDA/SDI +T 2495 245 5 10 1 1 0 0 1 +pinnumber=24 +T 2700 200 5 10 0 0 0 0 1 +pinseq=24 +} +B 300 0 2100 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +T 1295 2195 8 10 0 1 0 0 1 +device=IC +T 295 3395 8 10 1 1 0 0 1 +refdes=U? +P 2700 2600 2400 2600 1 0 0 +{ +T 2700 2600 5 10 0 0 0 6 1 +pintype=in +T 2345 2595 5 10 1 1 0 6 1 +pinlabel=FSYNC +T 2495 2645 5 10 1 1 0 0 1 +pinnumber=11 +T 2700 2600 5 10 0 0 0 6 1 +pinseq=11 +} +P 2700 1400 2400 1400 1 0 0 +{ +T 2700 1400 5 10 0 0 0 6 1 +pintype=in +T 2345 1395 5 10 1 1 0 6 1 +pinlabel=nCS +T 2495 1445 5 10 1 1 0 0 1 +pinnumber=22 +T 2700 1400 5 10 0 0 0 6 1 +pinseq=22 +} +P 2700 600 2400 600 1 0 0 +{ +T 2700 600 5 10 0 0 0 0 1 +pintype=in +T 2345 595 5 10 1 1 0 6 1 +pinlabel=SCL/SCLK +T 2495 645 5 10 1 1 0 0 1 +pinnumber=23 +T 2700 600 5 10 0 0 0 0 1 +pinseq=23 +} +P 2700 2200 2400 2200 1 0 0 +{ +T 2700 2200 5 10 0 0 0 0 1 +pintype=out +T 2345 2195 5 10 1 1 0 6 1 +pinlabel=INT +T 2495 2245 5 10 1 1 0 0 1 +pinnumber=12 +T 2700 2200 5 10 0 0 0 0 1 +pinseq=12 +} +P 2700 1000 2400 1000 1 0 0 +{ +T 2700 1000 5 10 0 0 0 0 1 +pintype=io +T 2345 995 5 10 1 1 0 6 1 +pinlabel=AD0/SDO +T 2495 1045 5 10 1 1 0 0 1 +pinnumber=9 +T 2700 1000 5 10 0 0 0 0 1 +pinseq=9 +} +P 0 200 300 200 1 0 0 +{ +T 0 200 5 10 0 0 0 0 1 +pintype=pwr +T 355 195 5 10 1 1 0 0 1 +pinlabel=GND +T 205 245 5 10 1 1 0 6 1 +pinnumber=18 +T 0 200 5 10 0 0 0 0 1 +pinseq=18 +} +P 2700 3000 2400 3000 1 0 0 +{ +T 2700 3000 5 10 0 0 0 0 1 +pintype=in +T 2345 2995 5 10 1 1 0 6 1 +pinlabel=RESV +T 2495 3045 5 10 1 1 0 0 1 +pinnumber=1 +T 2700 3000 5 10 0 0 0 0 1 +pinseq=1 +} +T 1495 3395 8 10 1 1 0 0 1 +value=MPU-9250 +P 0 2200 300 2200 1 0 0 +{ +T 0 2200 5 10 0 0 0 0 1 +pintype=pwr +T 355 2195 5 10 1 1 0 0 1 +pinlabel=REGOUT +T 205 2245 5 10 1 1 0 6 1 +pinnumber=10 +T 0 2200 5 10 0 0 0 0 1 +pinseq=10 +} +P 0 1800 300 1800 1 0 0 +{ +T 0 1800 5 10 0 0 0 0 1 +pintype=pwr +T 355 1795 5 10 1 1 0 0 1 +pinlabel=RESV +T 205 1845 5 10 1 1 0 6 1 +pinnumber=20 +T 0 1800 5 10 0 0 0 0 1 +pinseq=20 +} +P 0 1400 300 1400 1 0 0 +{ +T 0 1400 5 10 0 0 0 6 1 +pintype=io +T 355 1395 5 10 1 1 0 0 1 +pinlabel=AUX_DA +T 205 1445 5 10 1 1 0 6 1 +pinnumber=21 +T 0 1400 5 10 0 0 0 6 1 +pinseq=21 +} +P 0 1000 300 1000 1 0 0 +{ +T 0 1000 5 10 0 0 0 6 1 +pintype=out +T 355 995 5 10 1 1 0 0 1 +pinlabel=AUX_CL +T 205 1045 5 10 1 1 0 6 1 +pinnumber=7 +T 0 1000 5 10 0 0 0 6 1 +pinseq=7 +} +P 0 2600 300 2600 1 0 0 +{ +T 0 2600 5 10 0 0 0 0 1 +pintype=pwr +T 355 2595 5 10 1 1 0 0 1 +pinlabel=VDDIO +T 205 2645 5 10 1 1 0 6 1 +pinnumber=8 +T 0 2600 5 10 0 0 0 0 1 +pinseq=8 +}