From 72a9f3030bf49428b4fe0fcd754d39693b8782a4 Mon Sep 17 00:00:00 2001 From: Sam Calisch <s.calisch@gmail.com> Date: Mon, 4 Sep 2017 18:52:15 -0400 Subject: [PATCH] added nrf52 stepper driver with drv8825 --- nrf52-stepper/nrf52-stepper-interior.png | Bin 0 -> 42953 bytes nrf52-stepper/nrf52-stepper-traces.png | Bin 0 -> 62888 bytes nrf52-stepper/nrf52-stepper.ko | 464 +++++++++++++++++++++++ 3 files changed, 464 insertions(+) create mode 100644 nrf52-stepper/nrf52-stepper-interior.png create mode 100644 nrf52-stepper/nrf52-stepper-traces.png create mode 100644 nrf52-stepper/nrf52-stepper.ko diff --git a/nrf52-stepper/nrf52-stepper-interior.png b/nrf52-stepper/nrf52-stepper-interior.png new file mode 100644 index 0000000000000000000000000000000000000000..76b8085c67292347dd57dd63d4b6e740b21c2546 GIT binary patch literal 42953 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 literal 0 HcmV?d00001 diff --git a/nrf52-stepper/nrf52-stepper-traces.png b/nrf52-stepper/nrf52-stepper-traces.png new file mode 100644 index 0000000000000000000000000000000000000000..2de966e5dadec1734f8ca142b5c2a41b604c1cd1 GIT binary patch literal 62888 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 Q&Loi4p00i_>zopr0N>zz8~^|S literal 0 HcmV?d00001 diff --git a/nrf52-stepper/nrf52-stepper.ko b/nrf52-stepper/nrf52-stepper.ko new file mode 100644 index 0000000..de4716e --- /dev/null +++ b/nrf52-stepper/nrf52-stepper.ko @@ -0,0 +1,464 @@ +from koko.lib.sam import * +from koko.lib.pcb import * +from koko.lib.shapes2d import * + + +class R_0805(Component): + ''' 0805 Resistor + ''' + pins = [ + Pin(-0.04, 0, s2d.rectangle(-.023,.017, -.027, .027)), + Pin(0.04, 0, s2d.rectangle(-.017,.023, -.027, .027)) + ] + prefix = 'R' + vias = [] + +class R_1206(Component): + ''' 1206 Resistor + ''' + pins = [ + Pin(-0.06, 0, s2d.rectangle(-0.032, 0.03, -0.034, 0.034)), + Pin(0.06, 0, s2d.rectangle(-0.03, 0.032, -0.034, 0.034))] + prefix = 'R' + vias = [] + +def bot_chamfered_rectangle(x0,x1,y0,y1,c): + r = rectangle(x0,x1,y0,y1) + c1 = triangle(x0,y0,x0,y0+c,x0+c,y0) + c2 = triangle(x1,y1, x1, y1-c, x1-c, y1) + c3 = triangle(x0,y1, x0+c, y1, x0, y1-c) + c4 = triangle(x1,y0, x1-c, y0, x1, y0+c) + return r-c2-c3 + +class cap_UWT(Component): + '''UWT series aluminum smd cap + http://nichicon-us.com/english/products/pdfs/e-uwt.pdf + ''' + _d = 8 #mm, diameter + _h = 10.5 #mm, height + _a = 2.9/25.4 + _e = 3.1/25.4 + _h = 1./25.4 + 2/25.4 + _pad = rectangle(-_h/2,_h/2,-_a/2-.03,_a/2+.03) + pins = [Pin(0,-(_e+_a)/2-.01,_pad,'-'),Pin(0,(_e+_a)/2+.01,_pad,'+')] + vias = [] + shadow = bot_chamfered_rectangle(-4/25.4,4/25.4,-4/25.4,4/25.4,1/25.4) + + +class Pheonix_WTB(Component): + _pad = rectangle(-.4*1.2/25.4,.4*1.2/25.4, -.5*3.4/25.4,.5*3.4/25.4) + _pad_big = chamfered_rectangle(-1.15/25.4,1.15/25.4,-2.8/25.4,2.8/25.4,.01) + pins = [ + Pin(-1.5*2.5/25.4, -6.6/25.4,_pad,'1'), + Pin(- .5*2.5/25.4, -6.6/25.4,_pad,'2'), + Pin( .5*2.5/25.4, -6.6/25.4,_pad,'3'), + Pin( 1.5*2.5/25.4, -6.6/25.4,_pad,'4'), + Pin( -12.7/25.4/2, 0, _pad_big), + Pin( 12.7/25.4/2, 0, _pad_big), + ] + vias = [] + shadow = rectangle(-6/25.4,6/25.4,-8.3/25.4,2.8/25.4) + +class DRV8825(Component): + '''Stepper driver''' + _pad = rectangle(-.8/25.4,.8/25.4,-.17/25.4,.17/25.4) + p = .65/25.4 + w = 5.6/25.4 + labels = ["CP1","CP2",'VCP','VMA','AOUT1','ISENA','AOUT2','BOUT2','ISENB','BOUT1','VMB','AVREF','BVREF','GND', + "V3OUT",'nRST','nSLP','nFLT','DECAY','DIR','nEBL','STEP','NC','MODE0','MODE1','MODE2','nHOME','GND2'] + pins = [Pin(-.5*w,(6.5-i)*p,_pad,l,label_size=.02) for i,l in enumerate(labels[:14])] + pins += [Pin(.5*w,(-6.5+i)*p,_pad,l,label_size=.02) for i,l in enumerate(labels[14:])] + pins += [Pin(0,0,rectangle(-1.5/25.4,1.5/25.4,-4/25.4,4/25.4),'GND3',label_size=.02)] + vias = [] + +class Regulator_SOT23(Component): + ''' LM3480 100-mA, 3.3V + ''' + _pad_SOT23 = s2d.rectangle(-.02,.02,-.012,.012) + pins = [ + Pin(-0.045, -0.0375, _pad_SOT23,'IN'), + Pin(-0.045, 0.0375, _pad_SOT23,'OUT'), + Pin(0.045, 0, _pad_SOT23,'GND') + ] + prefix = 'U' + vias = [] + +class AS5047D(Component): + _pad_TSSOP = rectangle(-.7/25.4,.7/25.4, -.2/25.4,.2/25.4) + hw = 5.55/25.4/2 + pitch = .65/25.4 + pins = [ + Pin(-hw, 3*pitch,_pad_TSSOP,'CSn',label_size=.02), + Pin(-hw, 2*pitch,_pad_TSSOP,'CLK',label_size=.02), + Pin(-hw, 1*pitch,_pad_TSSOP,'MISO',label_size=.02), + Pin(-hw, 0*pitch,_pad_TSSOP,'MOSI',label_size=.02), + Pin(-hw,-1*pitch,_pad_TSSOP,'TEST',label_size=.02), + Pin(-hw,-2*pitch,_pad_TSSOP,'B',label_size=.02), + Pin(-hw,-3*pitch,_pad_TSSOP,'A',label_size=.02), + Pin( hw,-3*pitch,_pad_TSSOP,'W/PWM',label_size=.02), + Pin( hw,-2*pitch,_pad_TSSOP,'V',label_size=.02), + Pin( hw,-1*pitch,_pad_TSSOP,'U',label_size=.02), + Pin( hw, 0*pitch,_pad_TSSOP,'VDD',label_size=.02), + Pin( hw, 1*pitch,_pad_TSSOP,'VDD3V',label_size=.02), + Pin( hw, 2*pitch,_pad_TSSOP,'GND',label_size=.02), + Pin( hw, 3*pitch,_pad_TSSOP,'I/PWM',label_size=.02), + ] + vias = [] + prefix='IC' + shadow = s2d.rectangle(-2.25/25.4,2.25/25.4, -2.95/25.4,2.95/25.4) +class AS5047D_FLIP(Component): + _pad_TSSOP = rectangle(-.9/25.4,.9/25.4, -.2/25.4,.2/25.4) + hw = 5.55/25.4/2 + pitch = .65/25.4 + pins = [ + Pin( hw, 3*pitch,_pad_TSSOP,'CSn',label_size=.02), + Pin( hw, 2*pitch,_pad_TSSOP,'CLK',label_size=.02), + Pin( hw, 1*pitch,_pad_TSSOP,'MISO',label_size=.02), + Pin( hw, 0*pitch,_pad_TSSOP,'MOSI',label_size=.02), + Pin( hw,-1*pitch,_pad_TSSOP,'TEST',label_size=.02), + Pin( hw,-2*pitch,_pad_TSSOP,'B',label_size=.02), + Pin( hw,-3*pitch,_pad_TSSOP,'A',label_size=.02), + Pin(-hw,-3*pitch,_pad_TSSOP,'W/PWM',label_size=.02), + Pin(-hw,-2*pitch,_pad_TSSOP,'V',label_size=.02), + Pin(-hw,-1*pitch,_pad_TSSOP,'U',label_size=.02), + Pin(-hw, 0*pitch,_pad_TSSOP,'VDD',label_size=.02), + Pin(-hw, 1*pitch,_pad_TSSOP,'VDD3V',label_size=.02), + Pin(-hw, 2*pitch,_pad_TSSOP,'GND',label_size=.02), + Pin(-hw, 3*pitch,_pad_TSSOP,'I/PWM',label_size=.02), + ] + vias = [ Via(0,0, dogboned_rectangle( -2.75/25.4,2.75/25.4, -2.95/25.4,2.95/25.4, .017 ) ) ] + prefix='IC' + shadow = s2d.rectangle(-2.25/25.4,2.25/25.4, -2.95/25.4,2.95/25.4) + +class Header_Stepper(Component): + ''' For bipolar stepper + ''' + _pad_header = chamfered_rectangle(-0.06, 0.06, -0.022, 0.022,.007) + pins = [ + Pin(0, -0.15, _pad_header, 'A1'), + Pin(0, -0.05, _pad_header, 'A2'), + Pin(0, 0.05, _pad_header, 'B1'), + Pin(0, 0.15, _pad_header, 'B2'), + ] + prefix = 'J' + vias = [] + shadow = s2d.rectangle(-.06,8/25.4,-.18,.18) + + +class Button(Component): + ''' SW262CT-ND + ''' + rect = rectangle(-.75/25.4,.75/25.4,-.5/25.4,.5/25.4) + pins = [ + Pin(-2/25.4,.8/25.4,rect), + Pin( 2/25.4,.8/25.4,rect), + Pin(-2/25.4,-.8/25.4,rect), + Pin( 2/25.4,-.8/25.4,rect) + ] + prefix = 'button' + vias = [] + shadow = rectangle(-2.1/25.4,2.1/25.4,-1.4/25.4,1.4/25.4) + +class TagConnectSWD(Component): + ''' + ''' + _pad = s2d.circle(0,0,.5*.031) + _via = s2d.circle(0,0,.5*.039) + pins = [ + Pin(-.05,-.025,_pad,'VCC',label_size=.012), + Pin( .00,-.025,_pad,'TX',label_size=.012), + Pin( .05,-.025,_pad,'RX',label_size=.012), + Pin(-.05,.025,_pad,'GND',label_size=.012), + Pin( .00,.025,_pad,'SWDIO',label_size=.012), + Pin( .05,.025,_pad,'SWDCLK',label_size=.012) + ] + vias = [ + Via(-.1,0,_via), + Via(.1,0.04,_via), + Via(.1,-.04,_via), + + ] + + +class BC832(Component): + #Fanstel BC832 micro nrf52 module + p = 1.1/25.4 + pad_hw = .7/25.4 + pad_hh = .34/25.4 + _pad_lga = circle(0,0,.32/25.4) + _pad = rectangle(-pad_hw,pad_hw,-pad_hh,pad_hh) + c= 3.9/25.4 + start_y = .618/25.4 + y_os = .18 + names = [ + 'GND','DFU','SWDIO','SWDCLK','P18','P13','P11','P12', + 'A1','RESET','XL1','XL2','A0','P27','P26','VDD', + + ] + pins = [Pin(-c,start_y+i*p-y_os,_pad,n,label_size=.018) for i,n in enumerate(names[:8][::-1])] + pins += [Pin(c,start_y+i*p-y_os,_pad,n,label_size=.018) for i,n in enumerate(names[8:16])] + pins += [ + Pin(-c+2.15/25.4,-y_os+.519/25.4,_pad_lga,'P8',label_size=.01), + Pin(-c+2.15/25.4,-y_os+(1.2+.519)/25.4,_pad_lga,'P6',label_size=.01), + #Pin(-c+2.15/25.4,-y_os+(2*1.2+.519)/25.4,_pad_lga,'A2',label_size=.01), + #Pin(-c+2.15/25.4,-y_os+(4*1.2+.519)/25.4,_pad_lga,'A4',label_size=.01), + + #Pin(-c+2.15/25.4,-y_os+(3*1.2+.519)/25.4,_pad_lga,'',label_size=.01), + #Pin(-c+2.15/25.4+1.2/25.4,-y_os+(2*1.2+.519)/25.4,_pad_lga,'',label_size=.01), + #Pin(-c+2.15/25.4+1.2/25.4,-y_os+(3*1.2+.519)/25.4,_pad_lga,'',label_size=.01), + #Pin(-c+2.15/25.4+1.2/25.4,-y_os+(4*1.2+.519)/25.4,_pad_lga,'',label_size=.01), + #Pin(-c+2.15/25.4+2*1.2/25.4,-y_os+(3*1.2+.519)/25.4,_pad_lga,'',label_size=.01), + #Pin(-c+2.15/25.4+3*1.2/25.4,-y_os+(3*1.2+.519)/25.4,_pad_lga,'',label_size=.01) + ] + vias = [] + shadow = rectangle(-c,c,-y_os,8.8/25.4-y_os) + +_pad_SOIC = s2d.rectangle(-.041,.041,-.015,.015) +class A4950(Component): + _pad_SOIC = chamfered_rectangle(-.041,.041,-.015,.015,.008) + pins = [ + Pin(-.11, .075,_pad_SOIC,"GND"), + Pin(-.11, .025,_pad_SOIC,"IN2"), + Pin(-.11,-.025,_pad_SOIC,"IN1"), + Pin(-.11,-.075,_pad_SOIC,"VREF"), + Pin( .11,-.075,_pad_SOIC,"VBB"), + Pin( .11,-.025,_pad_SOIC,"OUT1"), + Pin( .11, .025,_pad_SOIC,"LSS"), + Pin( .11, .075,_pad_SOIC,"OUT2"), + Pin( 0,0,s2d.rectangle(-.04,.04,-.075,.075),"") + ] + prefix = 'U' + vias = [] + +class Regulator_SOT23(Component): + ''' SOT23 voltage regulator + ''' + _pad_SOT23 = s2d.rectangle(-.02,.02,-.012,.012) + pins = [ + Pin(-0.045, -0.0375, _pad_SOT23,'IN'), + Pin(-0.045, 0.0375, _pad_SOT23,'OUT'), + Pin(0.045, 0, _pad_SOT23,'GND') + ] + prefix = 'U' + vias = [] + +class BarrelJackSMD(Component): + pw = 2.8/25.4 + ph = 2.4/25.4 + _pad = chamfered_rectangle(-.5*pw,.5*pw,-.5*ph,.5*ph,.01) + _via = s2d.circle(0,0,.065) + pins = [ + Pin(.192,.177+.5*ph,_pad,'V'), + Pin(.437,.177+.5*ph,_pad,'V2'), + Pin(.192,-.177-.5*ph,_pad,'GND'), + Pin(.437,-.177-.5*ph,_pad,'GND2'), + ] + vias = [Via(.197,0,s2d.circle(0,0,.5*.065)), + Via(.374,0,s2d.circle(0,0,.5*.073))] + shadow = s2d.rectangle(0,.58,-.18,.18) + +class Header_Female_R_SMD(Component): + _pad = s2d.rectangle(-.045,.045,-.03,.03) + pins = [Pin(-.178,0,_pad),Pin(.178,0,_pad)] + shadow = s2d.rectangle(-.178,.178,-.05,.05) + vias = [] + +class R_2010(Component): + _pad_2010 = s2d.rectangle(-0.032, 0.032, -0.045, 0.045) + ''' 2010 Resistor + ''' + pins = [Pin(-0.096, 0, _pad_2010), Pin(0.096, 0, _pad_2010)] + prefix = 'R' + vias = [] +class R_2512(Component): + _pad_2010 = chamfered_rectangle(-0.032, 0.032, -0.0625, 0.0625, .01) + ''' 2010 Resistor + ''' + pins = [Pin(-0.125, 0, _pad_2010), Pin(0.125, 0, _pad_2010)] + prefix = 'R' + vias = [] + +class M3_Hole(Component): + pins = [Pin(0,0,circle(0,0,.001))] + prefix='V' + vias = [Via(0,0,circle(0,0,1.55/25.4))] + shadow = circle(0,0,5.5/25.4/2) + +class Hole(Component): + pins = [Pin(0,0,circle(0,0,0.01))] + vias = [Via(0,0,circle(0,0,.5*2.1/25.4))] + tap = circle(0,0,.5*1.9/25.5) + +width = 42.3/25.4 +height = 42.3/25.4 +mid = width/2. +pcb = PCB(0,0,width,height,chamfer_distance=.12) + +hole = M3_Hole(mid-15.5/25.4, mid-15.5/25.4) +pcb += hole +hole = M3_Hole(mid+15.5/25.4, mid-15.5/25.4) +pcb += hole +hole = M3_Hole(mid-15.5/25.4, mid+15.5/25.4) +pcb += hole +hole = M3_Hole(mid+15.5/25.4, mid+15.5/25.4) +pcb += hole + +def connectG(pin,dx,dy,width=.014,pts=[]): + ''' + Convenience function for connecting to ground plane + ''' + sides = [0 for p in pts]+[0,1,1] + pts = [pin] + pts + [[pin.x+dx,pin.y+dy],[pin.x+dx-.0001,pin.y+dy]] + pcb.connectD(*pts,width=width,sides=sides) +def connectGf(pin,dx,dy,width=.014,pts=[]): + sides = [1,0] + [0 for p in pts]+ [1] + pts = [[pin.x+dx,pin.y+dy],[pin.x+dx-.0001,pin.y+dy]] + pts + [pin] + pcb.connectD(*pts,width=width,sides=sides) +def connectS(pin,dx,dy,width=.014): + pcb.connectD(pin,[pin.x+dx+.0001,pin.y+dy],width=width) +def connectM(pin1,pin2,dx,width=.014): + pcb.connectD(pin1,[pin1.x+dx,pin1.y],pin2,width=width) + + +step = Pheonix_WTB(.11,.66,90,'step') +pcb += step + + +pow = BarrelJackSMD(.63,height+.1,-90,'12V') +pcb += pow +#connectG(pow['GND'],-.1,0.01,width=.06) +pcb.connectV(pow['GND'],pow['GND2'],width=.09) + + + +C_bulk = cap_UWT(pow.x-.4, pow.y-.63,-90,'100uF') +pcb += C_bulk +connectG(C_bulk['-'],-.02,.18,width=.05) +pcb.connectV(pow['V2'],pow['V'],width=.05) +pcb.connectD(pow['V2'],C_bulk['+'],width=.05) +pcb.connectV(C_bulk['-'],[pow['GND2'].x,pow['GND2'].y-.04],pow['GND2'],width=.06) + + + +bc = BC832(width-.2,height-.62,-90,'Fanstel\nBC832\nNRF52') +pcb += bc + +#reg = Regulator_SOT23(bc.x-.465,bc.y-.09,-180,'3.3v') +reg = Regulator_SOT23(pow.x+.39,pow.y-.28,-90,'3.3v') +pcb += reg + +pcb.connectV(pow['V'],reg['IN'],width=.05) +connectG(reg['GND'],-.07,-.02,width=.03) +#pcb.connectD(reg['IN'],[reg['IN'].x-.09,reg['IN'].y+.02],pow['VCC'],width=.02) + +C_in = C_1206(reg.x-.01,reg.y+.13,180,'Cin\n.1uF',label_size=.02) +pcb += C_in +C_out = C_1206(reg.x+.0,reg.y-.12,0,'Cout\n.1uF',label_size=.02) +pcb += C_out +pcb.connectD(C_in[1],[C_in[1].x,C_in[1].y+.01],reg['GND']) +pcb.connectV(reg['IN'],C_in[0],width=.02) +pcb.connectH(reg['OUT'],C_out[0],width=.02) +pcb.connectD(reg['GND'],C_out[1],width=.02) + + + + +swd = TagConnectSWD(bc.x-.27,bc.y+.25,-90,'swd') +pcb += swd +pcb.connectD(swd['SWDCLK'],[swd['SWDCLK'].x+.02,swd['SWDCLK'].y],[bc['SWDCLK'].x-.02,bc['SWDCLK'].y+.05],bc['SWDCLK'],width=.012) +pcb.connectD(swd['SWDIO'],[swd['SWDIO'].x+.02,swd['SWDIO'].y],[bc['SWDIO'].x-.03,bc['SWDIO'].y+.079],bc['SWDIO'],width=.012) +pcb.connectD(swd['GND'],[bc['GND'].x-.06,bc['GND'].y+.11],bc['GND'],width=.012) + +pcb.connectD(bc['P6'],[bc['P6'].x,bc['P6'].y+.02],[swd['RX'].x+.05,swd['RX'].y-.1],[swd['RX'].x+.02,swd['RX'].y-.03],swd['RX'],width=.012) +pcb.connectD(bc['P8'],[swd['TX'].x+.02,bc['P8'].y-.0],[swd['TX'].x-.05,swd['TX'].y-.02],swd['TX'],width=.012) + +connectG(swd['GND'],.05,.03) + + +button = Button(bc.x-.33,bc.y-.02,0) +pcb += button +#pcb.connectH(pow['GND'],[button[1].x-.06,button[1].y],button[1]) + +pcb.connectV(button[3],button[0]) +pcb.connectV(button[1],button[2]) + +C2 = C_1206(reg.x+.12,reg.y+.07,-90,'C2\n10uF',label_size=.02) +pcb += C2 +pcb.connectV(C2[1],C_in[1],width=.02) +pcb.connectH(C2[0],C_out[0],width=.02) + +pcb.connectD(C2[0],[C2[0].x+.05,C2[0].y],[width-.1,height-.08],[bc['VDD'].x+.04,bc['VDD'].y+.03],bc['VDD']) + + +R1 = R_1206(button.x-.08,button[1].y+.18,90,'10k',label_size=.03) +pcb += R1 +pcb.connectH(bc['RESET'],[bc['RESET'].x,bc['RESET'].y+.05],[button[2].x+.06,button[2].y],button[2],width=.012) +pcb.connectD(swd['VCC'],[swd['VCC'].x-.03,swd['VCC'].y],R1[0]) +pcb.connectD(swd['VCC'],[swd['VCC'].x-.03,swd['VCC'].y],C_out[0]) +pcb.connectD(R1[1],button[1]) +pcb.connectD(button[3],[button[3].x-.04,button[3].y],C_out[1],width=.03) + +#stepper +drv = DRV8825(step.x+.88,step.y-.02,0) +pcb += drv + +pcb.connectD(drv['AOUT1'],[drv['AOUT1'].x-.15,drv['AOUT1'].y],step[4],width=.014) +pcb.connectD(drv['AOUT2'],[step.x+.33,drv['AOUT2'].y],step[3],width=.014) +pcb.connectD(drv['BOUT2'],[step.x+.33,drv['BOUT2'].y],step[2],width=.014) +pcb.connectD(drv['BOUT1'],[drv['BOUT1'].x-.06,drv['BOUT1'].y],step[1],width=.014) + +RA = R_2512(drv['ISENA'].x-.34,drv['ISENA'].y-.1,90,'RA\n200mOhm',label_size=.03) +pcb += RA +RB = R_2512(drv['ISENB'].x-.20,drv['ISENB'].y-.15,90,'RB\n200mOhm',label_size=.03) +pcb += RB +pcb.connectD(drv['ISENA'],[drv['ISENA'].x-.2,drv['ISENA'].y],RA[0],width=.014) +pcb.connectD(drv['ISENB'],[drv['ISENB'].x-.2,drv['ISENB'].y],RB[0],width=.014) +pcb.connectV(RA[1],RB[1],width=.06) +connectG(RA[1],-.05,-.06) + +pcb.connectH(drv['GND'],drv['GND3'],width=.014) +pcb.connectH(drv['GND2'],drv['GND3'],width=.014) +pcb.connectH(drv['MODE2'],drv['GND3'],width=.014) + +CP = C_1206(drv['CP1'].x-.015,drv['CP1'].y+.12,0,'.01uF') +pcb += CP +pcb.connectD(drv['CP2'],[drv['CP2'].x-.05,drv['CP2'].y],CP[1],width=.014) +pcb.connectD(drv['CP1'],CP[0],width=.014) + +pcb.connectD(drv['VMA'],[drv['VMA'].x-.12,drv['VMA'].y],[C_bulk['+'].x+.2,C_bulk['+'].y],C_bulk['+'],width=.014) + +RCP = R_1206(C_bulk['+'].x+.25,C_bulk['+'].y-.1,0,'1MOhm') +pcb += RCP +CCP = R_1206(RCP.x,RCP.y-.1,0,'.1uF') +pcb += CCP + +pcb.connectV(RCP[0],CCP[0],width=.05) +pcb.connectV(CCP[1],C_bulk['+'],width=.05) +pcb.connectD(drv['VCP'],[drv['VCP'].x-.08,drv['VCP'].y],CCP[0],width=.014) + +pcb.connectD(drv['MODE1'],[drv['MODE1'].x+.05,drv['MODE1'].y],[bc['A1'].x-.02,bc['A1'].y-.05],bc['A1'],width=.014) +pcb.connectD(drv['MODE0'],[drv['MODE0'].x+.08,drv['MODE0'].y],[bc['XL1'].x-.03,bc['XL1'].y-.09],bc['XL1'],width=.014) +pcb.connectD(drv['STEP'],[drv['STEP'].x+.11,drv['STEP'].y],[bc['XL2'].x-.05,bc['XL2'].y-.13],bc['XL2'],width=.014) +pcb.connectD(drv['DIR'],[drv['DIR'].x+.11,drv['DIR'].y],[bc['A0'].x-.07,bc['A0'].y-.17],bc['A0'],width=.014) +pcb.connectD(drv['nSLP'],[drv['nSLP'].x+.11,drv['nSLP'].y],[bc['P27'].x-.09,bc['P27'].y-.21],bc['P27'],width=.014) + +pcb.connectV(drv['nSLP'],drv['nRST'],width=.014) +pcb.connectV(drv['AVREF'],drv['BVREF'],width=.014) + +pcb.connectD(drv['VMB'],[drv['VMB'].x-.04,drv['VMB'].y],[RB.x+.1,RB.y-.2],[step.x+.3,RB.y-.2],[step.x+.15,step.y+.25],C_bulk['+'],width=.014) +pcb.connectD([RB.x+.1,RB.y-.18],[step.x+.3,RB.y-.2],[step.x+.15,step.y+.25],C_bulk['+'],width=.04) + +R_lp = R_1206(bc['P26'].x+.02,bc['P26'].y-.2,90,'Rlp') +pcb += R_lp +C_lp = R_1206(R_lp.x-.06,R_lp.y-.15,0,'Clp') +pcb += C_lp +pcb.connectV(R_lp[1],C_lp[0]) +pcb.connectV(bc['P26'],R_lp[0]) +pcb.connectD(drv['BVREF'],[drv['BVREF'].x-.05,drv['BVREF'].y],[drv['BVREF'].x-.07,drv.y-.2],[C_lp.x-.02,drv.y-.25],C_lp[0],width=.014) +pcb.connectD(drv['GND3'],[drv.x,drv.y-.15],[drv.x+.2,drv.y-.21],C_lp[1]) +connectG(drv['GND3'],0,.2,width=.05) +pcb.connectD(button[3],[button[3].x,button[3].y-.1],drv['GND3'],width=.04) + +cad.shapes = pcb.layout() +cad.shape = pcb.traces+(pcb.cutout-pcb.cutout) +#cad.shape = pcb.cutout+(pcb.traces-pcb.traces) -- GitLab