From 64a242e02a975a98a406889f97aff6219ebdea13 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 12 Feb 2025 12:44:36 -0700 Subject: [PATCH] add footprint for the 3-pin 1/4" phone jack possibly for QuantiMotor --- packages/Makefile | 3 +- packages/sj-63033a.py | 89 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100755 packages/sj-63033a.py diff --git a/packages/Makefile b/packages/Makefile index ce7de75..971d022 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -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 index 0000000..c224d12 --- /dev/null +++ b/packages/sj-63033a.py @@ -0,0 +1,89 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . 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 (")") -- 2.47.2