From 4a62f54d5137e0bcadc76f61bd496ffd326eb2fe Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 23 Nov 2022 12:01:29 -0700 Subject: [PATCH] updated STM32L452-100 and mx25l_qspi symbols, rpsma-th footprint --- packages/Makefile | 4 +- packages/NINA-W131.py | 101 ++++++++++++++++++++++++++++++++ packages/rpsma-th.py | 101 ++++++++++++++++++++++++++++++++ symbols/macronix/mx25l_qspi.sym | 72 +++++++++++------------ symbols/st/STM32L452-100.sym | 16 ++--- 5 files changed, 249 insertions(+), 45 deletions(-) create mode 100755 packages/NINA-W131.py create mode 100755 packages/rpsma-th.py diff --git a/packages/Makefile b/packages/Makefile index 6b5084b..f54d28d 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -164,7 +164,9 @@ FOOTPRINTS= \ dualbeeper.fp \ vqfn-48.fp \ miniso8.fp \ - PDFN33.fp + PDFN33.fp \ + rpsma-th.fp \ + NINA-W131.fp .5c.fp: nickle $*.5c -o $@ diff --git a/packages/NINA-W131.py b/packages/NINA-W131.py new file mode 100755 index 0000000..cf2d6dc --- /dev/null +++ b/packages/NINA-W131.py @@ -0,0 +1,101 @@ +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for U-Blox NINA-W131 WIFI module +# + +# dimensions in mm from: +# NINA_W13_Datasheet_UBX_17006694-2324218.pdf + +BodyLength = 10.6 # (A) +BodyWidth = 10.0 # (B) + +KerfTab = 0.10 # (G) depanelizing residual + +OuterPitch = 1.00 # (H) lateral and antenna row pin pitch +OuterWidth = 0.70 # (I) +OuterHeight = 1.15 # (J) +OuterEdge2pin1 = 0.45 # (D) + +InnerPitch = 1.15 # (P) central area pin pitch +InnerSize = 0.70 # (O) + +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 3') +print('# use-license: unlimited') + +print('Element[0x0 "NINA-W131" "" "" 0 0 11000 0 0 100 0x0]') +print("(") + +#rows = ['A','B','C','D','E','F','G','H','J'] +#for row in rows: +# rownum = rows.index(row) # rownum will run 0..8 +# for col in range (1,10): # col wil run 1..9 +# ThisPin = row+str(col) +# if ThisPin in ValidPin: +# print(' Pad[',\ +# mm2mils100((col-5) * PadSpacing), \ +# mm2mils100((rownum-4) * PadSpacing), \ +# mm2mils100((col-5) * PadSpacing), \ +# mm2mils100((rownum-4) * PadSpacing), \ +# mm2mils100(PadDiam), \ +# mm2mils100(Clearance), \ +# mm2mils100(Mask), \ +# '"%s"' % ThisPin, '"%s"' % ThisPin, '""]') + +print(' ElementLine[',\ + mm2mils100(-BodyLength/2), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-BodyLength/2), \ + mm2mils100( BodyWidth/2), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100(-BodyLength/2), \ + mm2mils100( BodyWidth/2), \ + mm2mils100( BodyLength/2), \ + mm2mils100( BodyWidth/2), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100( BodyLength/2), \ + mm2mils100( BodyWidth/2), \ + mm2mils100( BodyLength/2), \ + mm2mils100(-BodyWidth/2), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100( BodyLength/2), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-BodyLength/2), \ + mm2mils100(-BodyWidth/2), \ + '1000 ]') + +# depanelization residuals +print(' ElementLine[',\ + mm2mils100(-BodyLength/2-KerfTab), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-BodyLength/2-KerfTab), \ + mm2mils100(-BodyWidth/2+OuterHeight), \ + '1000 ]') + +print(' ElementLine[',\ + mm2mils100(-BodyLength/2-KerfTab), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(-BodyLength/2-KerfTab), \ + mm2mils100(BodyWidth/2-OuterHeight), \ + '1000 ]') + +#print(' ElementArc[',\ +# mm2mils100(-5 * PadSpacing), \ +# mm2mils100(-5 * PadSpacing), \ +# '500 500 0 360 1000 ]') + +print(")") diff --git a/packages/rpsma-th.py b/packages/rpsma-th.py new file mode 100755 index 0000000..decf857 --- /dev/null +++ b/packages/rpsma-th.py @@ -0,0 +1,101 @@ +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for +# Molex 0732519761, RP-SMA Connector Jack, Male Pin Through Hole Solder +# +# dimensions in mm from molex/732519760.pdf + +PinDiam = 1.27 +PinSpacing = 2.54 + +MntDiam = 1.59 +MntSpacing = 5.08 + +SilkDiam = 9.00 + +LineWidth = 600 +ThicknessDelta = 1.0 +Clearance = .32 +MaskDelta = 0.32 + +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 "RP-SMA" "" "" 0 0 0 0 0 100 0x0]') +print("(") + +print(' Pin[', \ + 0, \ + 0, \ + mm2mils100(PinDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(PinDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(PinDiam), \ + '"1"', \ + '"1"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(MntSpacing/2), \ + mm2mils100(MntSpacing/2), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"GND"', \ + '"2"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(-MntSpacing/2), \ + mm2mils100(MntSpacing/2), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"GND"', \ + '"2"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(MntSpacing/2), \ + mm2mils100(-MntSpacing/2), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"GND"', \ + '"2"', \ + "0x0001", ']') + +print(' Pin[', \ + mm2mils100(-MntSpacing/2), \ + mm2mils100(-MntSpacing/2), \ + mm2mils100(MntDiam+ThicknessDelta), \ + mm2mils100(Clearance), \ + mm2mils100(MntDiam+ThicknessDelta+MaskDelta), \ + mm2mils100(MntDiam), \ + '"GND"', \ + '"2"', \ + "0x0001", ']') + +print(' ElementArc[',\ + 0, \ + 0, \ + mm2mils100(SilkDiam/2), \ + mm2mils100(SilkDiam/2), \ + 0, \ + 360, \ + LineWidth, \ + ']') + +print(")") diff --git a/symbols/macronix/mx25l_qspi.sym b/symbols/macronix/mx25l_qspi.sym index 3af3d37..7b34f8b 100644 --- a/symbols/macronix/mx25l_qspi.sym +++ b/symbols/macronix/mx25l_qspi.sym @@ -1,80 +1,80 @@ v 20220529 2 -P 2400 550 2100 550 1 0 0 +P 2400 500 2100 500 1 0 0 { -T 2550 550 5 10 0 0 0 0 1 +T 2550 500 5 10 0 0 0 0 1 pintype=io -T 2045 545 5 10 1 1 0 6 1 +T 2045 495 5 10 1 1 0 6 1 pinlabel=SIO2 -T 2195 595 5 10 1 1 0 0 1 +T 2195 545 5 10 1 1 0 0 1 pinnumber=3 } -P 2400 950 2100 950 1 0 0 +P 2400 900 2100 900 1 0 0 { -T 2550 950 5 10 0 0 0 0 1 +T 2550 900 5 10 0 0 0 0 1 pintype=io -T 2045 945 5 10 1 1 0 6 1 +T 2045 895 5 10 1 1 0 6 1 pinlabel=SO/SIO1 -T 2195 995 5 10 1 1 0 0 1 +T 2195 945 5 10 1 1 0 0 1 pinnumber=2 } -P 0 950 300 950 1 0 0 +P 0 900 300 900 1 0 0 { -T -200 950 5 10 0 0 0 6 1 +T -200 900 5 10 0 0 0 6 1 pintype=in -T 355 945 5 10 1 1 0 0 1 +T 355 895 5 10 1 1 0 0 1 pinlabel=CS# -T 205 995 5 10 1 1 0 6 1 +T 205 945 5 10 1 1 0 6 1 pinnumber=1 } -P 2400 150 2100 150 1 0 0 +P 2400 100 2100 100 1 0 0 { -T 2550 150 5 10 0 0 0 0 1 +T 2550 100 5 10 0 0 0 0 1 pintype=io -T 2045 145 5 10 1 1 0 6 1 +T 2045 95 5 10 1 1 0 6 1 pinlabel=SIO3 -T 2195 195 5 10 1 1 0 0 1 +T 2195 145 5 10 1 1 0 0 1 pinnumber=7 } -P 2400 1350 2100 1350 1 0 0 +P 2400 1300 2100 1300 1 0 0 { -T 2550 1350 5 10 0 0 0 0 1 +T 2550 1300 5 10 0 0 0 0 1 pintype=io -T 2045 1345 5 10 1 1 0 6 1 +T 2045 1295 5 10 1 1 0 6 1 pinlabel=SI/SIO0 -T 2195 1395 5 10 1 1 0 0 1 +T 2195 1345 5 10 1 1 0 0 1 pinnumber=5 } -P 0 550 300 550 1 0 0 +P 0 500 300 500 1 0 0 { -T -200 550 5 10 0 0 0 6 1 +T -200 500 5 10 0 0 0 6 1 pintype=in -T 355 545 5 10 1 1 0 0 1 +T 355 495 5 10 1 1 0 0 1 pinlabel=SCLK -T 205 595 5 10 1 1 0 6 1 +T 205 545 5 10 1 1 0 6 1 pinnumber=6 } -P 0 150 300 150 1 0 0 +P 0 100 300 100 1 0 0 { -T -100 150 5 10 0 0 0 6 1 +T -100 100 5 10 0 0 0 6 1 pintype=pwr -T 355 150 5 10 1 1 0 0 1 +T 355 100 5 10 1 1 0 0 1 pinlabel=GND -T 205 200 5 10 1 1 0 6 1 +T 205 150 5 10 1 1 0 6 1 pinnumber=4 } -P 0 1350 300 1350 1 0 0 +P 0 1300 300 1300 1 0 0 { -T 355 1350 5 10 1 1 0 0 1 +T 355 1300 5 10 1 1 0 0 1 pinlabel=VCC -T 205 1400 5 10 1 1 0 6 1 +T 205 1350 5 10 1 1 0 6 1 pinnumber=8 -T -200 1300 5 10 0 0 180 0 1 +T -200 1250 5 10 0 0 180 0 1 pintype=pwr } -B 300 0 1800 1650 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 -T 305 2000 8 10 0 0 0 0 1 +B 300 -50 1800 1675 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1 +T 305 2050 8 10 0 0 0 0 1 device=IC -T 295 2220 8 10 0 0 0 0 1 +T 295 2270 8 10 0 0 0 0 1 footprint=SOIJ8 -T 295 1745 8 10 1 1 0 0 1 +T 295 1695 8 10 1 1 0 0 1 refdes=U? diff --git a/symbols/st/STM32L452-100.sym b/symbols/st/STM32L452-100.sym index 92c6859..be75171 100644 --- a/symbols/st/STM32L452-100.sym +++ b/symbols/st/STM32L452-100.sym @@ -129,13 +129,13 @@ pinnumber=7 T 19845 14195 3 10 1 1 0 6 1 pinlabel=PC13/RTC_TAMP1/RTC_TS/RTC_OUT/WKUP2 } -P 6400 20100 6400 19700 1 0 0 +P 6800 20100 6800 19700 1 0 0 { -T 6350 19795 5 10 1 1 90 0 1 +T 6750 19795 5 10 1 1 90 0 1 pinnumber=6 -T 6400 19645 3 10 1 1 90 6 1 +T 6800 19645 3 10 1 1 90 6 1 pinlabel=VBAT -T 6400 21350 5 10 0 0 270 2 1 +T 6800 21350 5 10 0 0 270 2 1 pintype=pwr } P 20300 4200 19900 4200 1 0 0 @@ -152,13 +152,13 @@ pinnumber=8 T 19845 13795 3 10 1 1 0 6 1 pinlabel=PC14/OSC32_IN } -P 6800 20100 6800 19700 1 0 0 +P 3200 20100 3200 19700 1 0 0 { -T 6750 19795 5 10 1 1 90 0 1 +T 3150 19795 5 10 1 1 90 0 1 pinnumber=22 -T 6800 19645 3 10 1 1 90 6 1 +T 3200 19645 3 10 1 1 90 6 1 pinlabel=VDDA -T 6800 21350 5 10 0 0 270 2 1 +T 3200 21350 5 10 0 0 270 2 1 pintype=pwr } P 0 13800 400 13800 1 0 0 -- 2.30.2