From b04feeee92013d8340cdfb4556bbd53ba21fc02c Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 4 Nov 2010 12:53:49 -0600 Subject: [PATCH] updates to picoblade footprints, initial capture of new Maxim LIPO charger --- pkg/newlib/DFN10_EP.fp | 42 ++++++++++ pkg/newlib/jst/PH-Series.py | 9 ++- pkg/newlib/jst/PH-th-ra.py | 87 +++++++++++++++++++++ pkg/newlib/molex/picoblade-th-v.py | 2 +- sym/MCP73837.sym | 118 +++++++++++++++++++++++++++++ 5 files changed, 256 insertions(+), 2 deletions(-) create mode 100644 pkg/newlib/DFN10_EP.fp create mode 100755 pkg/newlib/jst/PH-th-ra.py create mode 100644 sym/MCP73837.sym diff --git a/pkg/newlib/DFN10_EP.fp b/pkg/newlib/DFN10_EP.fp new file mode 100644 index 0000000..204d3d7 --- /dev/null +++ b/pkg/newlib/DFN10_EP.fp @@ -0,0 +1,42 @@ +# author: andrew mccubbin +# email: andrewm@thehacktory.com +# dist-license: GPL 2 +# use-license: unlimited + +# IPC 7351 ref SON50PP300X300X80-11WEED3M +# Dimensions taken from allegro datasheet + +# Element[element_flags, description, pcb-name, value, mark_x, +# mark_y, text_x, text_y, text_direction, text_scale, text_flags +Element[0x00000000 "Dual-Flat-Nolead-DFN-10pin-0.5mm-pitch-exposed-pad-package-3x3x0.8mm" "" "" 1000 1000 -13000 8000 1 100 0x00000000] +( + +# Silk screen around package + ElementLine[ 6405 8785 6405 -8785 1000] + ElementLine[ 6405 -8785 -6405 -8785 1000] + ElementLine[-6405 -8785 -6405 8785 1000] + ElementLine[-6405 8785 6405 8785 1000] +# Pin 1 indicator + ElementLine[-7005 9385 -6405 8785 1000] + + +# Pad[X1, Y1, X2, Y3, width, clearance, +# soldermask, "pin name", "pin number", flags] + +# bottom row + Pad[-3937 7185 -3937 5020 1181 1600 1381 "1" "1" 0x00000100] + Pad[-1969 7185 -1969 5020 1181 1600 1381 "2" "2" 0x00000100] + Pad[ 0 7185 0 5020 1181 1600 1381 "3" "3" 0x00000100] + Pad[ 1969 7185 1969 5020 1181 1600 1381 "4" "4" 0x00000100] + Pad[ 3937 7185 3937 5020 1181 1600 1381 "5" "5" 0x00000100] + +# top row + Pad[ 3937 -7185 3937 -5020 1181 1600 1381 "6" "6" 0x00000100] + Pad[ 1969 -7185 1969 -5020 1181 1600 1381 "7" "7" 0x00000100] + Pad[ 0 -7185 0 -5020 1181 1600 1381 "8" "8" 0x00000100] + Pad[-1969 -7185 -1969 -5020 1181 1600 1381 "9" "9" 0x00000100] + Pad[-3937 -7185 -3937 -5020 1181 1600 1381 "10" "10" 0x00000100] + +# Exposed paddle (if this is an exposed paddle part) + Pad[ -1457 0 1457 0 6496 1600 6796 "11" "11" 0x00000100] +) diff --git a/pkg/newlib/jst/PH-Series.py b/pkg/newlib/jst/PH-Series.py index 27394b0..dcfaf13 100755 --- a/pkg/newlib/jst/PH-Series.py +++ b/pkg/newlib/jst/PH-Series.py @@ -2,8 +2,15 @@ for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 do - FILE="S"$i"B-PH" + # side entry surface mount + FILE="S"$i"B-PH-SM4" ./PH-smt-ra.py $i > $FILE.fp + + # top entry through hole FILE="B"$i"B-PH" ./PH-th-v.py $i > $FILE.fp + + # side entry through hole + FILE="S"$i"B-PH" + ./PH-th-ra.py $i > $FILE.fp done diff --git a/pkg/newlib/jst/PH-th-ra.py b/pkg/newlib/jst/PH-th-ra.py new file mode 100755 index 0000000..494e11c --- /dev/null +++ b/pkg/newlib/jst/PH-th-ra.py @@ -0,0 +1,87 @@ +#!/usr/bin/python +# Copyright 2007 by Bdale Garbee . GPLv2 +# +# Program to emit PCB footprint for +# JST PH series 2mm side entry through-hole (shrouded) connectors +# +# Needs pin count on command line, in range of 2..15 +# + +# dimensions in mm from ePH.pdf datasheet +PinDiam = 0.75 +PinSpacing = 2.0 +RowOffset = 6.0 +BoxHeight = 7.6 +BoxEnd = 1.95 +LineWidth = 600 +Thickness = 1.3 +Clearance = .305 +Mask = 1.46 + +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 ) + +pins = int(sys.argv[1]) +if pins < 2: + sys.stderr.write('Must be at least 2 pins\n') + sys.exit(1) +if pins > 15: + sys.stderr.write('Must be no more than 15 pins\n') + sys.exit(1) + +print '# author: Bdale Garbee' +print '# email: bdale@gag.com' +print '# dist-license: GPL 2' +print '# use-license: unlimited' + +print 'Element[0x0 "B%iB-PH"' % pins,'"" "" 0 0 0 0 0 100 0x0]' +print "(" +for pin in range (1,pins+1): + pinnum = pins + 1 - pin + if pinnum == 1: + Flags = '0x0101' + else: + Flags = '0x0001' + print ' Pin[', \ + mm2mils100(BoxEnd + (pin-1)*PinSpacing), \ + mm2mils100(RowOffset), \ + mm2mils100(Thickness), \ + mm2mils100(Clearance), \ + mm2mils100(Mask), \ + mm2mils100(PinDiam), \ + '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']' + +BoxWidth = (BoxEnd * 2) + ((pins - 1) * PinSpacing); + +print ' ElementLine[', \ + mm2mils100(0), \ + mm2mils100(0), \ + mm2mils100(0), \ + mm2mils100(BoxHeight), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(0), \ + mm2mils100(BoxHeight), \ + mm2mils100(BoxWidth), \ + mm2mils100(BoxHeight), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(BoxWidth), \ + mm2mils100(BoxHeight), \ + mm2mils100(BoxWidth), \ + mm2mils100(0), \ + LineWidth, ']' + +print ' ElementLine[', \ + mm2mils100(BoxWidth), \ + mm2mils100(0), \ + mm2mils100(0), \ + mm2mils100(0), \ + LineWidth, ']' + +print ")" diff --git a/pkg/newlib/molex/picoblade-th-v.py b/pkg/newlib/molex/picoblade-th-v.py index b6a67b3..5f94ed3 100755 --- a/pkg/newlib/molex/picoblade-th-v.py +++ b/pkg/newlib/molex/picoblade-th-v.py @@ -46,7 +46,7 @@ for pin in range (1,pins+1): mm2mils100(BoxEnd + (pin-1)*PinSpacing), \ mm2mils100(RowOffset), \ 3500, \ - 600, \ + 1200, \ 4100, \ mm2mils100(PinDiam), \ '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']' diff --git a/sym/MCP73837.sym b/sym/MCP73837.sym new file mode 100644 index 0000000..48908b6 --- /dev/null +++ b/sym/MCP73837.sym @@ -0,0 +1,118 @@ +v 20100214 2 +P 0 900 300 900 1 0 0 +{ +T 0 900 5 10 0 0 0 0 1 +pintype=unknown +T 355 895 5 10 1 1 0 0 1 +pinlabel=STAT2 +T 205 945 5 10 1 1 0 6 1 +pinnumber=4 +T 0 900 5 10 0 0 0 0 1 +pinseq=0 +} +P 2400 2500 2100 2500 1 0 0 +{ +T 2400 2500 5 10 0 0 0 0 1 +pintype=unknown +T 2045 2495 5 10 1 1 0 6 1 +pinlabel=Vbat +T 2195 2545 5 10 1 1 0 0 1 +pinnumber=10 +T 2400 2500 5 10 0 0 0 0 1 +pinseq=0 +} +P 1200 0 1200 300 1 0 0 +{ +T 1200 0 5 10 0 0 0 0 1 +pintype=unknown +T 1345 500 5 10 1 1 180 0 1 +pinlabel=VSS +T 1295 250 5 10 1 1 180 6 1 +pinnumber=5 +T 1200 0 5 10 0 0 0 0 1 +pinseq=0 +} +B 300 300 1800 2700 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +T 795 2795 8 10 1 1 0 0 1 +device=MCP73837 +T 395 3095 8 10 1 1 0 0 1 +refdes=U? +T -5 -5 8 10 0 1 0 0 1 +footprint=DFN10_EP +P 0 500 300 500 1 0 0 +{ +T 0 500 5 10 0 0 0 0 1 +pintype=unknown +T 355 495 5 10 1 1 0 0 1 +pinlabel=PG +T 205 545 5 10 1 1 0 6 1 +pinnumber=8 +T 0 500 5 10 0 0 0 0 1 +pinseq=0 +} +P 2400 1700 2100 1700 1 0 0 +{ +T 2400 1700 5 10 0 0 0 0 1 +pintype=unknown +T 2045 1695 5 10 1 1 0 6 1 +pinlabel=THERM +T 2195 1745 5 10 1 1 0 0 1 +pinnumber=9 +T 2400 1700 5 10 0 0 0 0 1 +pinseq=0 +} +P 0 1300 300 1300 1 0 0 +{ +T 0 1300 5 10 0 0 0 0 1 +pintype=unknown +T 355 1295 5 10 1 1 0 0 1 +pinlabel=STAT1 +T 205 1345 5 10 1 1 0 6 1 +pinnumber=3 +T 0 1300 5 10 0 0 0 0 1 +pinseq=0 +} +P 0 2100 300 2100 1 0 0 +{ +T 0 2100 5 10 0 0 0 0 1 +pintype=unknown +T 355 2095 5 10 1 1 0 0 1 +pinlabel=Vusb +T 205 2145 5 10 1 1 0 6 1 +pinnumber=2 +T 0 2100 5 10 0 0 0 0 1 +pinseq=0 +} +P 0 2500 300 2500 1 0 0 +{ +T 0 2500 5 10 0 0 0 0 1 +pintype=unknown +T 355 2495 5 10 1 1 0 0 1 +pinlabel=Vac +T 205 2545 5 10 1 1 0 6 1 +pinnumber=1 +T 0 2500 5 10 0 0 0 0 1 +pinseq=0 +} +P 2400 500 2100 500 1 0 0 +{ +T 2400 500 5 10 0 0 0 0 1 +pintype=unknown +T 2045 495 5 10 1 1 0 6 1 +pinlabel=PROG1 +T 2195 545 5 10 1 1 0 0 1 +pinnumber=6 +T 2400 500 5 10 0 0 0 0 1 +pinseq=0 +} +P 2400 900 2100 900 1 0 0 +{ +T 2400 900 5 10 0 0 0 0 1 +pintype=unknown +T 2045 895 5 10 1 1 0 6 1 +pinlabel=PROG2 +T 2195 945 5 10 1 1 0 0 1 +pinnumber=7 +T 2400 900 5 10 0 0 0 0 1 +pinseq=0 +} -- 2.30.2