From: Bdale Garbee Date: Wed, 30 Nov 2022 18:15:26 +0000 (-0700) Subject: datasheet and footprint for Onion Omega2S Linux SOM X-Git-Url: https://git.gag.com/?p=hw%2Faltusmetrum;a=commitdiff_plain;h=b0a86b5f7f619a43188717da2647cf99dd8760a2 datasheet and footprint for Onion Omega2S Linux SOM --- diff --git a/datasheets/onion/Omega2S_Datasheet.pdf b/datasheets/onion/Omega2S_Datasheet.pdf new file mode 100644 index 0000000..cc06ade Binary files /dev/null and b/datasheets/onion/Omega2S_Datasheet.pdf differ diff --git a/packages/Makefile b/packages/Makefile index f54d28d..16e6c80 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -166,7 +166,8 @@ FOOTPRINTS= \ miniso8.fp \ PDFN33.fp \ rpsma-th.fp \ - NINA-W131.fp + NINA-W131.fp \ + Omega2S.fp .5c.fp: nickle $*.5c -o $@ diff --git a/packages/Omega2S.py b/packages/Omega2S.py new file mode 100755 index 0000000..fbdef5c --- /dev/null +++ b/packages/Omega2S.py @@ -0,0 +1,95 @@ +#!/usr/bin/python3 +# Copyright 2022 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Onion Omega2S Linux SOM +# + +# dimensions in mm from: +# onion/Omega2S_Datasheet.pdf + +BodyLength = 34.0 +BodyWidth = 20.0 + +OuterPitch = 1.27 +OuterWidth = 0.86 +OuterHeight = 1.50 + +LeftOffset = 1.76 + +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 "Omega2S" "" "" 0 0 11000 0 0 100 0x0]') +print("(") + +# outer 2 long rows +for pin in range (0,25): + print(' Pad[',\ + mm2mils100(-BodyLength/2 + LeftOffset + pin*OuterPitch), \ + mm2mils100(-BodyWidth/2 + OuterHeight/2 - OuterWidth/2), \ + mm2mils100(-BodyLength/2 + LeftOffset + pin*OuterPitch), \ + mm2mils100(-BodyWidth/2 - OuterHeight/2 + OuterWidth/2), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (63 - pin), '"%i"' % (63 - pin), '"square"]') + + print(' Pad[',\ + mm2mils100(-BodyLength/2 + LeftOffset + pin*OuterPitch), \ + mm2mils100(BodyWidth/2 + OuterHeight/2 - OuterWidth/2), \ + mm2mils100(-BodyLength/2 + LeftOffset + pin*OuterPitch), \ + mm2mils100(BodyWidth/2 - OuterHeight/2 + OuterWidth/2), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (1 + pin), '"%i"' % (1 + pin), '"square"]') + +# right side row +for pin in range (0,13): + print(' Pad[',\ + mm2mils100(BodyLength/2 + OuterHeight/2 - OuterWidth/2), \ + mm2mils100((pin-6) * OuterPitch), \ + mm2mils100(BodyLength/2 - OuterHeight/2 + OuterWidth/2), \ + mm2mils100((pin-6) * OuterPitch), \ + mm2mils100(OuterWidth), \ + mm2mils100(OuterPitch - OuterWidth), \ + mm2mils100(OuterWidth)+600, \ + '"pin%i"' % (38 - pin), '"%i"' % (38 - pin), '"square"]') + +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 ]') + +print(")")