Subversion Repositories OpenARM Single-board Computer

Rev

Rev 412 | Blame | Compare with Previous | Last modification | View Log | RSS feed

# author:       Jelle de Jong <jelledejong@powercraft.nl>
# dist-license: GPLv3
# use-license:  unlimited

# 22:00-00:00=2:00 hours it took to calculate the pad values
# 11:00-12:00=1:00 hours it took to calculate the silkscreen values

#Element[   SFlags  "Desc"  "Name"  "Value" MX      MY      TX  TY  TDir    TScale  TSFlags ]
Element [   ""      ""      ""      ""      1000    1000    0   0   0       100     ""      ]
(
    Attribute("description"     "SOIC18 (MCP2515-I/SO)")
    Attribute("author"          "Jelle de Jong <jelledejong@powercraft.nl>")
    Attribute("copyright"       "Copyright (C) 2009 by Jelle de Jong, PowerCraft Technology")
    Attribute("use-license"     "unlimited")
    Attribute("dist-license"    "GNU General Public License v3")
    Attribute("documentation"   "http://ww1.microchip.com/downloads/en/DeviceDoc/21801e.pdf")

#   Pad [   rX1      rY1      rX2     rY2     Thickness   Clearance   Mask    "Name"  "Number"    SFlags      ]
    Pad [ -20000    -14842  -20000   -20748   2480        3001        2728     ""     "18"        "square"    ]
    Pad [ -15000    -14842  -15000   -20748   2480        3001        2728     ""     "17"        "square"    ]
    Pad [ -10000    -14842  -10000   -20748   2480        3001        2728     ""     "16"        "square"    ]
    Pad [  -5000    -14842   -5000   -20748   2480        3001        2728     ""     "15"        "square"    ]
    Pad [   0       -14842    0      -20748   2480        3001        2728     ""     "14"        "square"    ]
    Pad [   5000    -14842    5000   -20748   2480        3001        2728     ""     "13"        "square"    ]
    Pad [  10000    -14842   10000   -20748   2480        3001        2728     ""     "12"        "square"    ]
    Pad [  15000    -14842   15000   -20748   2480        3001        2728     ""     "11"        "square"    ]
    Pad [  20000    -14842   20000   -20748   2480        3001        2728     ""     "10"        "square"    ]

    Pad [ -20000     14842  -20000    20748   2480        3001        2728     ""     "1"         "square"    ]
    Pad [ -15000     14842  -15000    20748   2480        3001        2728     ""     "2"         "square"    ]
    Pad [ -10000     14842  -10000    20748   2480        3001        2728     ""     "3"         "square"    ]
    Pad [  -5000     14842   -5000    20748   2480        3001        2728     ""     "4"         "square"    ]
    Pad [   0        14842    0       20748   2480        3001        2728     ""     "5"         "square"    ]
    Pad [   5000     14842    5000    20748   2480        3001        2728     ""     "6"         "square"    ]
    Pad [  10000     14842   10000    20748   2480        3001        2728     ""     "7"         "square"    ]
    Pad [  15000     14842   15000    20748   2480        3001        2728     ""     "8"         "square"    ]
    Pad [  20000     14842   20000    20748   2480        3001        2728     ""     "9"         "square"    ]


#   ElementLine [   rX1     rY1      rX2     rY2     Thickness   ]
#   ElementLine [  -22736  -11083    22736  -11083   1000        ]
    ElementLine [   22736  -11083    22736   11083   1000        ]
#   ElementLine [   22736   11083   -22736   11083   1000        ]
#   ElementLine [  -22736   11083   -22736  -11083   1000        ]

    ElementLine [  -22736  -11083   -2500   -11083   1000        ]
    ElementLine [   2500   -11083    22736  -11083   1000        ]

    ElementLine [   22736   11083    2500    11083   1000        ]
#   ElementLine [  -2500    11083   -22736   11083   1000        ]

    ElementLine [  -2500    11083   -20236   11083   1000        ]
    ElementLine [  -22736    8582   -22736  -11083   1000        ]
    ElementLine [  -22736    8582   -20236   11083   1000        ]

#   ElementLine [  -20236    8582   -20236   8582    1000        ]
)

# mm to 1000st mill is
# echo "scale=5; ((X)*10/2.54)*1000" | bc

# -----

# reverse engineering footprint data from several sources

# E = 10.30
# E1 = 7.50
# center of pad will be:
# echo "scale=5; (10.30 - 7.50) / 2" | bc
# 1.40000
# echo "scale=5; 7.50 / 2" | bc
# 3.75000
# echo "scale=5; 3.750 + 1.40" | bc
# 5.150 mm up from center of part

# pad width:
# 0.63 mm

# pad length:
# echo "scale=5; (9.270 - 5.010) / 2" | bc
# 2.13000

# -----

# Thickness
# 0.63 mm
# echo "scale=5; (0.63*10/2.54)*1000" | bc
# 2480.31000

# Mask
# 10%
# echo "scale=5; 0.63 * 1.10" | bc
# 0.6930
# echo "scale=5; (0.6930*10/2.54)*1000" | bc
# 2728.34000

# Clearance
# 10%
# echo "scale=5; 0.6930 * 1.10" | bc
# 0.76230
# echo "scale=5; (0.76230*10/2.54)*1000" | bc
# 3001.18000


# ----- pin 14

# X1 and X2
# X1 = 0
# X2 = 0

# Y1:
# lower edge of pad
# echo "scale=5; 5.150 - (2.130 / 2)" | bc
# 4.08500
# echo "scale=5; 0.63 / 2" | bc
# 0.31500
# echo "scale=5; 4.0850 - 0.31500" | bc
# 3.77000
# echo "scale=5; (3.770*10/2.54)*1000" | bc
# - 14842.51000

# Y2:
# echo "scale=5; 2.130 - 0.630" | bc
# 1.50000
# echo "scale=5; 3.770 + 1.50" | bc
# 5.270
# echo "scale=5; (5.270*10/2.54)*1000" | bc
# - 20748.03000


# ----- pin 13

# pitch = 1.27 mm

# X1 and X2
# echo "scale=5; (1.270*10/2.54)*1000" | bc
# + 5000.00000


# ----- uper left corner silkscreen

# X1
# body length
# 11.55 mm
# echo "scale=5; 11.55 / 2" | bc
# 5.77500
# echo "scale=5; (5.77500*10/2.54)*1000" | bc
# - 22736.22000

# Y1
# lower edge of pad - pitch - half of thinkness silkscreen
# echo "scale=5; 4.08500 - 1.27" | bc
# 2.81500
# echo "scale=5; (2.8150*10/2.54)*1000" | bc
# - 11082.67000


# ----- pin one indication corner

# half of the pitch
# X1 and X2
# echo "scale=5; 1.270 / 2" | bc
# 0.63500
# echo "scale=5; 5.7750 - 0.6350" | bc
# 5.1400
# echo "scale=5; ((5.1400)*10/2.54)*1000" | bc
# 20236.22000

# Y1
# 2.81500
# echo "scale=5; 1.270 / 2" | bc
# 0.63500
# echo "scale=5; 2.8150 - 0.6350" | bc
# 2.1800
# echo "scale=5; ((2.180)*10/2.54)*1000" | bc
# 8582.67000