# Through-hole type shrouded header, Top entry type footprint_name = "Socket_Strip_Straight_{rows:01}x{pincount:02}_Pitch2.00mm".format( rows=rows, pincount=pincount ) kicad_mod = KicadMod(footprint_name) if rows == 1: rlabel = "single" elif rows == 2: rlabel = "double" kicad_mod.setDescription( "Through hole socket strip, {rows}x{pincount:02}, 2.00mm pitch, ".format(rows=rows, pincount=pincount) + rlabel + " row" ) kicad_mod.setTags("socket strip " + rlabel + " row") # set general values kicad_mod.addText("reference", "REF**", {"x": 0, "y": -3}, "F.SilkS") kicad_mod.addText("value", footprint_name, {"x": 0, "y": -5}, "F.Fab") # add the pads for r in range(rows): for p in range(pincount): Y = r * pitch X = p * pitch
action='store_true') #TODO args = parser.parse_args() # http://www.farnell.com/datasheets/1520732.pdf pincount = int(args.pincount[0]) pad_spacing = 2.54 start_pos_x = 0 end_pos_x = pad_spacing * (pincount - 2) / 2 # Through-hole type shrouded header, Top entry type footprint_name = 'Multicomp_MC9A12-{pincount:02g}34_2x{pincount_half:02g}x2.54mm_Straight'.format( pincount=pincount, pincount_half=pincount / 2) # TODO: name kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription('http://www.farnell.com/datasheets/1520732.pdf') kicad_mod.setTags('connector multicomp MC9A MC9A12') # set general values kicad_mod.addText('reference', 'REF**', { 'x': start_pos_x - 3, 'y': -7 }, 'F.SilkS') kicad_mod.addText('value', footprint_name, { 'x': end_pos_x / 2., 'y': 5 }, 'F.Fab') # create Silkscreen # outline
from kicad_mod import KicadMod, createNumberedPadsTHT # http://www.jst-mfg.com/product/pdf/eng/ePH.pdf pitch = 2.50 for pincount in range(2,16): jst = "B{pincount:02}B-EH-A".format(pincount=pincount) # Through-hole type shrouded header, Top entry type footprint_name = "JST_EH_" + jst + "_{pincount:02}x2.50mm_Straight".format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST EH series connector, " + jst + ", 2.50mm pitch, top entry") kicad_mod.setTags('connector jst eh top vertical straight') # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-3}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':5}, 'F.Fab') drill = 0.9 dia = 1.85 # create pads createNumberedPadsTHT(kicad_mod, pincount, pitch, drill, {'x':dia, 'y':dia}) A = (pincount - 1) * pitch B = A + 5.0
pitch = 2.50 for pincount in range(2,16): jst = "S{pincount:02}B-EH".format(pincount=pincount) # Through-hole type shrouded header, side entry type footprint_name = "JST_EH_" + jst + "_{pincount:02}x2.50mm_Angled".format(pincount=pincount) print(footprint_name) A = (pincount - 1) * pitch B = A + 5.0 kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST EH series connector, " + jst + ", 2.50mm pitch, side entry") kicad_mod.setTags('connector jst eh side horizontal angled') # set general values kicad_mod.addText('reference', 'REF**', {'x':A/2, 'y':3}, 'F.SilkS') kicad_mod.addText('user', '%R', {'x':A/2, 'y':-2}, 'F.Fab') kicad_mod.addText('value', footprint_name, {'x':A/2, 'y':-8}, 'F.Fab') drill = 0.9 dia = 1.85 # create pads createNumberedPadsTHT(kicad_mod, pincount, pitch, drill, {'x':dia, 'y':dia}) x1 = -2.5
# http://www.jst-mfg.com/product/pdf/eng/eZE.pdf pitch = 1.5 for pincount in range(2,17): jst = "S{pincount:02}B-ZESK-2D".format(pincount=pincount) # Through-hole type shrouded header, side entry type footprint_name = "JST_ZE_" + jst + "_{pincount:02}x{pitch:02}mm_Angled".format(pincount=pincount, pitch=pitch) print(footprint_name) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST ZE series connector, " + jst + ", 1.50mm pitch, side entry through hole") kicad_mod.setTags('connector jst ze side horizontal angled tht through thru hole') #dimensions A = (pincount - 1) * 1.5 B = A + 4.5 #outline x1 = -1.55 - 0.7 x2 = x1 + B xMid = x1 + B/2 y2 = 3.7 + 3.65 y1 = y2 - 7.8 - 0.2
for rows in [1, 2]: for pincount in range(2, 41): #range(1,21): # Through-hole type shrouded header, Top entry type footprint_name = 'Socket_Strip_Straight_{rows:01}x{pincount:02}_Pitch2.00mm'.format( rows=rows, pincount=pincount) kicad_mod = KicadMod(footprint_name) if rows == 1: rlabel = "single" elif rows == 2: rlabel = "double" kicad_mod.setDescription( "Through hole socket strip, {rows}x{pincount:02}, 2.00mm pitch, ". format(rows=rows, pincount=pincount) + rlabel + " row") kicad_mod.setTags("socket strip " + rlabel + " row") # set general values kicad_mod.addText('reference', 'REF**', {'x': 0, 'y': -3}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x': 0, 'y': -5}, 'F.Fab') #add the pads for r in range(rows): for p in range(pincount): Y = r * pitch X = p * pitch num = r + 1 + (p * rows)
pad_h = 1.8 A = (pincount - 1) * 1.25 B = 3.25 + pincount * 1.25 #A and B should be 0.1mm resolution A = int(A/0.1) * 0.1 B = int(B/0.1) * 0.1 jst_name = "BM{pincount:02}B-GHS-TBT".format(pincount=pincount) # SMT type shrouded header, footprint_name = "JST_GH_" + jst_name + "_{pincount:02}x1.25mm_Straight".format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST GH series connector, " + jst_name + ", top entry type") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst GH SMT top vertical entry 1.25mm pitch') kicad_mod.setCenterPos({'x':0, 'y':-3.075}) # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-7.5}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':1.5}, 'F.Fab') #create outline # create Courtyard # output kicad model #create pads createNumberedPadsSMD(kicad_mod, pincount, pad_spacing, {'x':pad_w,'y':pad_h},-4.75)
from kicad_mod import KicadMod, createNumberedPadsTHT parser = argparse.ArgumentParser() parser.add_argument('pincount', help='number of pins of the jst connector', type=int, nargs=1) parser.add_argument('-v', '--verbose', help='show extra information while generating the footprint', action='store_true') #TODO args = parser.parse_args() # http://www.jst-mfg.com/product/pdf/eng/ePH.pdf pincount = int(args.pincount[0]) # Through-hole type shrouded header, Side entry type footprint_name = 'JST_PH_S{pincount}B-PH-K_{pincount:02}x2.00mm_Angled'.format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("http://www.jst-mfg.com/product/pdf/eng/ePH.pdf") kicad_mod.setTags('connector jst ph') # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-2.5}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':(pincount-1)*2/2, 'y':7.5}, 'F.Fab') # create Silkscreen kicad_mod.addPolygoneLine([{'x':0.5, 'y':6.25} ,{'x':0.5, 'y':2} ,{'x':(pincount-1)*2-0.5, 'y':2} ,{'x':(pincount-1)*2-0.5, 'y':6.25}] ,'F.SilkS', 0.15) kicad_mod.addPolygoneLine([{'x':-0.9, 'y':0.25} ,{'x':-1.95+0.7, 'y':0.25}
args = parser.parse_args() # http://www.molex.com/pdm_docs/sd/022272021_sd.pdf pincount = int(args.pincount[0]) pad_spacing = 2.54 start_pos_x = 0 end_pos_x = (pincount - 1) * pad_spacing # Through-hole type shrouded header, Top entry type footprint_name = 'Molex_KK_6410-{pincount:02g}'.format( pincount=pincount) # TODO: name kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription( "Connector Headers with Friction Lock, 22-27-2{pincount:02g}1, http://www.molex.com/pdm_docs/sd/022272021_sd.pdf" .format(pincount=pincount)) kicad_mod.setTags( 'connector molex kk_6410 22-27-2{pincount:02g}1'.format(pincount=pincount)) # set general values kicad_mod.addText('reference', 'REF**', { 'x': start_pos_x + 1, 'y': -4.5 }, 'F.SilkS') kicad_mod.addText('value', footprint_name, { 'x': (pincount - 1) * pad_spacing / 2., 'y': 4.5 }, 'F.Fab') # create Silkscreen
start_pos_x = -(pincount-1)*pad_spacing/2 end_pos_x = (pincount-1)*pad_spacing/2 pad_w = 0.6 pad_h = 1.4 B = 2.8 + pincount A = (pincount - 1) * 1.0 jst_name = "SM{pincount:02}B-SHLS-TF".format(pincount=pincount) # SMT type shrouded header, Side entry type (normal type) footprint_name = "JST_SHL_" + jst_name + "_{pincount:02}x1.00mm_Angled".format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST SHL series connector, " + jst_name) kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst SHL SMT side horizontal entry 1.0mm pitch') kicad_mod.setCenterPos({'x':0, 'y':-3.1125}) # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-6.5}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':2}, 'F.Fab') #create outline # create Courtyard # output kicad model #create pads createNumberedPadsSMD(kicad_mod, pincount, pad_spacing, {'x':pad_w,'y':pad_h}, -4.675)
parser.add_argument('pincount', help='number of pins of the jst connector', type=int, nargs=1) parser.add_argument('-v', '--verbose', help='show extra information while generating the footprint', action='store_true') #TODO args = parser.parse_args() # http://www.molex.com/pdm_docs/sd/022272021_sd.pdf pincount = int(args.pincount[0]) pad_spacing = 2.54 start_pos_x = 0 end_pos_x = (pincount-1)*pad_spacing # Through-hole type shrouded header, Top entry type footprint_name = 'Molex_KK_6410-{pincount:02g}'.format(pincount=pincount) # TODO: name kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("Connector Headers with Friction Lock, 22-27-2{pincount:02g}1, http://www.molex.com/pdm_docs/sd/022272021_sd.pdf".format(pincount=pincount)) kicad_mod.setTags('connector molex kk_6410 22-27-2{pincount:02g}1'.format(pincount=pincount)) # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x+1, 'y':-4.5}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':(pincount-1)*pad_spacing/2., 'y':4.5}, 'F.Fab') # create Silkscreen kicad_mod.addRectLine({'x':start_pos_x-2.54/2-0.1, 'y':-3.02}, {'x':end_pos_x+2.54/2+0.1, 'y':2.98}, 'F.SilkS', 0.15) #ramps if pincount <= 6: # single ramp kicad_mod.addPolygoneLine([{'x':start_pos_x, 'y':2.98} ,{'x':start_pos_x, 'y':1.98}
from kicad_mod import KicadMod, createNumberedPadsTHT # http://www.jst-mfg.com/product/pdf/eng/eZE.pdf pitch = 1.5 for pincount in range(2, 17): jst = "S{pincount:02}B-ZESK-2D".format(pincount=pincount) # Through-hole type shrouded header, side entry type footprint_name = "JST_ZE_" + jst + "_{pincount:02}x{pitch:02}mm_Angled".format( pincount=pincount, pitch=pitch) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST ZE series connector, " + jst + ", 1.50mm pitch, side entry through hole") kicad_mod.setTags( 'connector jst ze side horizontal angled tht through thru hole') #dimensions A = (pincount - 1) * 1.5 B = A + 4.5 #outline x1 = -1.55 - 0.7 x2 = x1 + B xMid = x1 + B / 2 y2 = 3.7 + 3.65 y1 = y2 - 7.8 - 0.2
parser.add_argument('pincount', help='number of pins of the jst connector', type=int, nargs=1) parser.add_argument('-v', '--verbose', help='show extra information while generating the footprint', action='store_true') #TODO args = parser.parse_args() # http://www.farnell.com/datasheets/1520732.pdf pincount = int(args.pincount[0]) pad_spacing = 2.54 start_pos_x = 0 end_pos_x = pad_spacing*(pincount-2)/2 # Through-hole type shrouded header, Top entry type footprint_name = 'Multicomp_MC9A12-{pincount:02g}34_2x{pincount_half:02g}x2.54mm_Straight'.format(pincount=pincount, pincount_half=pincount/2) # TODO: name kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription('http://www.farnell.com/datasheets/1520732.pdf') kicad_mod.setTags('connector multicomp MC9A MC9A12') # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x-3, 'y':-7}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':end_pos_x/2., 'y':5}, 'F.Fab') # create Silkscreen # outline kicad_mod.addRectLine({'x':start_pos_x-3.87-1.2, 'y':3.2}, {'x':end_pos_x+3.87+1.2, 'y':-pad_spacing-3.2}, 'F.SilkS', 0.15) # slot(s) if pincount < 60: kicad_mod.addPolygoneLine([{'x':((start_pos_x+end_pos_x)/2)-4.45/2, 'y':3.2} ,{'x':((start_pos_x+end_pos_x)/2)-4.45/2, 'y':1.9}
end_pos_x = (pincount - 1) * pad_spacing / 2 pad_w = 0.6 pad_h = 1.4 B = 2.8 + pincount A = (pincount - 1) * 1.0 jst_name = "SM{pincount:02}B-SHLS-TF".format(pincount=pincount) # SMT type shrouded header, Side entry type (normal type) footprint_name = "JST_SHL_" + jst_name + "_{pincount:02}x1.00mm_Angled".format( pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST SHL series connector, " + jst_name) kicad_mod.setAttribute('smd') kicad_mod.setTags( 'connector jst SHL SMT side horizontal entry 1.0mm pitch') kicad_mod.setCenterPos({'x': 0, 'y': -3.1125}) # set general values kicad_mod.addText('reference', 'REF**', {'x': 0, 'y': -6.5}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x': 0, 'y': 2}, 'F.Fab') #create outline # create Courtyard # output kicad model #create pads
args = parser.parse_args() # http://www.jst-mfg.com/product/pdf/eng/ePH.pdf pincount = int(args.pincount[0]) pad_spacing = 2 start_pos_x = -(pincount - 1) * pad_spacing / 2 end_pos_x = (pincount - 1) * pad_spacing / 2 # SMT type shrouded header, Top entry type footprint_name = 'JST_PH_B{pincount}B-PH-SM4-TB_{pincount:02}x2.00mm_Straight'.format( pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("http://www.jst-mfg.com/product/pdf/eng/ePH.pdf") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst ph') kicad_mod.setCenterPos({'x': 0, 'y': (4.75 - 1.9 + 0.6) / 2}) # set general values kicad_mod.addText('reference', 'REF**', { 'x': start_pos_x - 0.5, 'y': -3 - 0.275 }, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x': 0, 'y': 7 - 0.025}, 'F.Fab') # create Silkscreen kicad_mod.addPolygoneLine([{ 'x': start_pos_x - 3,
manu = "Hirose" suffix = "Straight" desc = "Hirose DF13 series connector, 1.25mm pitch, top entry PTH" tags = "connector hirose df13 top straight vertical through thru hole" for pincount in range(2,16): part = "DF13-{pincount:02}P-1.25DSA".format(pincount=pincount) footprint_name = "{0}_{1}_{2:02}x{3:.2f}mm_{4}".format(manu,part,pincount,pitch,suffix) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription(desc) kicad_mod.setTags(tags) A = (pincount - 1) * pitch B = A + 2.9 # set general values kicad_mod.addText('reference', 'REF**', {'x':A/2, 'y':-4}, 'F.SilkS') #kicad_mod.addText('user', '%R', {'x':A/2, 'y':-4}, 'F.Fab') kicad_mod.addText('value', footprint_name, {'x':A/2, 'y':2.5}, 'F.Fab') drill = 0.6 x_dia = 0.95 y_dia = 1.25
B = 3.25 + pincount * 1.25 #A and B should be 0.1mm resolution A = int(A / 0.1) * 0.1 B = int(B / 0.1) * 0.1 jst_name = "BM{pincount:02}B-GHS-TBT".format(pincount=pincount) # SMT type shrouded header, footprint_name = "JST_GH_" + jst_name + "_{pincount:02}x1.25mm_Straight".format( pincount=pincount) print(footprint_name) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST GH series connector, " + jst_name + ", top entry type") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst GH SMT top vertical entry 1.25mm pitch') kicad_mod.setCenterPos({'x': 0, 'y': 3.075}) #draw outline on the F.Fab layer y1 = 4.25 / 2 + 2.25 y2 = y1 - 4.25 kicad_mod.addRectLine({ 'x': -B / 2, 'y': y1 }, { 'x': B / 2, 'y': y2 }, 'F.Fab', 0.10)
for pincount in [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 30]: part = "53780-{0:02}70".format(pincount) desc = "{0:} {1}".format(manu, series) desc += " series connector, {0:.2f}mm pitch, side entry SMT, P/N: {1:}".format( pitch, part) tags = "conn molex panelmate" footprint_name = "{0}-{1}_{2:02}x{3:.2f}mm_{4}".format( manu + "_" + series, part, pincount, pitch, suffix) print(footprint_name) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription(desc) kicad_mod.setTags(tags) kicad_mod.setAttribute('smd') # set general values kicad_mod.addText('reference', 'REF**', {'x': 0, 'y': -3}, 'F.SilkS') #kicad_mod.addText('user', '%R', {'x':0, 'y':-3}, 'F.Fab') kicad_mod.addText('value', footprint_name, {'x': 0, 'y': 7}, 'F.Fab') #pin pad size pad_w = 0.8 pad_h = 1.9 #component values A = (pincount - 1) * pitch
parser.add_argument('pincount', help='number of pins of the jst connector', type=int, nargs=1) parser.add_argument('-v', '--verbose', help='show extra information while generating the footprint', action='store_true') #TODO args = parser.parse_args() # http://www.farnell.com/cad/360651.pdf pincount = int(args.pincount[0]) pad_spacing = 2.54 start_pos_x = 0 end_pos_x = pad_spacing*(pincount-2)/2 # Through-hole type shrouded header, Top entry type footprint_name = "Multicomp_MC9A22-{pincount:02g}34_2x{pincount_half:02g}x2.54mm_Angled".format(pincount=pincount, pincount_half=pincount/2) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription('http://www.farnell.com/cad/360651.pdf') kicad_mod.setTags('connector multicomp MC9A MC9A22') # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x-3, 'y':-15}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':end_pos_x/2., 'y':-5.5}, 'F.Fab') # create Silkscreen # outline kicad_mod.addRectLine({'x':start_pos_x-3.87-1.2, 'y':-pad_spacing-1.8}, {'x':end_pos_x+3.87+1.2, 'y':-pad_spacing-1.8-8.9}, 'F.SilkS', 0.15) # slot(s) def draw_pin_silk(slot_pin_x):