From: Bdale Garbee Date: Sat, 3 May 2025 04:02:47 +0000 (-0600) Subject: add XLR connector footprints for QuantiMotor X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=067b0828c32525ff23ae0321716d439ac2cc029d;p=hw%2Faltusmetrum add XLR connector footprints for QuantiMotor --- diff --git a/packages/.gitignore b/packages/.gitignore index e6bb9cd..e142040 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -1,3 +1,4 @@ +.gitignore ssop-16.fp ssop-28.fp soic-16.fp @@ -163,25 +164,7 @@ TSOT26.fp NRS50.fp ARJM11D7009ABEW2.fp pizero.fp -AC5MAH.fp +XLR3.fp +XLR4.fp +XLR5.fp sj-63033a.fp -1051330011.fp -11071.fp -1551NGY.fp -1W_Carbon_Resistor.fp -3568.fp -BM70BLES1FC2.fp -PNswitchDPDT.fp -RGT16_1P7X1P7.fp -SSOP16.fp -foo.fp -m50-31-4.fp -m50-31-8.fp -mlp8.fp -new.fp -pico-ezmate-4.fp -servo.fp.ps -ssop-16.fp.ps -ssop-old-16.fp -ufqfpn16.fp -vbrite.fp diff --git a/packages/AC5MAH.py b/packages/AC5MAH.py deleted file mode 100755 index 3aab7d6..0000000 --- a/packages/AC5MAH.py +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/python3 -# Copyright 2025 by Bdale Garbee . GPLv3 -# -# Program to emit PCB footprint for Amphenol AC5MAH-AU-B 5-pin XLR connector. -# - -# dimensions in mm -Row1Spacing = 3.81 -Row2Spacing = 6.98 -SmallHole = 1.20 -LargeHole = 1.60 -Mnt1_Y = 3.81 -Mnt2_Y = 8.89 -Row1_Y = 12.70 -Row2_Y = 17.78 - -Shell_Width = 25.0 -Shell_Height = 18.3 - -# 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 "AC5MAH" "" "" 0 0 0 0 0 100 0x0]') -print ("(") - -# alignment pin holes -print (' Pin[', \ - mm2mils100(-Row1Spacing), \ - mm2mils100(Mnt1_Y), \ - mm2mils100(LargeHole*2), - Clearance, - mm2mils100(LargeHole*2) + Clearance, - mm2mils100(LargeHole), \ - '"pin6" "6"', '0x0001', ']') - -print (' Pin[', \ - mm2mils100(Row1Spacing), \ - mm2mils100(Mnt2_Y), \ - mm2mils100(LargeHole*2), - Clearance, - mm2mils100(LargeHole*2) + Clearance, - mm2mils100(LargeHole), \ - '"pin6" "6"', '0x0001', ']') - -print (' Pin[', \ - mm2mils100(-Row1Spacing), \ - mm2mils100(Row1_Y), \ - mm2mils100(SmallHole*2), - Clearance, - mm2mils100(SmallHole*2) + Clearance, - mm2mils100(SmallHole), \ - '"pin4" "4"', '0x0001', ']') - -print (' Pin[', \ - 0, \ - mm2mils100(Row1_Y), \ - mm2mils100(SmallHole*2), - Clearance, - mm2mils100(SmallHole*2) + Clearance, - mm2mils100(SmallHole), \ - '"pin6" "6"', '0x0001', ']') - -print (' Pin[', \ - mm2mils100(Row1Spacing), \ - mm2mils100(Row1_Y), \ - mm2mils100(SmallHole*2), - Clearance, - mm2mils100(SmallHole*2) + Clearance, - mm2mils100(SmallHole), \ - '"pin2" "2"', '0x0001', ']') - -print (' Pin[', \ - mm2mils100(-Row2Spacing), \ - mm2mils100(Row2_Y), \ - mm2mils100(LargeHole*2), - Clearance, - mm2mils100(LargeHole*2) + Clearance, - mm2mils100(LargeHole), \ - '"pin5" "5"', '0x0001', ']') - -print (' Pin[', \ - 0, \ - mm2mils100(Row2_Y), \ - mm2mils100(SmallHole*2), - Clearance, - mm2mils100(SmallHole*2) + Clearance, - mm2mils100(SmallHole), \ - '"pin3" "3"', '0x0001', ']') - -print (' Pin[', \ - mm2mils100(Row2Spacing), \ - mm2mils100(Row2_Y), \ - mm2mils100(LargeHole*2), - Clearance, - mm2mils100(LargeHole*2) + Clearance, - mm2mils100(LargeHole), \ - '"pin1" "1"', '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+2), \ - mm2mils100(Shell_Height), \ - '1000 ]') - -print(' ElementLine[',\ - mm2mils100(Shell_Width/2), \ - mm2mils100(Shell_Height), \ - mm2mils100(Shell_Width/2-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 (")") diff --git a/packages/Makefile b/packages/Makefile index 971d022..986fe31 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -180,7 +180,9 @@ FOOTPRINTS= \ NRS50.fp \ ARJM11D7009ABEW2.fp \ pizero.fp \ - AC5MAH.fp \ + XLR3.fp \ + XLR4.fp \ + XLR5.fp \ sj-63033a.fp .5c.fp: diff --git a/packages/XLR3.py b/packages/XLR3.py new file mode 100755 index 0000000..d7db5db --- /dev/null +++ b/packages/XLR3.py @@ -0,0 +1,126 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Amphenol AC3MAH-AU-PRE 3-pin XLR connector. +# + +# dimensions in mm +Row1Spacing = 3.81 +Row2Spacing = 6.98 +SmallHole = 1.20 +LargeHole = 1.60 +Mnt1_Y = 3.81 +Mnt2_Y = 8.89 +Row1_Y = 12.70 +Row2_Y = 17.78 + +Shell_Width = 25.0 +Shell_Height = 19.5 + +# 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 "XLR3" "" "" 0 0 0 0 0 100 0x0]') +print ("(") + +# alignment pin holes +print (' Pin[', \ + mm2mils100(-Row1Spacing), \ + mm2mils100(Mnt1_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin4" "4"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row1Spacing), \ + mm2mils100(Mnt2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin4" "4"', '0x0001', ']') + +print (' Pin[', \ + 0, \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin4" "4"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(-Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin2" "2"', '0x0001', ']') + +print (' Pin[', \ + 0, \ + mm2mils100(Row2_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin3" "3"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin1" "1"', '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+2), \ + mm2mils100(Shell_Height), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100(Shell_Width/2), \ + mm2mils100(Shell_Height), \ + mm2mils100(Shell_Width/2-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 (")") diff --git a/packages/XLR4.py b/packages/XLR4.py new file mode 100755 index 0000000..9b1f566 --- /dev/null +++ b/packages/XLR4.py @@ -0,0 +1,135 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Neutrik NC4MAH 4-pin XLR connector. +# + +# dimensions in mm +Row1Spacing = 3.81 +Row2Spacing = 6.98 +SmallHole = 1.20 +LargeHole = 1.60 +Mnt1_Y = 3.81 +Mnt2_Y = 8.89 +Row1_Y = 12.70 +Row2_Y = 17.78 + +Shell_Width = 25.0 +Shell_Height = 19.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 "XLR4" "" "" 0 0 0 0 0 100 0x0]') +print ("(") + +# alignment pin holes +print (' Pin[', \ + mm2mils100(-Row1Spacing), \ + mm2mils100(Mnt1_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin5" "5"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row1Spacing), \ + mm2mils100(Mnt2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin5" "5"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(-Row1Spacing), \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin3" "3"', '0x0001', ']') + +print (' Pin[', \ + 0, \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin5" "5"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row1Spacing), \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin2" "2"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(-Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin4" "4"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin1" "1"', '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+2), \ + mm2mils100(Shell_Height), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100(Shell_Width/2), \ + mm2mils100(Shell_Height), \ + mm2mils100(Shell_Width/2-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 (")") diff --git a/packages/XLR5.py b/packages/XLR5.py new file mode 100755 index 0000000..3aab7d6 --- /dev/null +++ b/packages/XLR5.py @@ -0,0 +1,144 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Amphenol AC5MAH-AU-B 5-pin XLR connector. +# + +# dimensions in mm +Row1Spacing = 3.81 +Row2Spacing = 6.98 +SmallHole = 1.20 +LargeHole = 1.60 +Mnt1_Y = 3.81 +Mnt2_Y = 8.89 +Row1_Y = 12.70 +Row2_Y = 17.78 + +Shell_Width = 25.0 +Shell_Height = 18.3 + +# 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 "AC5MAH" "" "" 0 0 0 0 0 100 0x0]') +print ("(") + +# alignment pin holes +print (' Pin[', \ + mm2mils100(-Row1Spacing), \ + mm2mils100(Mnt1_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin6" "6"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row1Spacing), \ + mm2mils100(Mnt2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin6" "6"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(-Row1Spacing), \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin4" "4"', '0x0001', ']') + +print (' Pin[', \ + 0, \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin6" "6"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row1Spacing), \ + mm2mils100(Row1_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin2" "2"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(-Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin5" "5"', '0x0001', ']') + +print (' Pin[', \ + 0, \ + mm2mils100(Row2_Y), \ + mm2mils100(SmallHole*2), + Clearance, + mm2mils100(SmallHole*2) + Clearance, + mm2mils100(SmallHole), \ + '"pin3" "3"', '0x0001', ']') + +print (' Pin[', \ + mm2mils100(Row2Spacing), \ + mm2mils100(Row2_Y), \ + mm2mils100(LargeHole*2), + Clearance, + mm2mils100(LargeHole*2) + Clearance, + mm2mils100(LargeHole), \ + '"pin1" "1"', '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+2), \ + mm2mils100(Shell_Height), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100(Shell_Width/2), \ + mm2mils100(Shell_Height), \ + mm2mils100(Shell_Width/2-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 (")")