# test script - uses macros in footprints.inc # generates 1 big footprint composed of lots of footprints on a 1in x 1in grid # To make a single footprint, delete all the macros but the one you want and # place it at (0,0). At the end, leave the call to mywriteland() include("footprints.inc") include("constraints.inc") # location of first footprint define("x", -1in) define("y", 1.5in) ##### DIP ##### num_pads = 14 pad_diameter = 55mil drill_diameter = 30mil pitch_x = 0.3in # horizontal pin center to center distance pitch_y = 0.1in # vertical pin center to center distance keepout = 25mils # pad outline to center-silk distance DIP(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints x = x + 1in # move on to next footprint location ##### SIP ##### num_pads = 8 pad_diameter = 55mil drill_diameter = 30mil pitch_y = 0.1in # vertical pin center to center distance keepout = 25mils # pad outline to center-silk distance SIP(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints x = x + 1in # move on to next footprint location ##### Test pin - single pin SIP ##### num_pads = 1 pad_diameter = 55mil drill_diameter = 30mil keepout = 25mils # pad outline to center-silk distance SIP(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints x = -0.5in # move on to next footprint location y = y - 1in ##### square QFP with tab ##### num_pads_x = 12 num_pads_y = 12 padgap_x = 6.8mm # gap between pads on left and right padgap_y = 6.8mm # gap between pads on top and bottom pitch_x = 0.5mm # row pads center to center distance pitch_y = 0.5mm # column pads center to center distance # dimension pads for left and right sides (auto-rotates for top and bottom) pad_width = 1.6mm pad_height = 0.30mm keepout = 1mm # center-silk to edge of pads silk_location = "inside" # use "outside" to put silk outside of pads # dimensions of center tab tab_height = 2mm tab_width = 2mm QFP(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # next footprint location x = x + 1in ##### rectangular QFP without tab ##### num_pads_x = 20 num_pads_y = 30 padgap_x = 13.7mm # gap between pads on left and right padgap_y = 19.7mm # gap between pads on top and bottom pitch_x = 0.65mm # row pads center to center distance pitch_y = 0.65mm # column pads center to center distance # dimension pads for left and right sides (auto-rotates for top and bottom) pad_width = 2.24mm pad_height = 0.36mm keepout = 1mm # center-silk to edge of pads silk_location = "outside" # use "inside" to put silk inside of pads tab_height = 0 tab_width = 0 QFP(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # next footprint location x = -0.5in y = y - 1in ##### SO ##### num_pads = 14 pad_width = 2.2mm pad_height = 0.6mm padgap_x = 3mm # horizontal gap between left and right pads pitch_y = 1.27mm # column pads center to center distance keepout = 1mm # center-silk to edge of pads SO(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # next footprint location x = x + 1in ##### 2 pad device - just use SO ##### num_pads = 2 pad_width = 1.1mm pad_height = 1.1mm padgap_x = 0.6mm # horizontal gap between left and right pads keepout = 20mils # center-silk to edge of pads SO(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # next footprint location x = -.5in y = y - 1in ##### square BGA ##### num_pads_x = 16 num_pads_y = 16 pad_width = pad_height = 0.4mm # round pads pitch_x = 1mm # row pads center to center distance pitch_y = 1mm # column pads center to center distance keepout = 1mm - pad_width/2 # center-silk to edge of pads BGA(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # next footprint location x = x + 1in ##### rectangular BGA, omitting a few pads ##### num_pads_x = 6 num_pads_y = 8 pad_omit = {D3,D4,E3:E4} # ranges or individual pads are both OK pad_width = pad_height = 0.4mm # round pads pitch_x = 1mm # row pads center to center distance pitch_y = 1mm # column pads center to center distance keepout = 1mm - pad_width/2 # center-silk to edge of pads BGA(x,y) # place at (x,y) - normally (0,0), but offset to fit other footprints # write it all out mywriteland("footprints")