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, 'y': -1.3 }, { 'x': start_pos_x - 3,
#y-coords calculated based on drawing in datasheet #middle point of pads py = -6.7 #middle point of mechanical pads my = -1.65 #size of mechanical pads mw = 2.0 mh = 3.3 #x-pos of mechanical pads mx = A / 2 + 1.7 + 1.8 / 2 #middle point of connector ymid = (py + my) / 2 kicad_mod.setCenterPos({'x': 0, 'y': ymid}) # set general values kicad_mod.addText('reference', 'REF**', { 'x': 0, 'y': -8.5 - 0.675 }, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x': 0, 'y': 2}, 'F.Fab') #outline x1 = -B / 2 x2 = B / 2 y2 = -0.4 y1 = y2 - 5.8
#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) #add mounting pads (no number) mpad_w = 1.0 mpad_h = 2.8
# 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, Side entry type footprint_name = 'JST_PH_S{pincount}B-PH-SM4-TB_{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.setAttribute('smd') kicad_mod.setTags('connector jst ph') kicad_mod.setCenterPos({'x':0, 'y':5.55/2}) # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x-0.5, 'y':-3-0.225}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':8.5+0.275}, 'F.Fab') # create Silkscreen kicad_mod.addPolygoneLine([{'x':start_pos_x+0.5, 'y':7} ,{'x':start_pos_x+0.5, 'y':6} # 2.75 ,{'x':end_pos_x-0.5, 'y':6} ,{'x':end_pos_x-0.5, 'y':7}] ,'F.SilkS', 0.15) kicad_mod.addPolygoneLine([{'x':start_pos_x-0.9, 'y':1} ,{'x':start_pos_x-2.95+0.8, 'y':1}
# y-coords calculated based on drawing in datasheet # middle point of pads py = -6.7 # middle point of mechanical pads my = -1.65 # size of mechanical pads mw = 2.0 mh = 3.3 # x-pos of mechanical pads mx = A / 2 + 1.7 + 1.8 / 2 # middle point of connector ymid = (py + my) / 2 kicad_mod.setCenterPos({"x": 0, "y": ymid}) # set general values kicad_mod.addText("reference", "REF**", {"x": 0, "y": -8.5 - 0.675}, "F.SilkS") kicad_mod.addText("value", footprint_name, {"x": 0, "y": 2}, "F.Fab") # outline x1 = -B / 2 x2 = B / 2 y2 = -0.4 y1 = y2 - 5.8 # add outline to F.Fab kicad_mod.addRectLine({"x": x1, "y": y1}, {"x": x2, "y": y2}, "F.Fab", 0.15)
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)
pad_h = 1.0 B = 3 + (pincount - 1) * pad_spacing A = (pincount - 1) * pad_spacing jst_name = "SM{pincount:02}B-SURS-TF".format(pincount=pincount) # SMT type shrouded header, Side entry type (normal type) footprint_name = "JST_SUR_" + jst_name + "_{pincount:02}x0.80mm_Angled".format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST SUR series connector, " + jst_name) kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst SUR SMT side horizontal entry 0.80mm pitch') kicad_mod.setCenterPos({'x':0, 'y':-3.125}) #-1.675}) # 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) #add mounting pads (no number) mpad_w = 1.2 mpad_h = 1.75
#y-coords calculated based on drawing in datasheet #middle point of pads py = -6.7 #middle point of mechanical pads my = -1.65 #size of mechanical pads mw = 2.0 mh = 3.3 #x-pos of mechanical pads mx = A/2 + 1.7 + 1.8/2 #middle point of connector ymid = (py + my) / 2 kicad_mod.setCenterPos({'x': 0,'y': ymid}) # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-8.5 - 0.675}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':2}, 'F.Fab') #outline x1 = -B / 2 x2 = B / 2 y2 = -0.4 y1 = y2 - 5.8 #expand the outline a little bit out = 0.2 x1 -= out
# http://www.jst-mfg.com/product/pdf/eng/eSH.pdf pincount = int(args.pincount[0]) pad_spacing = 1. 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_SH_BM{pincount:02g}B-SRSS-TB_{pincount:02g}x1.00mm_Straight'.format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("http://www.jst-mfg.com/product/pdf/eng/eSH.pdf") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst sh') kicad_mod.setCenterPos({'x':0, 'y':2.525/2}) # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x, 'y':-2-0.2375}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':4.5+0.2625}, 'F.Fab') # create Silkscreen kicad_mod.addLine({'x':start_pos_x-0.4, 'y':-0.7}, {'x':end_pos_x+0.4, 'y':-0.7}, 'F.SilkS', 0.15) kicad_mod.addPolygoneLine([{'x':start_pos_x-1.5, 'y':1.2} ,{'x':start_pos_x-1.5, 'y':2.2} ,{'x':start_pos_x-0.6, 'y':2.2}] ,'F.SilkS', 0.15) kicad_mod.addRectLine({'x':start_pos_x-1, 'y':2.2}, {'x':start_pos_x-1, 'y':1.2}, 'F.SilkS', 0.15) kicad_mod.addRectLine({'x':start_pos_x-1, 'y':1.6}, {'x':start_pos_x-1.5, 'y':1.6}, 'F.SilkS', 0.15)
# A and B should be 0.1mm resolution A = int(A / 0.1) * 0.1 B = int(B / 0.1) * 0.1 jst_name = "SM{pincount:02}B-GHS-TB".format(pincount=pincount) # SMT type shrouded header, footprint_name = "JST_GH_" + jst_name + "_{pincount:02}x1.25mm_Angled".format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST GH series connector, " + jst_name + ", side entry type") kicad_mod.setAttribute("smd") kicad_mod.setTags("connector jst GH SMT side horizontal entry 1.25mm pitch") kicad_mod.setCenterPos({"x": 0, "y": -2.95}) # 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.55) # add mounting pads (no number) mpad_w = 1.0 mpad_h = 2.8
kicad_mod.setAttribute('smd') # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-4}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':7}, 'F.Fab') #pin pad size pad_w = 0.8 pad_h = 2.0 #component values A = (pincount - 1) * pitch B = A + 6.4 kicad_mod.setCenterPos({'x':0, 'y':1.49}) # create pads createNumberedPadsSMD(kicad_mod, pincount, pitch, {'x':pad_w,'y':pad_h},-1.9/2) #add mounting pads (no number) mpad_w = 1.5 mpad_h = 3.5 mpad_x = A/2 + 2.2 + 1.3 / 2 mpad_y = 2.25 + 3.35 / 2 + 0.005 kicad_mod.addPad('""', 'smd', 'rect', {'x':mpad_x, 'y':mpad_y}, {'x':mpad_w, 'y':mpad_h}, 0, ['F.Cu', 'F.Paste', 'F.Mask']) kicad_mod.addPad('""', 'smd', 'rect', {'x':-mpad_x, 'y':mpad_y}, {'x':mpad_w, 'y':mpad_h}, 0, ['F.Cu', 'F.Paste', 'F.Mask']) x1 = -B/2 y1 = -0.4
B = int(B / 0.1) * 0.1 jst_name = "SM{pincount:02}B-GHS-TB".format(pincount=pincount) # SMT type shrouded header, footprint_name = "JST_GH_" + jst_name + "_{pincount:02}x1.25mm_Angled".format( pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST GH series connector, " + jst_name + ", side entry type") kicad_mod.setAttribute('smd') kicad_mod.setTags( 'connector jst GH SMT side horizontal entry 1.25mm pitch') kicad_mod.setCenterPos({'x': 0, 'y': -2.95}) # 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.55)
# 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, 'y':-1.3} ,{'x':start_pos_x-3, 'y':-1.9} ,{'x':end_pos_x+3, 'y':-1.9} ,{'x':end_pos_x+3, 'y':-1.3}] ,'F.SilkS', 0.15) kicad_mod.addPolygoneLine([{'x':start_pos_x-3, 'y':2.5} ,{'x':start_pos_x-3, 'y':3.1}
B = 3 + (pincount - 1) * pad_spacing A = (pincount - 1) * pad_spacing jst_name = "SM{pincount:02}B-SURS-TF".format(pincount=pincount) # SMT type shrouded header, Side entry type (normal type) footprint_name = "JST_SUR_" + jst_name + "_{pincount:02}x0.80mm_Angled".format( pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST SUR series connector, " + jst_name) kicad_mod.setAttribute('smd') kicad_mod.setTags( 'connector jst SUR SMT side horizontal entry 0.80mm pitch') kicad_mod.setCenterPos({'x': 0, 'y': -3.125}) #-1.675}) # 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)
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) # set general values kicad_mod.addText('reference', 'REF**', {'x': 0, 'y': -1.5}, 'F.SilkS') kicad_mod.addText('user', '%R', {'x': 0, 'y': 1.25}, 'F.Fab')
A = int(A/0.1) * 0.1 B = int(B/0.1) * 0.1 jst_name = "SM{pincount:02}B-GHS-TB".format(pincount=pincount) # SMT type shrouded header, footprint_name = "JST_GH_" + jst_name + "_{pincount:02}x1.25mm_Angled".format(pincount=pincount) print(footprint_name) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("JST GH series connector, " + jst_name + ", side entry type") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst GH SMT side horizontal entry 1.25mm pitch') kicad_mod.setCenterPos({'x':0, 'y':-2.95}) # set general values kicad_mod.addText('reference', 'REF**', {'x':0, 'y':-6.75}, '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.55) #add mounting pads (no number) mpad_w = 1.0 mpad_h = 2.8
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.1}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':4.9}, 'F.Fab') #pin pad size pad_w = 0.7 pad_h = 1.8 kicad_mod.setCenterPos({'x':0,'y':0.4}) #component values A = (pincount - 1) * pitch B = A + 2.9 # create pads createNumberedPadsSMD(kicad_mod, pincount, pitch, {'x':pad_w,'y':pad_h},-1) #add mounting pads (no number) mpad_w = 1.6 mpad_h = 2.2 mpad_x = (B/2) + (mpad_w/2) mpad_y = 1.8 kicad_mod.addPad('""', 'smd', 'rect', {'x':mpad_x, 'y':mpad_y}, {'x':mpad_w, 'y':mpad_h}, 0, ['F.Cu', 'F.Paste', 'F.Mask'])
pincount = int(args.pincount[0]) pad_spacing = 1. 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_SH_SM{pincount:02g}B-SRSS-TB_{pincount:02g}x1.00mm_Angled'.format( pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("http://www.jst-mfg.com/product/pdf/eng/eSH.pdf") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst sh') kicad_mod.setCenterPos({'x': 0, 'y': 3.875 / 2}) # set general values kicad_mod.addText('reference', 'REF**', { 'x': start_pos_x, 'y': -2 - 0.0625 }, 'F.SilkS') kicad_mod.addText('value', footprint_name, { 'x': 0, 'y': 6.2 + 0.2375 }, 'F.Fab') # create Silkscreen kicad_mod.addLine({ 'x': start_pos_x - 0.4,
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 B = A + 6.4 kicad_mod.setCenterPos({'x': 0, 'y': 1.49}) # create pads createNumberedPadsSMD(kicad_mod, pincount, pitch, { 'x': pad_w, 'y': pad_h }, -1.9 / 2) #add mounting pads (no number) mpad_w = 1.3 mpad_h = 3.35 mpad_x = A / 2 + 2.2 + 1.3 / 2 mpad_y = 2.25 + 3.35 / 2 + 0.005 kicad_mod.addPad('""', 'smd', 'rect', { 'x': mpad_x,
# http://www.jst-mfg.com/product/pdf/eng/eSH.pdf pincount = int(args.pincount[0]) pad_spacing = 1. 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_SH_SM{pincount:02g}B-SRSS-TB_{pincount:02g}x1.00mm_Angled'.format(pincount=pincount) kicad_mod = KicadMod(footprint_name) kicad_mod.setDescription("http://www.jst-mfg.com/product/pdf/eng/eSH.pdf") kicad_mod.setAttribute('smd') kicad_mod.setTags('connector jst sh') kicad_mod.setCenterPos({'x':0, 'y':3.875/2}) # set general values kicad_mod.addText('reference', 'REF**', {'x':start_pos_x, 'y':-2-0.0625}, 'F.SilkS') kicad_mod.addText('value', footprint_name, {'x':0, 'y':6.2+0.2375}, 'F.Fab') # create Silkscreen kicad_mod.addLine({'x':start_pos_x-0.4, 'y':4.575}, {'x':end_pos_x+0.4, 'y':4.575}, 'F.SilkS', 0.15) ''' kicad_mod.addPolygoneLine([{'x':start_pos_x+0.5, 'y':4.575} ,{'x':start_pos_x+0.5, 'y':4.575-1} ,{'x':end_pos_x-0.5, 'y':4.575-1} ,{'x':end_pos_x-0.5, 'y':4.575}] ,'F.SilkS', 0.15)