PCB["MicroPeak" 70000 56000]
Grid[100.0 0 0 0]
-Cursor[0 0 0.000000]
+Cursor[2900 0 0.000000]
PolyArea[200000000.000000]
Thermal[0.500000]
DRC[500 1000 500 500 1500 650]
SymbolLine[2000 3500 2500 3000 800]
)
Attribute("PCB::grid::unit" "mil")
-Via[51300 33000 3600 2000 0 2000 "" "thermal(1X)"]
-Via[51300 37600 3600 2000 0 2000 "" "thermal(1X)"]
+Via[55800 32000 3600 2000 0 2000 "" "thermal(1S)"]
+Via[55800 38600 3600 2000 0 2000 "" "thermal(1S)"]
Via[51900 4200 3600 2000 0 2000 "" "thermal(1S)"]
Via[39900 12200 3600 2000 0 2000 "" ""]
Via[37000 18400 3600 2000 0 2000 "" ""]
Via[26500 15100 3600 2000 0 2000 "" "thermal(1S)"]
Via[32400 48100 3600 2000 0 2000 "" "thermal(1S)"]
Via[49500 22500 3600 2000 0 2000 "" ""]
-Via[46600 46500 3600 2000 0 2000 "" ""]
Via[21200 30300 3600 2000 0 2000 "" "thermal(1S)"]
+Via[49200 38600 3600 2000 0 2000 "" "thermal(1S)"]
+Via[49200 32000 3600 2000 0 2000 "" "thermal(1S)"]
+Via[50200 45600 3600 2000 0 2000 "" ""]
Element["" "0603diode" "D1" "red" 35000 52500 -11800 -3000 0 100 ""]
(
)
-Element["" "hole-M2.5" "H1" "unknown" 62500 48500 -16900 -21000 0 100 ""]
+Element["" "hole-M2.5" "H1" "unknown" 62500 48500 -2500 -3200 0 100 ""]
(
Pin[0 0 11000 2000 11000 9800 "1" "1" "usetherm,thermal(1S)"]
ElementArc [0 0 7000 7000 0 360 1000]
)
-Element["" "0402" "C1" "0.1uF" 34974 28100 -9198 -3298 0 100 ""]
+Element["" "0402" "C1" "0.1uF" 39874 28100 -9198 -3298 0 100 ""]
(
Pad[-1574 -393 -1574 393 1968 2000 2568 "1" "1" "square"]
Pad[1574 -393 1574 393 1968 2000 2568 "2" "2" "square"]
)
-Element["" "QFN20_4" "U1" "unknown" 49000 35300 -9358 -16308 0 100 ""]
-(
- Pad[-3937 5866 -3937 8307 1102 2000 1402 "(PCINT5/nRESET/ADC0/dW) PB5" "1" "square,edge2"]
- Pad[-1968 5866 -1968 8307 1102 2000 1402 "(PCINT3/XTAL1/CLKI/nOC1B/ADC3) PB3" "2" "square,edge2"]
- Pad[0 5866 0 8307 1102 2000 1402 "3" "3" "square,edge2"]
- Pad[1968 5866 1968 8307 1102 2000 1402 "4" "4" "square,edge2"]
- Pad[3937 5866 3937 8307 1102 2000 1402 "(PCINT4/XTAL2/CLK)/OC1B/ADC2) PB4" "5" "square,edge2"]
- Pad[5866 3937 8307 3937 1102 2000 1402 "6" "6" "square,octagon,edge2"]
- Pad[5866 1968 8307 1968 1102 2000 1402 "7" "7" "square,octagon,edge2"]
- Pad[5866 0 8307 0 1102 2000 1402 "GND" "8" "square,octagon,edge2"]
- Pad[5866 -1968 8307 -1968 1102 2000 1402 "9" "9" "square,octagon,edge2"]
- Pad[5866 -3937 8307 -3937 1102 2000 1402 "10" "10" "square,octagon,edge2"]
- Pad[3937 -8307 3937 -5866 1102 2000 1402 "(MOSI/DI/SDA/AIN0/OC0A/nOC1A/AREF/PCINT0) PB0" "11" "square"]
- Pad[1968 -8307 1968 -5866 1102 2000 1402 "(MISO/DO/AIN1/OC0B/OC1A/PCINT1) PB1" "12" "square"]
- Pad[0 -8307 0 -5866 1102 2000 1402 "13" "13" "square"]
- Pad[-1968 -8307 -1968 -5866 1102 2000 1402 "(SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) PB2" "14" "square"]
- Pad[-3937 -8307 -3937 -5866 1102 2000 1402 "VCC" "15" "square"]
- Pad[-8307 -3937 -5866 -3937 1102 2000 1402 "16" "16" "square,octagon"]
- Pad[-8307 -1968 -5866 -1968 1102 2000 1402 "17" "17" "square,octagon"]
- Pad[-8307 0 -5866 0 1102 2000 1402 "18" "18" "square,octagon"]
- Pad[-8307 1968 -5866 1968 1102 2000 1402 "19" "19" "square,octagon"]
- Pad[-8307 3937 -5866 3937 1102 2000 1402 "20" "20" "square,octagon"]
- Pad[0 0 0 0 10236 1000 10736 "GND Exposed" "21" "square,octagon,edge2"]
- ElementLine [-9858 -9858 9858 -9858 1000]
- ElementLine [-9858 -9858 -9858 9858 1000]
- ElementLine [-9858 9858 9858 9858 1000]
- ElementLine [9858 -9858 9858 9858 1000]
- ElementLine [-9858 9858 -11358 11358 1000]
-
- )
-
Element["" "MS5611" "U2" "unknown" 51900 12200 -16961 -10811 0 100 ""]
(
Pad[7381 3345 7381 5314 2362 2559 2962 "SCLK" "8" "square,edge2"]
ElementLine [-17000 -11000 -17000 -6000 100]
ElementLine [-17000 -11000 1000 -11000 100]
+ )
+
+Element["" "MO-220" "U1" "unknown" 52500 35300 -10300 -11000 0 100 ""]
+(
+ Pad[0 0 0 0 10236 0 0 "pin21" "21" "square,nopaste"]
+ Pad[-3411 -3411 -3411 -3411 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[0 -3411 0 -3411 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[0 -3411 0 -3411 1500 0 3412 "pin21" "21" "square"]
+ Pad[3412 -3411 3412 -3411 3412 0 0 "pin21" "21" "square,edge2,nopaste"]
+ Pad[-3411 0 -3411 0 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[-3411 0 -3411 0 1500 0 3412 "pin21" "21" "square"]
+ Pad[0 0 0 0 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[0 0 0 0 1500 0 3412 "pin21" "21" "square"]
+ Pad[3412 0 3412 0 3412 0 3412 "pin21" "21" "square,edge2,nopaste"]
+ Pad[3412 0 3412 0 1500 0 3412 "pin21" "21" "square,edge2"]
+ Pad[-3411 3412 -3411 3412 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[0 3412 0 3412 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[0 3412 0 3412 1500 0 3412 "pin21" "21" "square"]
+ Pad[3412 3412 3412 3412 3412 0 0 "pin21" "21" "square,edge2,nopaste"]
+ Pad[-3936 -7912 -3936 -6653 906 1063 1457 "pin15" "15" ""]
+ Pad[-3936 6654 -3936 7913 906 1063 1457 "pin1" "1" "edge2"]
+ Pad[6654 -3936 7913 -3936 906 1063 1457 "pin10" "10" "edge2"]
+ Pad[-7912 -3936 -6653 -3936 906 1063 1457 "pin16" "16" ""]
+ Pad[-1968 -7912 -1968 -6653 906 1063 1457 "pin14" "14" ""]
+ Pad[-1968 6654 -1968 7913 906 1063 1457 "pin2" "2" "edge2"]
+ Pad[6654 -1968 7913 -1968 906 1063 1457 "pin9" "9" "edge2"]
+ Pad[-7912 -1968 -6653 -1968 906 1063 1457 "pin17" "17" ""]
+ Pad[0 -7912 0 -6653 906 1063 1457 "pin13" "13" ""]
+ Pad[0 6654 0 7913 906 1063 1457 "pin3" "3" "edge2"]
+ Pad[6654 0 7913 0 906 1063 1457 "pin8" "8" "edge2"]
+ Pad[-7912 0 -6653 0 906 1063 1457 "pin18" "18" ""]
+ Pad[1969 -7912 1969 -6653 906 1063 1457 "pin12" "12" ""]
+ Pad[1969 6654 1969 7913 906 1063 1457 "pin4" "4" "edge2"]
+ Pad[6654 1969 7913 1969 906 1063 1457 "pin7" "7" "edge2"]
+ Pad[-7912 1969 -6653 1969 906 1063 1457 "pin19" "19" ""]
+ Pad[3937 -7912 3937 -6653 906 1063 1457 "pin11" "11" ""]
+ Pad[3937 6654 3937 7913 906 1063 1457 "pin5" "5" "edge2"]
+ Pad[6654 3937 7913 3937 906 1063 1457 "pin6" "6" "edge2"]
+ Pad[-7912 3937 -6653 3937 906 1063 1457 "pin20" "20" ""]
+ ElementArc [-7873 7874 500 500 0 360 1000]
+
)
Layer(1 "top")
(
Line[32441 52500 32441 48141 1000 2000 ""]
Line[32441 48141 32400 48100 1000 2000 ""]
Line[37559 52500 41326 52500 1000 2000 ""]
- Line[50968 28214 50968 25032 1000 2000 "clearline"]
- Line[50968 25032 52400 23600 1000 2000 "clearline"]
- Line[52400 23600 52400 21300 1000 2000 "clearline"]
- Line[49439 16530 49439 18339 1000 2000 "clearline"]
- Line[52400 21300 49439 18339 1000 2000 "clearline"]
- Line[54360 16530 54360 24140 1000 2000 "clearline"]
- Line[54360 24140 53000 25500 1000 2000 "clearline"]
- Line[53000 25500 53000 28150 1000 2000 "clearline"]
- Line[53000 28150 52937 28214 1000 2000 "clearline"]
- Line[56086 35300 58800 35300 1000 2000 "clearline"]
- Line[58800 35300 62500 39000 1000 2000 "clearline"]
- Line[62500 39000 62500 48500 1000 2000 "clearline"]
- Line[47032 28214 47032 24968 1000 2000 "clearline"]
- Line[47032 24968 49500 22500 1000 2000 "clearline"]
- Line[47032 42386 47032 46068 1000 2000 "clearline"]
- Line[47032 46068 46600 46500 1000 2000 "clearline"]
- Line[44474 52500 45400 52500 1000 2000 "clearline"]
- Line[45400 52500 52900 45000 1000 2000 "clearline"]
- Line[52900 45000 52900 42424 1000 2000 "clearline"]
- Line[52900 42424 52937 42386 1000 2000 "clearline"]
- Line[45063 28214 45063 26463 1000 2000 "clearline"]
- Line[45063 26463 37000 18400 1000 2000 "clearline"]
- Line[45063 42386 39786 42386 1000 2000 "clearline"]
- Line[36548 28100 45063 28100 1000 2000 "clearline"]
- Line[26500 15100 26500 23100 1000 2000 "clearline"]
- Line[26500 23100 31500 28100 1000 2000 "clearline"]
- Line[31500 28100 33400 28100 1000 2000 "clearline"]
Line[17100 30362 21138 30362 1000 2000 "clearline"]
Line[21138 30362 21200 30300 1000 2000 "clearline"]
- Line[39814 42386 39786 42386 1000 2000 "clearline"]
- Line[39786 42386 23000 25600 1000 2000 "clearline"]
Line[23000 25600 17138 25600 1000 2000 "clearline"]
Line[17138 25600 17100 25638 1000 2000 "clearline"]
+ Line[56437 28018 56437 21837 1000 2000 "clearline"]
+ Line[56437 21837 54400 19800 1000 2000 "clearline"]
+ Line[54400 19800 54400 16570 1000 2000 "clearline"]
+ Line[54400 16570 54360 16530 1000 2000 "clearline"]
+ Line[54469 28018 54469 23269 1000 2000 "clearline"]
+ Line[54469 23269 49500 18300 1000 2000 "clearline"]
+ Line[49500 18300 49500 16590 1000 2000 "clearline"]
+ Line[49500 16590 49439 16530 1000 2000 "clearline"]
+ Line[50532 28018 50532 23532 1000 2000 "clearline"]
+ Line[50532 23532 49500 22500 1000 2000 "clearline"]
+ Line[48564 42584 39984 42584 1000 2000 "clearline"]
+ Line[39984 42584 23000 25600 1000 2000 "clearline"]
+ Line[56437 42584 56437 43463 1000 2000 "clearline"]
+ Line[56437 43463 47400 52500 1000 2000 "clearline"]
+ Line[47400 52500 44474 52500 1000 2000 "clearline"]
+ Line[50532 42584 50532 45268 1000 2000 "clearline"]
+ Line[50532 45268 50200 45600 1000 2000 "clearline"]
+ Line[62500 48500 62500 36100 1000 2000 "clearline"]
+ Line[62500 36100 61700 35300 1000 2000 "clearline"]
+ Line[61700 35300 59784 35300 1000 2000 "clearline"]
+ Line[41448 28100 48482 28100 1000 2000 "clearline"]
+ Line[48482 28100 48564 28018 1000 2000 "clearline"]
+ Line[48564 28018 46618 28018 1000 2000 "clearline"]
+ Line[46618 28018 37000 18400 1000 2000 "clearline"]
+ Line[38300 28100 36500 28100 1000 2000 "clearline"]
+ Line[36500 28100 26500 18100 1000 2000 "clearline"]
+ Line[26500 18100 26500 15100 1000 2000 "clearline"]
)
Layer(2 "bottom")
(
Line[55900 28000 55600 27700 2500 2000 ""]
Line[39900 12200 39900 13400 1000 2000 "clearline"]
Line[39900 13400 46600 20100 1000 2000 "clearline"]
- Line[46600 20100 46600 46500 1000 2000 "clearline"]
Line[63600 42000 63600 18300 2500 2000 ""]
Line[49500 22500 54500 22500 1000 2000 "clearline"]
Line[54500 22500 64800 12200 1000 2000 "clearline"]
Line[37000 18400 37000 23200 2500 2000 "clearline"]
+ Line[46600 20100 46600 42000 1000 2000 "clearline"]
+ Line[46600 42000 50200 45600 1000 2000 "clearline"]
Polygon("clearpoly")
(
[500 500] [69500 500] [69500 55500] [500 55500]
--- /dev/null
+# author: Keith Packard
+# email: keithp@keithp.com
+# dist-license: GPL 2
+# use-license: unlimited
+Element[0x0 "MO-220" "" "" 0 0 0 0 0 100 0x0]
+(
+ Pad[ 0 0 0 0 10236 0 0 "pin21" "21" "square,nopaste"]
+ Pad[ -3411 -3411 -3411 -3411 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[ 0 -3411 0 -3411 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[ 0 -3411 0 -3411 1500 0 3412 "pin21" "21" "square"]
+ Pad[ 3412 -3411 3412 -3411 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[ -3411 0 -3411 0 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[ -3411 0 -3411 0 1500 0 3412 "pin21" "21" "square"]
+ Pad[ 0 0 0 0 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[ 0 0 0 0 1500 0 3412 "pin21" "21" "square"]
+ Pad[ 3412 0 3412 0 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[ 3412 0 3412 0 1500 0 3412 "pin21" "21" "square"]
+ Pad[ -3411 3412 -3411 3412 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[ 0 3412 0 3412 3412 0 3412 "pin21" "21" "square,nopaste"]
+ Pad[ 0 3412 0 3412 1500 0 3412 "pin21" "21" "square"]
+ Pad[ 3412 3412 3412 3412 3412 0 0 "pin21" "21" "square,nopaste"]
+ Pad[ -3936 -7912 -3936 -6653 906 1063 1457 "pin15" "15" 0x0000]
+ Pad[ -3936 6654 -3936 7913 906 1063 1457 "pin1" "1" 0x0000]
+ Pad[ 6654 -3936 7913 -3936 906 1063 1457 "pin10" "10" 0x0000]
+ Pad[ -7912 -3936 -6653 -3936 906 1063 1457 "pin16" "16" 0x0000]
+ Pad[ -1968 -7912 -1968 -6653 906 1063 1457 "pin14" "14" 0x0000]
+ Pad[ -1968 6654 -1968 7913 906 1063 1457 "pin2" "2" 0x0000]
+ Pad[ 6654 -1968 7913 -1968 906 1063 1457 "pin9" "9" 0x0000]
+ Pad[ -7912 -1968 -6653 -1968 906 1063 1457 "pin17" "17" 0x0000]
+ Pad[ 0 -7912 0 -6653 906 1063 1457 "pin13" "13" 0x0000]
+ Pad[ 0 6654 0 7913 906 1063 1457 "pin3" "3" 0x0000]
+ Pad[ 6654 0 7913 0 906 1063 1457 "pin8" "8" 0x0000]
+ Pad[ -7912 0 -6653 0 906 1063 1457 "pin18" "18" 0x0000]
+ Pad[ 1969 -7912 1969 -6653 906 1063 1457 "pin12" "12" 0x0000]
+ Pad[ 1969 6654 1969 7913 906 1063 1457 "pin4" "4" 0x0000]
+ Pad[ 6654 1969 7913 1969 906 1063 1457 "pin7" "7" 0x0000]
+ Pad[ -7912 1969 -6653 1969 906 1063 1457 "pin19" "19" 0x0000]
+ Pad[ 3937 -7912 3937 -6653 906 1063 1457 "pin11" "11" 0x0000]
+ Pad[ 3937 6654 3937 7913 906 1063 1457 "pin5" "5" 0x0000]
+ Pad[ 6654 3937 7913 3937 906 1063 1457 "pin6" "6" 0x0000]
+ Pad[ -7912 3937 -6653 3937 906 1063 1457 "pin20" "20" 0x0000]
+ ElementArc[ -7873 7874 500 500 0 360 1000 ]
+)
--- /dev/null
+#!/usr/bin/python
+# Copyright 2011 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for MO-220 package used by the ATTiny85
+#
+
+# dimensions in mm from the ATTiny datasheed
+
+PinWidth = 0.23 # b
+PinHeight = 0.55 # L
+PinSpacing = 0.50 # e
+Overall = 4.25 # E
+GndSquare = 2.60 # D2 & E2
+CoreSquare = 2.60
+
+# ATMEL specifies 120-150 microns between pad and solder mask
+# AT88RF1354 Appplication note
+#
+PinResist = PinWidth + (2 * 0.07)
+
+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: Keith Packard'
+print '# email: keithp@keithp.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "MO-220" "" "" 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, \
+ '"pin21" "21" "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, \
+# '"pin21" "21" 0x0002]'
+
+# break pad under chip into a grid to control the resist and paste masks
+
+blocks=3
+
+for viarow in range (-1, 2):
+ for viacol in range (-1, 2):
+ if (viarow in (-1, 1)) and (viacol in (-1, 1)):
+ # copper sub-square with resist over vias
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ mm2mils100((CoreSquare)/blocks), \
+ 0, \
+ 0, \
+ '"pin21" "21" "square,nopaste"]'
+ else:
+ # copper sub-square without resist
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ mm2mils100((CoreSquare)/blocks), \
+ 0, \
+ mm2mils100((CoreSquare)/blocks), \
+ '"pin21" "21" "square,nopaste"]'
+ # copper spot to control paste mask generation
+ print ' Pad[',\
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ mm2mils100(viacol * CoreSquare / blocks), \
+ mm2mils100(viarow * CoreSquare / blocks), \
+ 1500, \
+ 0, \
+ mm2mils100((CoreSquare)/blocks), \
+ '"pin21" "21" "square"]'
+
+# pins
+for pin in range (1,6):
+ print ' Pad[',\
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(-Overall/2 + PinWidth/2), \
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (16-pin), '"%i"' % (16-pin), '0x0000]'
+
+ print ' Pad[',\
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(+Overall/2 - PinHeight + PinWidth/2), \
+ mm2mils100((-3 + 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((-3 + pin) * PinSpacing), \
+ mm2mils100(Overall/2 - PinWidth/2), \
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (11-pin), '"%i"' % (11-pin), '0x0000]'
+
+ print ' Pad[',\
+ mm2mils100(-Overall/2 + PinWidth/2), \
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(-Overall/2 + PinHeight - PinWidth/2), \
+ mm2mils100((-3 + pin) * PinSpacing), \
+ mm2mils100(PinWidth), \
+ mm2mils100(PinSpacing - PinWidth), \
+ mm2mils100(PinResist), \
+ '"pin%i"' % (15+pin), '"%i"' % (15+pin), '0x0000]'
+
+print ' ElementArc[',\
+ mm2mils100(-2.0), \
+ mm2mils100(2.0), \
+ '500 500 0 360 1000 ]'
+print ")"