muffin-5267.pdf: partslist.csv $(AM)/glabels/muffin-5267.glabels
glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i partslist.csv -o muffin-5267.ps && ps2pdf muffin-5267.ps && rm muffin-5267.ps
+$(PROJECT).pcb: pcb
+
pcb: $(PROJECT).sch project Makefile
gsch2pcb project
)
-Element["" "MS5611" "U2" "MS5611" 108.00mil 279.00mil 3.00mil 177.00mil 3 100 ""]
+Element["" "MS5607" "U2" "MS5607" 108.00mil 279.00mil 3.00mil 177.00mil 3 100 ""]
(
Pad[73.81mil 33.45mil 73.81mil 53.14mil 23.62mil 25.59mil 29.62mil "SCLK" "8" "square,edge2"]
Pad[73.81mil -53.15mil 73.81mil -33.46mil 23.62mil 25.59mil 29.62mil "VDD" "1" "square"]
C 52300 45500 1 0 1 MS5607.sym
{
T 50905 47695 5 10 1 1 0 6 1
-value=MS5611
+value=MS5607
T 50905 47695 5 10 0 1 0 6 1
device=IC
T 52005 47695 5 10 1 1 0 6 1
refdes=U2
T 52305 42295 5 10 0 1 0 6 1
-footprint=MS5611
+footprint=MS5607
T 52305 42295 5 10 0 1 0 6 1
vendor=measspec
T 52305 42295 5 10 0 1 0 6 1
+++ /dev/null
- # grab the input values and convert to 1/100 mil
- # how much to grow the pads by for soldermask [1/100 mil]
- # clearance from planes [1/100 mil]
- # silk screen width [1/100 mil]
- # courtyard silk screen width [1/100 mil]
-# element_flags, description, pcb-name, value, mark_x, mark_y,
-# text_x, text_y, text_direction, text_scale, text_flags
-Element[0x00000000 "Standard SMT resistor, capacitor etc" "" "0603" 0 0 -3150 -3150 0 100 ""]
-(
-#
-# Pad[x1, y1, x2, y2, thickness, clearance, mask, name , pad number, flags]
- Pad[-2559 -492
- -2559 492
- 2952 2000 3552 "1" "1" "square"]
- Pad[2559 -492
- 2559 492
- 2952 2000 3552 "2" "2" "square"]
-
-# ElementLine[ -4300 -2300 -4300 2300 1000 ]
-# ElementLine[ -4300 2300 4500 2300 1000 ]
-# ElementLine[ 4500 2300 4500 -2300 1000 ]
-# ElementLine[ 4500 -2300 -4300 -2300 1000 ]
- ElementLine[ 4700 2500 4700 -2500 1000 ]
- ElementLine[ 4700 2500 3700 2500 1000 ]
- ElementLine[ 4700 -2500 3700 -2500 1000 ]
-
-#
-# This draws a 1 mil placement courtyard outline in silk. It should probably
-# not be included since you wont want to try and fab a 1 mil silk line. Then
-# again, it is most useful during parts placement. It really is time for some
-# additional non-fab layers...
-# ElementLine[eval(-1*V1/2) eval(-1*V2/2) eval(-1*V1/2) eval( V2/2) CYW]
-# ElementLine[eval(-1*V1/2) eval(-1*V2/2) eval( V1/2) eval(-1*V2/2) CYW]
-# ElementLine[eval( V1/2) eval( V2/2) eval( V1/2) eval(-1*V2/2) CYW]
-# ElementLine[eval( V1/2) eval( V2/2) eval(-1*V1/2) eval( V2/2) CYW]
-)
+++ /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 2126 1457 "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 2126 1457 "pin15" "15" 0x0000]
- Pad[ -3936 6654 -3936 7913 906 2126 1457 "pin1" "1" 0x0000]
- Pad[ 6654 -3936 7913 -3936 906 2126 1457 "pin10" "10" 0x0000]
- Pad[ -7912 -3936 -6653 -3936 906 2126 1457 "pin16" "16" 0x0000]
- Pad[ -1968 -7912 -1968 -6653 906 2126 1457 "pin14" "14" 0x0000]
- Pad[ -1968 6654 -1968 7913 906 2126 1457 "pin2" "2" 0x0000]
- Pad[ 6654 -1968 7913 -1968 906 2126 1457 "pin9" "9" 0x0000]
- Pad[ -7912 -1968 -6653 -1968 906 2126 1457 "pin17" "17" 0x0000]
- Pad[ 0 -7912 0 -6653 906 2126 1457 "pin13" "13" 0x0000]
- Pad[ 0 6654 0 7913 906 2126 1457 "pin3" "3" 0x0000]
- Pad[ 6654 0 7913 0 906 2126 1457 "pin8" "8" 0x0000]
- Pad[ -7912 0 -6653 0 906 2126 1457 "pin18" "18" 0x0000]
- Pad[ 1969 -7912 1969 -6653 906 2126 1457 "pin12" "12" 0x0000]
- Pad[ 1969 6654 1969 7913 906 2126 1457 "pin4" "4" 0x0000]
- Pad[ 6654 1969 7913 1969 906 2126 1457 "pin7" "7" 0x0000]
- Pad[ -7912 1969 -6653 1969 906 2126 1457 "pin19" "19" 0x0000]
- Pad[ 3937 -7912 3937 -6653 906 2126 1457 "pin11" "11" 0x0000]
- Pad[ 3937 6654 3937 7913 906 2126 1457 "pin5" "5" 0x0000]
- Pad[ 6654 3937 7913 3937 906 2126 1457 "pin6" "6" 0x0000]
- Pad[ -7912 3937 -6653 3937 906 2126 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
-PinClearance = 2 * (PinSpacing - PinWidth)
-
-# 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), \
- mm2mils100(PinClearance), \
- mm2mils100(PinResist), \
- '"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(PinClearance), \
- 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(PinClearance), \
- 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(PinClearance), \
- 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(PinClearance), \
- mm2mils100(PinResist), \
- '"pin%i"' % (15+pin), '"%i"' % (15+pin), '0x0000]'
-
-print ' ElementArc[',\
- mm2mils100(-2.0), \
- mm2mils100(2.0), \
- '500 500 0 360 1000 ]'
-print ")"
+++ /dev/null
-# author: Bdale Garbee
-# email: bdale@gag.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element[0x0 "MOT1317" "" "" 0 0 -10161 -12011 0 100 0x0]
-(
- Pad[ -7381 -3345 -7381 -5314 2362 2559 2962 "pin8" "8" 0x0100]
- Pad[ -7381 3346 -7381 5315 2362 2559 2962 "pin1" "1" 0x0100]
- Pad[ -2460 -3345 -2460 -5314 2362 2559 2962 "pin7" "7" 0x0100]
- Pad[ -2460 3346 -2460 5315 2362 2559 2962 "pin2" "2" 0x0100]
- Pad[ 2461 -3345 2461 -5314 2362 2559 2962 "pin6" "6" 0x0100]
- Pad[ 2461 3346 2461 5315 2362 2559 2962 "pin3" "3" 0x0100]
- Pad[ 7382 -3345 7382 -5314 2362 2559 2962 "pin5" "5" 0x0100]
- Pad[ 7382 3346 7382 5315 2362 2559 2962 "pin4" "4" 0x0100]
- ElementLine[ -9842 -5905 -9842 5906 1000 ]
- ElementLine[ -9842 5906 9843 5906 1000 ]
- ElementLine[ 9843 5906 9843 -5905 1000 ]
- ElementLine[ 9843 -5905 -9842 -5905 1000 ]
- ElementArc[ -8611 7579 500 500 0 360 1000 ]
-)
+++ /dev/null
-
-
- # number of pins on left/right sides (pin1 is upper pin on left side)
-
- # number of pins on top/bottom sides
-
- # pin pitch (1/1000 mil)
-
- # y-coordinate for upper pin on left/right sides (1/1000 mil)
-
- # x-coordinate for right pin on top/bottom sides (1/1000 mil)
-
- # total horizontal package width (1/1000 mil)
-
-
- # total vertical package width (1/1000 mil)
-
- # how much pads extend beyond the package edge (1/1000 mil) (the 25 is 0.25 mm)
-
- # how much pads extend inward from the package pad edge (1/1000 mil)
-
- # pad length/width (1/1000 mil)
-
-
- # pad width (mil/100)
-
- # min/max x coordinates for the pads on the left/right sides of the package (mil/100)
-
-
- # min/max y coordinates for the pads on the top/bottom sides of the package (mil/100)
-
-
-
- # silkscreen width (mils/100)
-
- # how much the silk screen is moved away from the package (1/1000 mil)
-
- # upper right corner for silk screen (mil/100)
-
-
- # refdes text size (mil/100)
-
- # x,y coordinates for refdes label (mil/100)
-
-
- # square exposed paddle size (mil/100)
-
-
- # pad clearance to polygons (1/100 mil)
-
-
- # width of the pad solder mask relief (1/100 mil).
- # grow by 1.5 mils on each side
-
-
- # width of the paddle soldermask relief (1/100 mil)
- # grow by 200 mils on each side
-
-
-# element_flags, description, pcb-name, value, mark_x, mark_y,
-# text_x, text_y, text_direction, text_scale, text_flags
-Element[0x00000000 "Square Quad Flat Nolead (QFN) package" "" "QFN20_4" 0 0 -9858 -10908 0 100 0x00000000]
-(
-
-
-# Pad[X1, Y1, X2, Y3, width, clearance,
-# soldermask, "pin name", "pin number", flags]
-
-# left row
-
-
-
- Pad[-8307 -3937 -5866 -3937 1102 2000 1402 "1" "1" 0x00000100]
-
-
-
- Pad[-8307 -1968 -5866 -1968 1102 2000 1402 "2" "2" 0x00000100]
-
-
-
- Pad[-8307 0 -5866 0 1102 2000 1402 "3" "3" 0x00000100]
-
-
-
- Pad[-8307 1968 -5866 1968 1102 2000 1402 "4" "4" 0x00000100]
-
-
-
- Pad[-8307 3937 -5866 3937 1102 2000 1402 "5" "5" 0x00000100]
-
-
-
-
-# bottom row
-
-
- Pad[-3937 8307 -3937 5866 1102 2000 1402 "6" "6" 0x00000900]
-
-
-
- Pad[-1968 8307 -1968 5866 1102 2000 1402 "7" "7" 0x00000900]
-
-
-
- Pad[0 8307 0 5866 1102 2000 1402 "8" "8" 0x00000900]
-
-
-
- Pad[1968 8307 1968 5866 1102 2000 1402 "9" "9" 0x00000900]
-
-
-
- Pad[3937 8307 3937 5866 1102 2000 1402 "10" "10" 0x00000900]
-
-
-
-
-# right row
-
-
- Pad[8307 3937 5866 3937 1102 2000 1402 "11" "11" 0x00000100]
-
-
-
- Pad[8307 1968 5866 1968 1102 2000 1402 "12" "12" 0x00000100]
-
-
-
- Pad[8307 0 5866 0 1102 2000 1402 "13" "13" 0x00000100]
-
-
-
- Pad[8307 -1968 5866 -1968 1102 2000 1402 "14" "14" 0x00000100]
-
-
-
- Pad[8307 -3937 5866 -3937 1102 2000 1402 "15" "15" 0x00000100]
-
-
-
-
-# top row
-
-
- Pad[3937 -8307 3937 -5866 1102 2000 1402 "16" "16" 0x00000900]
-
-
-
- Pad[1968 -8307 1968 -5866 1102 2000 1402 "17" "17" 0x00000900]
-
-
-
- Pad[0 -8307 0 -5866 1102 2000 1402 "18" "18" 0x00000900]
-
-
-
- Pad[-1968 -8307 -1968 -5866 1102 2000 1402 "19" "19" 0x00000900]
-
-
-
- Pad[-3937 -8307 -3937 -5866 1102 2000 1402 "20" "20" 0x00000900]
-
-
-
-
-# Exposed paddle (if this is an exposed paddle part)
-
- Pad[ 0 0 0 0 10236 1000 10736 "21" "21" 0x900]
-
-# Silk screen around package
-ElementLine[ 9858 9858 9858 -9858 1000]
-ElementLine[ 9858 -9858 -9858 -9858 1000]
-ElementLine[-9858 -9858 -9858 9858 1000]
-ElementLine[-9858 9858 9858 9858 1000]
-
-# Pin 1 indicator
-ElementLine[-9858 -9858 -11358 -11358 1000]
-
-)
-
+++ /dev/null
-Element["" "BHX1-1025-SM" "" "" 0 0 -240000 -24000 0 100 ""]
-(
- Pad[-29500 -5000 -29500 5000 10000 1000 10500 "VCC" "1" "square,edge2"]
- Pad[0 0 0 0 20000 1000 20500 "GND" "2" "square"]
- Pad[29500 -5000 29500 5000 10000 1000 10500 "VCC" "1" "square,edge2"]
- ElementLine [-25000 -24000 25000 -24000 1000]
- ElementLine[25000 -24000 25000 23900 1000]
- ElementLine[25000 15000 30200 20200 1000]
- ElementLine[30200 20200 20100 30300 1000]
- ElementLine[20100 30300 -20100 30300 1000]
- ElementLine[-20100 30300 -30200 20200 1000]
- ElementLine[-30200 20200 -25000 15000 1000]
- ElementLine[-25000 23900 -25000 -24000 1000]
- ElementLine[-25000 23900 25000 23900 1000]
-)
+++ /dev/null
-/*
- * Copyright © 2012 Keith Packard <keithp@keithp.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-
-load "footprint.5c"
-import Footprint;
-
-real hole_spacing = 3;
-real hole_diameter = 0.9;
-real hole_x = hole_spacing / 2;
-real hole_y = 0;
-real pad_height = 1.5;
-real pad_width = 0.7;
-real hold_width = 1;
-real hold_height = 0.8;
-real hold_y = -1;
-real hold_x = 6.3 / 2 + 1/2;
-real package_width = 6.7;
-real package_height = 2.6;
-real outline_x = package_width / 2;
-real outline_y = package_height / 2;
-
-real switch_travel = 1.5;
-real switch_width = 1.3;
-real switch_height = 1.5;
-real switch_x = switch_travel / 2 - switch_width / 2;
-real switch_y = package_height / 2;
-
-/* to center */
-real pad_1_x = -2.25;
-real pad_2_x = 0.75;
-real pad_3_x = 2.25;
-
-/* to top */
-real pad_y = 2.5;
-
-element_start("cus-12");
-
-/* pad 1 */
-pad_mm (pad_1_x, -(pad_y - pad_height / 2),
- pad_width, pad_height,
- "1", "1");
-
-/* pad 2 */
-pad_mm (pad_2_x, -(pad_y - pad_height / 2),
- pad_width, pad_height,
- "2", "2");
-
-pad_mm (pad_3_x, -(pad_y - pad_height / 2),
- pad_width, pad_height,
- "3", "3");
-
-pad_mm (-hold_x, -hold_y,
- hold_width, hold_height,
- "GND", "GND");
-
-pad_mm (hold_x, -hold_y,
- hold_width, hold_height,
- "GND", "GND");
-
-pad_mm (-hold_x, hold_y,
- hold_width, hold_height,
- "GND", "GND");
-
-pad_mm (hold_x, hold_y,
- hold_width, hold_height,
- "GND", "GND");
-
-pin_mm (-hole_x, hole_y, hole_diameter,
- 0.17, "GND", "GND");
-
-pin_mm (hole_x, hole_y, hole_diameter,
- 0.17, "GND", "GND");
-
-rect (-outline_x, -outline_y, outline_x * 2, outline_y * 2);
-rect (switch_x, switch_y, switch_width, switch_height);
-element_end();
-
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element ["" "cus-12" "" "" 0 0 0 0 0 100 ""]
-(
- Pad[ -8858 -8465 -8858 -5315 2756 2362 3937 "1" "1" "square"]
- Pad[ 2953 -8465 2953 -5315 2756 2362 3937 "2" "2" "square"]
- Pad[ 8858 -8465 8858 -5315 2756 2362 3937 "3" "3" "square"]
- Pad[ -14764 3937 -13976 3937 3150 2362 4331 "frame" "frame" "square"]
- Pad[ 13976 3937 14764 3937 3150 2362 4331 "frame" "frame" "square"]
- Pad[ -14764 -3937 -13976 -3937 3150 2362 4331 "frame" "frame" "square"]
- Pad[ 13976 -3937 14764 -3937 3150 2362 4331 "frame" "frame" "square"]
- Pin[ -5906 0 4882 2362 6063 3543 "holes" "holes" ""]
- Pin[ 5906 0 4882 2362 6063 3543 "holes" "holes" ""]
- ElementLine[ -13189 -5118 13189 -5118 1000]
- ElementLine[ 13189 -5118 13189 5118 1000]
- ElementLine[ 13189 5118 -13189 5118 1000]
- ElementLine[ -13189 5118 -13189 -5118 1000]
- ElementLine[ 394 5118 5512 5118 1000]
- ElementLine[ 5512 5118 5512 11024 1000]
- ElementLine[ 5512 11024 394 11024 1000]
- ElementLine[ 394 11024 394 5118 1000]
-)
+++ /dev/null
-/*
- * Copyright © 2012 Keith Packard <keithp@keithp.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-
-namespace Footprint {
-
- /* process clearance requirement */
- public real clearance = 0.6;
-
- public int mm2mils100(real mm) = floor (mm / 25.4 * 1000 * 100 + 0.5);
-
- public void element_start(string name) {
- printf ("# author: Keith Packard\n");
- printf ("# email: keithp@keithp.com\n");
- printf ("# dist-license: GPL 2\n");
- printf ("# use-license: unlimited\n");
- printf ("Element [\"\" \"%s\" \"\" \"\" 0 0 0 0 0 100 \"\"]\n",
- name);
- printf ("(\n");
-
- }
-
- public void element_end() {
- printf (")\n");
- }
-
- public void pad_mm(real center_x,
- real center_y,
- real width,
- real height,
- string name,
- string num)
- {
- real x1 = 0;
- real y1 = 0;
- real x2 = 0;
- real y2 = 0;
- real thickness = 0;
-
- if (width > height) {
- thickness = height;
- y1 = center_y;
- x1 = center_x - (width - height) / 2;
- y2 = center_y;
- x2 = center_x + (width - height) / 2;
- } else {
- thickness = width;
- x1 = center_x;
- y1 = center_y - (height - width) / 2;
- x2 = center_x;
- y2 = center_y + (height - width) / 2;
- }
-
- real mask = thickness + clearance / 2;
-
- printf (" Pad[");
- printf (" %6d %6d %6d %6d",
- mm2mils100(x1),
- mm2mils100(y1),
- mm2mils100(x2),
- mm2mils100(y2));
- printf (" %6d %6d %6d",
- mm2mils100(thickness),
- mm2mils100(clearance),
- mm2mils100(mask));
- printf (" \"%s\" \"%s\" \"square\"]\n",
- name, num);
- }
-
- public void pin_mm(real x, real y, real drill, real copper,
- string name,
- string number)
- {
- real thickness = drill + copper * 2;
- real mask = thickness + clearance / 2;
- printf(" Pin[");
- printf(" %6d %6d",
- mm2mils100(x),
- mm2mils100(y));
- printf(" %6d %6d %6d %6d",
- mm2mils100(thickness),
- mm2mils100(clearance),
- mm2mils100(mask),
- mm2mils100(drill));
- printf (" \"%s\" \"%s\"",
- name, number);
- printf (" \"\"]\n");
-
- }
-
- public void line (real x1, real y1, real x2, real y2)
- {
- printf (" ElementLine[");
- printf (" %6d %6d %6d %6d",
- mm2mils100(x1),
- mm2mils100(y1),
- mm2mils100(x2),
- mm2mils100(y2));
- printf (" 1000]\n");
- }
-
- public void rect (real x, real y, real w, real h)
- {
- line(x,y,x+w,y);
- line(x+w,y,x+w,y+h);
- line(x+w,y+h,x,y+h);
- line(x,y+h,x,y);
- }
-}
+++ /dev/null
-
-Element["" "hole-M3" "" "" 9800 9800 -16900 -21000 0 100 ""]
-(
- Pin[0 0 11000 2000 11000 9800 "pin1" "1" 0x0401 ]
- ElementArc [0 0 8000 8000 0 360 1000]
-
- )
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-
-
-Element["" "pico-ezmate-2" "" "" 10885 1927 -10161 -12011 0 100 ""]
-(
- Pad[-2362 -492 -2362 492 2362 2500 2962 "1" "1" "square"]
- Pad[2362 -492 2362 492 2362 2500 2962 "2" "2" "square"]
- Pad[9252 14567 9252 14961 2756 2500 3356 "GND" "GND" "square,edge2"]
- Pad[-9252 14567 -9252 14961 2756 2500 3356 "GND" "GND" "square,edge2"]
-
- # 11000 2000
- ElementLine[-11000 -1000 -3600 -1000 100]
- ElementLine[ 3600 -1000 11000 -1000 100]
-
- ElementLine[11000 -1000 11000 17000 100]
- ElementLine[11000 17000 6000 17000 100]
- ElementLine[ 6000 17000 4000 15000 100]
- ElementLine[ 4000 15000 -4000 15000 100]
- ElementLine[-4000 15000 -6000 17000 100]
- ElementLine[-6000 17000 -11000 17000 100]
- ElementLine[-11000 17000 -11000 -1000 100]
- )
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element["" "pico-ezmate-5" "" "" 0 0 0 0 0 100 ""]
-(
- Pad[ -9448 -491 -9448 492 2362 2362 3543 "pin1" "1" "square"]
- Pad[ -4723 -491 -4723 492 2362 2362 3543 "pin2" "2" "square"]
- Pad[ 0 -491 0 492 2362 2362 3543 "pin3" "3" "square"]
- Pad[ 4724 -491 4724 492 2362 2362 3543 "pin4" "4" "square"]
- Pad[ 9449 -491 9449 492 2362 2362 3543 "pin5" "5" "square"]
- Pad[ 13976 14665 13976 15059 2756 2362 3937 "GND" "GND" "square"]
- Pad[ -13975 14665 -13975 15059 2756 2362 3937 "GND" "GND" "square"]
- ElementLine[ -15353 -747 15354 -747 500]
- ElementLine[ 15354 -747 15354 16969 500]
- ElementLine[ 15354 16969 -15353 16969 500]
- ElementLine[ -15353 16969 -15353 -747 500]
- )
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element["" "pico-ezmate-6" "" "" 0 0 0 0 0 100 ""]
-(
- Pad[ -11810 -491 -11810 492 2362 2362 3543 "pin1" "1" "square"]
- Pad[ -7086 -491 -7086 492 2362 2362 3543 "pin2" "2" "square"]
- Pad[ -2361 -491 -2361 492 2362 2362 3543 "pin3" "3" "square"]
- Pad[ 2362 -491 2362 492 2362 2362 3543 "pin4" "4" "square"]
- Pad[ 7087 -491 7087 492 2362 2362 3543 "pin5" "5" "square"]
- Pad[ 11811 -491 11811 492 2362 2362 3543 "pin6" "6" "square"]
- Pad[ 16339 14665 16339 15059 2756 2362 3937 "GND" "GND" "square"]
- Pad[ -16338 14665 -16338 15059 2756 2362 3937 "GND" "GND" "square"]
- ElementLine[ -17716 -747 17717 -747 500]
- ElementLine[ 17717 -747 17717 16969 500]
- ElementLine[ 17717 16969 -17716 16969 500]
- ElementLine[ -17716 16969 -17716 -747 500]
- )
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-
-def mm2mils100( mm ):
- return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
-
-PadWidth = 0.60
-PadHeight = 0.85
-PadSpacing = 1.20
-PadToHoldX = 0.80
-PadToHoldY = 3.75
-HoldWidth = 0.70
-HoldHeight = 0.80
-Clearance = 0.6
-
-OutlineX = 1.5
-OutlineYPad = - (0.38 / 2)
-OutlineYHold = OutlineYPad + 4.5
-
-NumPad=6
-
-print '# author: Keith Packard'
-print '# email: keithp@keithp.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
-
-print 'Element["" "pico-ezmate-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad
-print "("
-
-PadX = PadSpacing * NumPad / 2
-
-# Hold-down pads
-
-HoldY = PadHeight / 2 + PadToHoldY - HoldHeight / 2
-
-def pad(cx, cy, w, h, name, num):
- x1 = 0
- y1 = 0
- x2 = 0
- y2 = 0
- thickness = 0
- if w > h:
- thickness = h
- y1 = cy
- x1 = cx - (w - h) / 2
- y2 = cy
- x2 = cx + (w - h) / 2
- else:
- thickness = w
- x1 = cx
- y1 = cy - (h - w) / 2
- x2 = cx
- y2 = cy + (h - w) / 2
- mask = thickness + Clearance / 2
- print ' Pad[',\
- mm2mils100(x1), \
- mm2mils100(y1), \
- mm2mils100(x2), \
- mm2mils100(y2), \
- mm2mils100(thickness), \
- mm2mils100(Clearance), \
- mm2mils100(mask),\
- '"%s"' % name, '"%s"' % num, '"square"]'
-
-def line(x1, y1, x2, y2):
- print ' ElementLine[',\
- mm2mils100(x1), \
- mm2mils100(y1), \
- mm2mils100(x2), \
- mm2mils100(y2), \
- '500]'
-
-def rect(x, y, w, h):
- line(x,y,x+w,y)
- line(x+w,y,x+w,y+h)
- line(x+w,y+h,x,y+h)
- line(x,y+h,x,y)
-
-def padx(p):
- return -PadSpacing * (NumPad-1) / 2 + PadSpacing * (p - 1)
-
-def holdx(h):
- return h * (padx(1) - PadToHoldX - HoldWidth / 2)
-
-
-for p in range(1,NumPad+1):
- pad(padx(p), 0, PadWidth, PadHeight, 'pin%i' % p, '%i' % p)
-
-for h in -1, 1:
- pad(holdx(h), HoldY, HoldWidth, HoldHeight, 'GND', 'GND')
-
-rect(padx(1) - OutlineX, OutlineYPad,
- PadSpacing * (NumPad-1) + OutlineX*2,
- 4.5)
-
-print ' )'
- # 11000 2000
-# ElementLine[-11000 -1000 -3600 -1000 100]
-# ElementLine[ 3600 -1000 11000 -1000 100]
-#
-# ElementLine[11000 -1000 11000 17000 100]
-# ElementLine[11000 17000 6000 17000 100]
-# ElementLine[ 6000 17000 4000 15000 100]
-# ElementLine[ 4000 15000 -4000 15000 100]
-# ElementLine[-4000 15000 -6000 17000 100]
-# ElementLine[-6000 17000 -11000 17000 100]
-# ElementLine[-11000 17000 -11000 -1000 100]
-# )
-#
+++ /dev/null
-
-Element["" "PicoBlade SMT 2" "" "" 0 0 -3000 -3000 0 100 ""]
-(
- Pad[ -2461 -1575 -2461 1575 3150 600 3450 "1" "1" "square,edge2"]
- Pad[ 2461 -1575 2461 1575 3150 600 3450 "2" "2" "square,edge2"]
- Pad[ -12500 9646 -12500 13190 8268 600 8568 "GND" "GND" "square" ]
- Pad[ 12500 9646 12500 13190 8268 600 8568 "GND" "GND" "square" ]
-)
+++ /dev/null
-load "footprint.5c"
-import Footprint;
-
-real total_width=4.5;
-real total_height=2.6;
-real pad_width=1.5;
-real pad_height = total_height;
-real pad_center_x = total_width / 2 - pad_width / 2;
-
-element_start("topled");
-pad_mm(-pad_center_x, 0, pad_width, pad_height, "1", "1");
-pad_mm(pad_center_x, 0, pad_width, pad_height, "2", "2");
-
-real line_left = pad_center_x + 0.5;
-real line_right = pad_center_x + pad_width / 2 + .3;
-real line_top = 0 - pad_height / 2 - .3;
-
-line(line_left, line_top, line_right, line_top);
-line(line_right, line_top, line_right, -line_top);
-line(line_right, -line_top, line_left, -line_top);
-
-element_end();
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element ["" "topled" "" "" 0 0 0 0 0 100 ""]
-(
- Pad[ -5906 -2165 -5906 2165 5906 2362 7087 "1" "1" "square"]
- Pad[ 5906 -2165 5906 2165 5906 2362 7087 "2" "2" "square"]
- ElementLine[ 7874 -6299 10039 -6299 1000]
- ElementLine[ 10039 -6299 10039 6299 1000]
- ElementLine[ 10039 6299 7874 6299 1000]
-)
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-Element["" "UDFN-8" "" "" 0 0 0 0 0 100 ""]
-(
- Pad[ -6987 -2952 -4822 -2952 1181 787 1575 "pin1" "1" "square"]
- Pad[ -6987 -983 -4822 -983 1181 787 1575 "pin2" "2" "square"]
- Pad[ -6987 984 -4822 984 1181 787 1575 "pin3" "3" "square"]
- Pad[ -6987 2953 -4822 2953 1181 787 1575 "pin4" "4" "square"]
- Pad[ 4823 2953 6988 2953 1181 787 1575 "pin5" "5" "square"]
- Pad[ 4823 984 6988 984 1181 787 1575 "pin6" "6" "square"]
- Pad[ 4823 -983 6988 -983 1181 787 1575 "pin7" "7" "square"]
- Pad[ 4823 -2952 6988 -2952 1181 787 1575 "pin8" "8" "square"]
- Pad[ 0 -393 0 394 5118 787 5512 "GND" "GND" "square"]
- ElementLine[ -5905 -3936 5906 -3936 500]
- ElementLine[ 5906 -3936 5906 3937 500]
- ElementLine[ 5906 3937 -5905 3937 500]
- ElementLine[ -5905 3937 -5905 -3936 500]
- )
+++ /dev/null
-# author: Keith Packard
-# email: keithp@keithp.com
-# dist-license: GPL 2
-# use-license: unlimited
-
-def mm2mils100( mm ):
- return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
-
-PkgWidth = 3.00
-PkgHeight = 2.00
-PadWidth = 0.85
-PadHeight = 0.30
-PadSpacingY = 0.5
-PadSpacingX = PkgWidth
-GroundWidth = 1.30
-GroundHeight = 1.50
-Clearance = 0.2
-
-NumPad=8
-NumX=2
-NumY=NumPad/NumX
-
-print '# author: Keith Packard'
-print '# email: keithp@keithp.com'
-print '# dist-license: GPL 2'
-print '# use-license: unlimited'
-
-print 'Element["" "UDFN-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad
-print "("
-
-def pad(cx, cy, w, h, name, num):
- x1 = 0
- y1 = 0
- x2 = 0
- y2 = 0
- thickness = 0
- if w > h:
- thickness = h
- y1 = cy
- x1 = cx - (w - h) / 2
- y2 = cy
- x2 = cx + (w - h) / 2
- else:
- thickness = w
- x1 = cx
- y1 = cy - (h - w) / 2
- x2 = cx
- y2 = cy + (h - w) / 2
- mask = thickness + Clearance / 2
- print ' Pad[',\
- mm2mils100(x1), \
- mm2mils100(y1), \
- mm2mils100(x2), \
- mm2mils100(y2), \
- mm2mils100(thickness), \
- mm2mils100(Clearance), \
- mm2mils100(mask),\
- '"%s"' % name, '"%s"' % num, '"square"]'
-
-def line(x1, y1, x2, y2):
- print ' ElementLine[',\
- mm2mils100(x1), \
- mm2mils100(y1), \
- mm2mils100(x2), \
- mm2mils100(y2), \
- '500]'
-
-def rect(x, y, w, h):
- line(x,y,x+w,y)
- line(x+w,y,x+w,y+h)
- line(x+w,y+h,x,y+h)
- line(x,y+h,x,y)
-
-def padx(p):
- x = (p-1) / NumY
- return (x - (NumX - 1)/2.0) * PadSpacingX
-
-def pady(p):
- y = 0
- if (p <= NumY):
- y = p - 1
- else:
- y = NumPad - p
- return (y - (NumY - 1)/2.0) * PadSpacingY
-
-for p in range(1,NumPad+1):
- pad(padx(p), pady(p), PadWidth, PadHeight, 'pin%i' % p, '%i' % p)
-
-pad(0, 0, GroundWidth, GroundHeight, 'GND', 'GND')
-
-rect(-PkgWidth / 2, -PkgHeight / 2, PkgWidth, PkgHeight)
-
-print ' )'
- # 11000 2000
-# ElementLine[-11000 -1000 -3600 -1000 100]
-# ElementLine[ 3600 -1000 11000 -1000 100]
-#
-# ElementLine[11000 -1000 11000 17000 100]
-# ElementLine[11000 17000 6000 17000 100]
-# ElementLine[ 6000 17000 4000 15000 100]
-# ElementLine[ 4000 15000 -4000 15000 100]
-# ElementLine[-4000 15000 -6000 17000 100]
-# ElementLine[-6000 17000 -11000 17000 100]
-# ElementLine[-11000 17000 -11000 -1000 100]
-# )
-#
# are derived from the first listed schematic...
output-name micropeak
-elements-dir packages
-elements-dir /usr/share/pcb
+elements-dir ../altusmetrum/packages
+#elements-dir /usr/share/pcb
# stick to newlib elements, don't use the older/odder m4 stuff
skip-m4
+++ /dev/null
-v 20110115 2
-P 5500 500 5100 500 1 0 0
-{
-T 5200 600 5 10 1 1 0 0 1
-pinnumber=21
-T 3800 500 3 10 1 1 0 0 1
-pinlabel=GND Exposed
-T 5500 500 5 10 0 1 0 0 1
-pinseq=15
-}
-B 400 0 4700 3500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
-T 5400 3300 8 10 0 0 0 0 1
-numslots=1
-T 2050 50 9 20 1 0 0 0 1
-ATtiny85
-T 5400 3600 8 10 0 0 0 0 1
-slot=1
-P 0 3000 400 3000 1 0 0
-{
-T 0 3000 5 10 0 0 0 6 1
-pintype=io
-T 455 2995 5 10 1 1 0 0 1
-pinlabel=PB0 (MOSI/DI/SDA/AIN0/OC0A/nOC1A/AREF/PCINT0)
-T 305 3045 5 10 1 1 0 6 1
-pinnumber=11
-T 0 3000 5 10 0 0 0 6 1
-pinseq=11
-}
-P 0 1000 400 1000 1 0 0
-{
-T 0 1000 5 10 0 0 0 0 1
-pintype=io
-T 455 995 5 10 1 1 0 0 1
-pinlabel=PB4 (PCINT4/XTAL2/CLK)/OC1B/ADC2)
-T 305 1045 5 10 1 1 0 6 1
-pinnumber=5
-T 0 1000 5 10 0 0 0 0 1
-pinseq=5
-}
-P 0 1500 400 1500 1 0 0
-{
-T 0 1500 5 10 0 0 0 0 1
-pintype=io
-T 455 1495 5 10 1 1 0 0 1
-pinlabel=PB3 (PCINT3/XTAL1/CLKI/nOC1B/ADC3)
-T 305 1545 5 10 1 1 0 6 1
-pinnumber=2
-T 0 1500 5 10 0 0 0 0 1
-pinseq=2
-}
-P 0 2000 400 2000 1 0 0
-{
-T 0 2000 5 10 0 0 0 0 1
-pintype=io
-T 455 1995 5 10 1 1 0 0 1
-pinlabel=PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2)
-T 305 2045 5 10 1 1 0 6 1
-pinnumber=14
-T 0 2000 5 10 0 0 0 0 1
-pinseq=14
-}
-P 0 2500 400 2500 1 0 0
-{
-T 0 2500 5 10 0 0 0 0 1
-pintype=io
-T 455 2495 5 10 1 1 0 0 1
-pinlabel=PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1)
-T 305 2545 5 10 1 1 0 6 1
-pinnumber=12
-T 0 2500 5 10 0 0 0 0 1
-pinseq=12
-}
-P 0 500 400 500 1 0 0
-{
-T 0 500 5 10 0 0 0 0 1
-pintype=io
-T 455 495 5 10 1 1 0 0 1
-pinlabel=PB5 (PCINT5/nRESET/ADC0/dW)
-T 305 545 5 10 1 1 0 6 1
-pinnumber=1
-T 0 500 5 10 0 0 0 0 1
-pinseq=1
-}
-P 5500 2500 5100 2500 1 0 0
-{
-T 5600 2500 5 10 0 0 0 0 1
-pintype=pwr
-T 4945 2495 5 10 1 1 0 6 1
-pinlabel=VCC
-T 5195 2545 5 10 1 1 0 0 1
-pinnumber=15
-T 5600 2500 5 10 0 0 0 0 1
-pinseq=15
-}
-P 5500 1500 5100 1500 1 0 0
-{
-T 5600 1500 5 10 0 0 0 0 1
-pintype=pwr
-T 4945 1495 5 10 1 1 0 6 1
-pinlabel=GND
-T 5195 1545 5 10 1 1 0 0 1
-pinnumber=8
-T 5600 1500 5 10 0 0 0 0 1
-pinseq=8
-}
-T -5 -25 8 10 0 1 0 0 1
-footprint=QFN-20