Merge branch 'master' of ssh://git.gag.com/scm/git/hw/altusmetrum
authorBdale Garbee <bdale@gag.com>
Sun, 7 Aug 2022 05:18:26 +0000 (23:18 -0600)
committerBdale Garbee <bdale@gag.com>
Sun, 7 Aug 2022 05:18:26 +0000 (23:18 -0600)
packages/Makefile
packages/PDFN33.py [new file with mode: 0755]
preferred-parts

index f1f96b32c1fe8a1c7ad6745ac6a11ff6477139a4..da339f1f7130ec758812bc8b3b925867eb3207b0 100644 (file)
@@ -160,7 +160,8 @@ FOOTPRINTS= \
        PG-TSDSO-14.fp \
        dualbeeper.fp \
        vqfn-48.fp \
-       miniso8.fp
+       miniso8.fp \
+       PDFN33.fp
 
 .5c.fp:
        nickle $*.5c -o $@
diff --git a/packages/PDFN33.py b/packages/PDFN33.py
new file mode 100755 (executable)
index 0000000..071a3c0
--- /dev/null
@@ -0,0 +1,108 @@
+#!/usr/bin/python2
+# Copyright 2022 by Bdale Garbee <bdale@gag.com>.  GPLv2
+#
+# Program to emit PCB footprint for Taiwan Semiconductor PDFN33 dual FETs
+#
+
+# dimensions in mm from        TSM200N03D_B1710-1918822.pdf
+PinWidth = 0.40
+PinHeight = 0.60
+PinSpacing = 0.65
+RowOuter = 3.55
+
+DrainWidth = 1.29
+DrainHeight = 2.35
+DrainSpacing = 0.25
+DrainGap = 0.35
+
+BodyWidth = 3.3
+BodyHeight = 3.35
+
+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 "1212-8" "" "" 0 0 -10161 -12011 0 100 0x0]'
+print "("
+for pin in range (0,4):
+    print '   Pad[',\
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(-(RowOuter/2 - PinWidth/2)), \
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(-(RowOuter/2 - PinHeight + PinWidth/2)), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (8 - pin), '"%i"' % (8 - pin), '0x0100]'
+
+    print '   Pad[',\
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(RowOuter/2 - PinWidth/2), \
+       mm2mils100((pin-1.5) * PinSpacing), \
+       mm2mils100(RowOuter/2 - PinHeight + PinWidth/2), \
+       mm2mils100(PinWidth), \
+       mm2mils100(PinSpacing - PinWidth), \
+       mm2mils100(PinWidth)+600, \
+       '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '0x0100]'
+
+print '   Pad[',\
+    mm2mils100(-(DrainSpacing/2 + DrainWidth/2)), \
+    mm2mils100(RowOuter/2 - PinHeight - DrainGap - DrainWidth/2), \
+    mm2mils100(-(DrainSpacing/2 + DrainWidth/2)), \
+    mm2mils100(RowOuter/2 - PinHeight - DrainGap - DrainHeight + DrainWidth/2), \
+    mm2mils100(DrainWidth), \
+    mm2mils100(DrainSpacing - DrainWidth), \
+    mm2mils100(DrainWidth)+600, \
+    '"pin8" "8" 0x0100]'
+
+print '   Pad[',\
+    mm2mils100(DrainSpacing/2 + DrainWidth/2), \
+    mm2mils100(RowOuter/2 - PinHeight - DrainGap - DrainWidth/2), \
+    mm2mils100(DrainSpacing/2 + DrainWidth/2), \
+    mm2mils100(RowOuter/2 - PinHeight - DrainGap - DrainHeight + DrainWidth/2), \
+    mm2mils100(DrainWidth), \
+    mm2mils100(DrainSpacing - DrainWidth), \
+    mm2mils100(DrainWidth)+600, \
+    '"pin5" "5" 0x0100]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2), \
+       mm2mils100( BodyWidth/2), \
+       mm2mils100( BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementLine[',\
+       mm2mils100( BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       mm2mils100(-BodyHeight/2), \
+       mm2mils100(-BodyWidth/2), \
+       '1000 ]'
+
+print '   ElementArc[',\
+        mm2mils100(-2 * PinSpacing), \
+        mm2mils100(0.60 * RowOuter), \
+       '500 500 0 360 1000 ]'
+
+print ")"
index db8fae091d24b1b84ff611e020feb194fadbadbf..461a3d96aaf21bac45e2b3fe90a89adfde2d23ab 100644 (file)
@@ -192,7 +192,7 @@ IC  TPS76133        SOT23-5 smt     no      TPS76133DBVR    digikey 296-11010-1-ND
 IC     TSV521  SC70_5  smt     no      TSV521AICT      digikey 497-13193-1-ND
 IC     VN7050AS        SOIJ8   smt     no      VN7050ASTR      digikey 497-15993-1-ND
 IC     W25Q16  SOIJ8   smt     no      GD25Q16CSIGR    digikey 1970-1024-1-ND
-IC     W25Q64  SOIJ8   smt     yes     MX25L6433FM2I-08G       digikey 1092-1225-ND 
+IC     W25Q64  SOIJ8   smt     yes     W25Q64JVSSIQ    digikey W25Q64JVSSIQ-ND 
 IC     MX25L25673GM2I-08G      SOIJ8   smt     no      MX25L25673GM2I-08G      digikey 1092-1239-ND 
 IC     W25Q80  SOIJ8   smt     no      W25Q80DVSSIG    digikey W25Q80DVSSIG-ND
 INDUCTOR       1.0uH   0603    smt     no      MLZ1608A1R0WT000        digikey 445-6384-1-ND