diff --git a/bc832-ftdi/bc832-nrf-ftdi-interior.png b/bc832-ftdi/bc832-nrf-ftdi-interior.png index 9a07123d9e0b28b9e8dc6589051a67d54512b827..1504a724d4f9edf684a3490817ae2c7d3a21410f 100644 Binary files a/bc832-ftdi/bc832-nrf-ftdi-interior.png and b/bc832-ftdi/bc832-nrf-ftdi-interior.png differ diff --git a/bc832-ftdi/bc832-nrf-ftdi-layout.png b/bc832-ftdi/bc832-nrf-ftdi-layout.png index 2187b49832f17adca1670af312ff3b03bdf2e1d7..34b8bde59fa0eb6a6813a62a41126596f06e3dda 100644 Binary files a/bc832-ftdi/bc832-nrf-ftdi-layout.png and b/bc832-ftdi/bc832-nrf-ftdi-layout.png differ diff --git a/bc832-ftdi/bc832-nrf-ftdi-traces.png b/bc832-ftdi/bc832-nrf-ftdi-traces.png index ec241e377f23c5b872d16eda1d374d84760f52dd..660efe54b698f9a402ceb804f775d7d4136fa49d 100644 Binary files a/bc832-ftdi/bc832-nrf-ftdi-traces.png and b/bc832-ftdi/bc832-nrf-ftdi-traces.png differ diff --git a/bc832-ftdi/bc832-nrf-ftdi.ko b/bc832-ftdi/bc832-nrf-ftdi.ko index eaff8ad75094fd3b9d7c9fd03811e571c9e330e5..63b5c290d4c32f08f86e6db04501b71fee719ff2 100644 --- a/bc832-ftdi/bc832-nrf-ftdi.ko +++ b/bc832-ftdi/bc832-nrf-ftdi.ko @@ -21,6 +21,15 @@ class TagConnectPDI(Component): ] + +class R_0805_small(Component): + ''' 0805 Resistor + ''' + _pad_0805 = s2d.rectangle(-.017,.017, -.026, .026) + pins = [Pin(-0.04, 0, _pad_0805), Pin(0.04, 0, _pad_0805)] + prefix = 'R' + vias = [] + class Button(Component): ''' SW262CT-ND ''' @@ -85,7 +94,7 @@ class Header_FTDI(Component): ''' _pad_header = chamfered_rectangle(-0.06, 0.08,-0.025, 0.025,.007) pins = [ - Pin(0, -0.25, _pad_header, 'RTS'), + #Pin(0, -0.25, _pad_header, 'RTS'), Pin(0, -0.15, _pad_header, 'RX'), Pin(0, -0.05, _pad_header, 'TX'), Pin(0, 0.05, _pad_header, 'VCC'), @@ -212,7 +221,7 @@ class Hole(Component): width = .9 -height = .69 +height = .7 pcb = PCB(0,0,width,height,chamfer_distance=.02) @@ -230,7 +239,7 @@ def connectM(pin1,pin2,dx,width=.012): -ftdi = Header_FTDI(.2,.32,180,'ftdi') +ftdi = Header_FTDI(.2,.33,180,'ftdi') pcb += ftdi reg = Regulator_SOT23(ftdi.x+.13,ftdi['GND'].y+.03,-90,'3.3v') pcb += reg @@ -246,7 +255,6 @@ pcb.connectD(C_in[1],[C_in[1].x,C_in[1].y-.02],reg['GND']) pcb.connectV(reg['IN'],C_in[0],width=.02) pcb.connectH(reg['OUT'],C_out[0],width=.02) pcb.connectH(reg['GND'],C_out[1],width=.02) -connectG(C_in[1],-.01,-.05) mdb = BC832(ftdi.x+.5,ftdi.y+.1,-90,'Fanstel\nBC832\nNRF52') pcb += mdb @@ -254,36 +262,36 @@ pcb += mdb pcb.connectD(mdb['P8'],[mdb['P8'].x-.01,mdb['P8'].y],[ftdi['TX'].x+.31,ftdi['TX'].y+.03],[ftdi['TX'].x+.03,ftdi['TX'].y-.019],ftdi['TX'],width=.014) pcb.connectD(mdb['P6'],[mdb['P6'].x,mdb['P6'].y+.02],[mdb['P6'].x-.07,mdb['P6'].y+.035],[ftdi['RX'].x+.28,ftdi['RX'].y-.043],[ftdi['RX'].x+.1,ftdi['RX'].y-.088],[ftdi['RX'].x+.09,ftdi['RX'].y-.03],ftdi['RX'],width=.012) -connectG(mdb['GND'],0,.07,width=.016) swd = TagConnectSWD(ftdi.x+.17,mdb.y+.1,-90,'swd') pcb += swd -pcb.connectD(swd['SWDCLK'],[swd['SWDCLK'].x+.02,swd['SWDCLK'].y],[mdb['SWDCLK'].x-.24,mdb['SWDCLK'].y+.01],[mdb['SWDCLK'].x-.02,mdb['SWDCLK'].y+.055],mdb['SWDCLK'],width=.014) -pcb.connectD(swd['SWDIO'],[swd['SWDIO'].x+.02,swd['SWDIO'].y],[mdb['SWDIO'].x-.32,mdb['SWDIO'].y+.04],[mdb['SWDIO'].x-.03,mdb['SWDIO'].y+.087],mdb['SWDIO'],width=.014) +pcb.connectD(swd['SWDCLK'],[swd['SWDCLK'].x+.02,swd['SWDCLK'].y],[mdb['SWDCLK'].x-.24,mdb['SWDCLK'].y+.01],[mdb['SWDCLK'].x-.02,mdb['SWDCLK'].y+.05],mdb['SWDCLK'],width=.012) +pcb.connectD(swd['SWDIO'],[swd['SWDIO'].x+.02,swd['SWDIO'].y],[mdb['SWDIO'].x-.32,mdb['SWDIO'].y+.04],[mdb['SWDIO'].x-.03,mdb['SWDIO'].y+.079],mdb['SWDIO'],width=.012) #pcb.connectD(ftdi['RTS'],[ftdi['RTS'].x,ftdi['RTS'].y+.03],[mdb['DFU'].x-.05,mdb['DFU'].y+.12],mdb['DFU'],width=.014) -Rrts1 = R_0805(ftdi.x-.13,ftdi['RTS'].y+.07,0,'2k') -pcb += Rrts1 -Rrts2 = R_0805(Rrts1.x+.13,Rrts1.y,0,'1k') -pcb += Rrts2 -pcb.connectV(mdb['RESET'],[ftdi.x-.11,ftdi['TX'].y-.05],Rrts1[0],width=.014) -pcb.connectV(Rrts1[0],Rrts2[1]) -pcb.connectV(Rrts2[0],ftdi['RTS']) -pcb.connectV(Rrts1[1],ftdi['GND']) +button = Button(ftdi.x-.01,ftdi.y+.26,0) +pcb += button +pcb.connectH(ftdi['GND'],[button[1].x-.07,button[1].y],button[1]) + +pcb.connectV(mdb['RESET'],[ftdi.x-.11,ftdi['TX'].y-.05],button[3],width=.014) +pcb.connectV(button[3],button[0]) +pcb.connectV(button[1],button[2]) +pcb.connectD(mdb['GND'],[mdb['GND'].x,mdb['GND'].y+.03],[button.x+.15,mdb['GND'].y+.108],button[2],width=.012) + C2 = C_0805(C_out.x,C_out.y+.13,-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) -x1 = Crystal_FC135(mdb['XL1'].x+.03,mdb.y-.3,90,'X1\n32.768',label_size=.025) +x1 = Crystal_FC135(mdb['XL1'].x+.03,mdb.y-.32,90,'X1\n32.768',label_size=.025) pcb += x1 -cx1 = C_0805(x1.x-.1,x1[0].y-.01,0,'CX1\n22pF',label_size=.02) -cx2 = C_0805(x1.x-.1,x1[1].y+.01,180,'CX2\n22pF',label_size=.02) +cx1 = C_0805(x1.x-.1,x1[0].y-.022,0,'CX1\n22pF',label_size=.02) +cx2 = C_0805(x1.x-.1,x1[1].y+.005,180,'CX2\n22pF',label_size=.02) pcb += cx1 pcb += cx2 pcb.connectD(x1[0],mdb['XL1']) @@ -291,8 +299,8 @@ pcb.connectD(mdb['XL2'],[mdb['XL2'].x,mdb['XL2'].y-.052],[mdb['XL2'].x+.03,mdb[' pcb.connectV(cx2[0],cx1[1]) pcb.connectV(x1[0],cx1[0]) pcb.connectV(x1[1],cx2[1]) -pcb.connectD(cx1[1],[cx1[1].x-.02,cx1[1].y],[C2[1].x+.06,C2[1].y-.03],C2[1]) -pcb.connectD(mdb['VDD'],[mdb['VDD'].x,mdb['VDD'].y-.22],[cx2.x-.07,cx2.y-.07],[C_out[0].x+.05,C_out[0].y-.04],C_out[0]) +pcb.connectD(cx1[1],[C2[1].x+.091,C2[1].y-.03],C2[1],width=.012) +pcb.connectD(mdb['VDD'],[mdb['VDD'].x,mdb['VDD'].y-.22],[cx2.x-.075,cx2.y-.052],[C_out[0].x+.051,C_out[0].y-.04],C_out[0]) led = R_0805(mdb['P26'].x+.01,mdb['P26'].y-.2,0,'led',label_size=.03) pcb += led @@ -303,14 +311,14 @@ pcb.connectV(mdb['VDD'],led[0]) pcb.connectV(mdb['P27'],R_led[0]) pcb.connectH(swd[4],swd[1]) -connectG(swd[1],-.04,.05) - -#header -#h1 = Header_Daughter(mdb.x+.07,mdb.y+.32,90,'h1') -#pcb += h1 +pcb.connectD(swd[1],button[2]) +R1 = R_0805_small(mdb['RESET'].x-.076,mdb['RESET'].y-.07,0,'10k',label_size=.03) +pcb += R1 +pcb.connectV(mdb['RESET'],R1[0]) +pcb.connectH(C2[0],R1[1]) cad.shapes = pcb.layout() -cad.shape = pcb.traces+(pcb.cutout-pcb.cutout) -cad.shape = pcb.cutout+(pcb.traces-pcb.traces) +#cad.shape = pcb.traces+(pcb.cutout-pcb.cutout) +#cad.shape = pcb.cutout+(pcb.traces-pcb.traces)