]> git.gag.com Git - hw/altusmetrum/commitdiff
add footprint for the 3-pin 1/4" phone jack possibly for QuantiMotor
authorBdale Garbee <bdale@gag.com>
Wed, 12 Feb 2025 19:44:36 +0000 (12:44 -0700)
committerBdale Garbee <bdale@gag.com>
Wed, 12 Feb 2025 19:44:36 +0000 (12:44 -0700)
packages/Makefile
packages/sj-63033a.py [new file with mode: 0755]

index ce7de75ed0f93015a936aee463e4ffb44b7f560f..971d022ea6d491b6666fa6aecb4637c4d93a103c 100644 (file)
@@ -180,7 +180,8 @@ FOOTPRINTS= \
        NRS50.fp \
        ARJM11D7009ABEW2.fp \
        pizero.fp \
-       AC5MAH.fp
+       AC5MAH.fp \
+       sj-63033a.fp
 
 .5c.fp:
        nickle $*.5c -o $@
diff --git a/packages/sj-63033a.py b/packages/sj-63033a.py
new file mode 100755 (executable)
index 0000000..c224d12
--- /dev/null
@@ -0,0 +1,89 @@
+#!/usr/bin/python3
+# Copyright 2025 by Bdale Garbee <bdale@gag.com>.  GPLv3
+#
+# Program to emit PCB footprint for Samesky SJ-63033A 3-pin phone connector.
+#
+# the official footprint calls for 2.50 x 1.00 mm slots instead of holes for
+# the three 2.00mm flat through-hole tabs.  Fake with round holes for now.
+
+# dimensions in mm
+Row2Spacing = 4.80
+Hole = 2.20
+Row1_Y = 5.00
+Row2_Y = 19.80
+
+Shell_Width = 18.0
+Shell_Height = 24.0
+
+# and a couple in 1/100 of a mil
+Clearance = 1200
+
+# 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 3')
+print ('# use-license: unlimited')
+
+print ('Element[0x0 "sj-63033a" "" "" 0 0 0 0 0 100 0x0]')
+print ("(")
+
+print ('   Pin[', \
+       0, \
+       mm2mils100(Row1_Y), \
+       mm2mils100(Hole*2),
+       Clearance,
+       mm2mils100(Hole*2) + Clearance,
+       mm2mils100(Hole), \
+       '"pin1" "1"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(-Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(Hole*2),
+       Clearance,
+       mm2mils100(Hole*2) + Clearance,
+       mm2mils100(Hole), \
+       '"pin2" "2"', '0x0001', ']')
+
+print ('   Pin[', \
+       mm2mils100(Row2Spacing), \
+       mm2mils100(Row2_Y), \
+       mm2mils100(Hole*2),
+       Clearance,
+       mm2mils100(Hole*2) + Clearance,
+       mm2mils100(Hole), \
+       '"pin3" "3"', '0x0001', ']')
+
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        0, \
+        mm2mils100(Shell_Width/2), \
+        0, \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print('   ElementLine[',\
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(0), \
+        mm2mils100(-Shell_Width/2), \
+        mm2mils100(Shell_Height), \
+        '1000 ]')
+
+print (")")