Skip to content
Snippets Groups Projects
Commit aebd0488 authored by Sam Calisch's avatar Sam Calisch
Browse files

make bc832 single sided, add button for programming reset

parent c66cb684
No related branches found
No related tags found
No related merge requests found
Pipeline #
bc832-ftdi/bc832-nrf-ftdi-interior.png

6.88 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-interior.png

6.35 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-interior.png
bc832-ftdi/bc832-nrf-ftdi-interior.png
bc832-ftdi/bc832-nrf-ftdi-interior.png
bc832-ftdi/bc832-nrf-ftdi-interior.png
  • 2-up
  • Swipe
  • Onion skin
bc832-ftdi/bc832-nrf-ftdi-layout.png

154 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-layout.png

147 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-layout.png
bc832-ftdi/bc832-nrf-ftdi-layout.png
bc832-ftdi/bc832-nrf-ftdi-layout.png
bc832-ftdi/bc832-nrf-ftdi-layout.png
  • 2-up
  • Swipe
  • Onion skin
bc832-ftdi/bc832-nrf-ftdi-traces.png

12.3 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-traces.png

12.3 KiB | W: | H:

bc832-ftdi/bc832-nrf-ftdi-traces.png
bc832-ftdi/bc832-nrf-ftdi-traces.png
bc832-ftdi/bc832-nrf-ftdi-traces.png
bc832-ftdi/bc832-nrf-ftdi-traces.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -21,6 +21,15 @@ class TagConnectPDI(Component): ...@@ -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): class Button(Component):
''' SW262CT-ND ''' SW262CT-ND
''' '''
...@@ -85,7 +94,7 @@ class Header_FTDI(Component): ...@@ -85,7 +94,7 @@ class Header_FTDI(Component):
''' '''
_pad_header = chamfered_rectangle(-0.06, 0.08,-0.025, 0.025,.007) _pad_header = chamfered_rectangle(-0.06, 0.08,-0.025, 0.025,.007)
pins = [ 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.15, _pad_header, 'RX'),
Pin(0, -0.05, _pad_header, 'TX'), Pin(0, -0.05, _pad_header, 'TX'),
Pin(0, 0.05, _pad_header, 'VCC'), Pin(0, 0.05, _pad_header, 'VCC'),
...@@ -212,7 +221,7 @@ class Hole(Component): ...@@ -212,7 +221,7 @@ class Hole(Component):
width = .9 width = .9
height = .69 height = .7
pcb = PCB(0,0,width,height,chamfer_distance=.02) pcb = PCB(0,0,width,height,chamfer_distance=.02)
...@@ -230,7 +239,7 @@ def connectM(pin1,pin2,dx,width=.012): ...@@ -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 pcb += ftdi
reg = Regulator_SOT23(ftdi.x+.13,ftdi['GND'].y+.03,-90,'3.3v') reg = Regulator_SOT23(ftdi.x+.13,ftdi['GND'].y+.03,-90,'3.3v')
pcb += reg pcb += reg
...@@ -246,7 +255,6 @@ pcb.connectD(C_in[1],[C_in[1].x,C_in[1].y-.02],reg['GND']) ...@@ -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.connectV(reg['IN'],C_in[0],width=.02)
pcb.connectH(reg['OUT'],C_out[0],width=.02) pcb.connectH(reg['OUT'],C_out[0],width=.02)
pcb.connectH(reg['GND'],C_out[1],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') mdb = BC832(ftdi.x+.5,ftdi.y+.1,-90,'Fanstel\nBC832\nNRF52')
pcb += mdb pcb += mdb
...@@ -254,36 +262,36 @@ 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['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) 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') swd = TagConnectSWD(ftdi.x+.17,mdb.y+.1,-90,'swd')
pcb += 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['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+.087],mdb['SWDIO'],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+.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) #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) C2 = C_0805(C_out.x,C_out.y+.13,-90,'C2\n10uF',label_size=.02)
pcb += C2 pcb += C2
pcb.connectV(C2[1],C_in[1],width=.02) pcb.connectV(C2[1],C_in[1],width=.02)
pcb.connectH(C2[0],C_out[0],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 pcb += x1
cx1 = C_0805(x1.x-.1,x1[0].y-.01,0,'CX1\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+.01,180,'CX2\n22pF',label_size=.02) cx2 = C_0805(x1.x-.1,x1[1].y+.005,180,'CX2\n22pF',label_size=.02)
pcb += cx1 pcb += cx1
pcb += cx2 pcb += cx2
pcb.connectD(x1[0],mdb['XL1']) 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[' ...@@ -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(cx2[0],cx1[1])
pcb.connectV(x1[0],cx1[0]) pcb.connectV(x1[0],cx1[0])
pcb.connectV(x1[1],cx2[1]) 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(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-.07,cx2.y-.07],[C_out[0].x+.05,C_out[0].y-.04],C_out[0]) 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) led = R_0805(mdb['P26'].x+.01,mdb['P26'].y-.2,0,'led',label_size=.03)
pcb += led pcb += led
...@@ -303,14 +311,14 @@ pcb.connectV(mdb['VDD'],led[0]) ...@@ -303,14 +311,14 @@ pcb.connectV(mdb['VDD'],led[0])
pcb.connectV(mdb['P27'],R_led[0]) pcb.connectV(mdb['P27'],R_led[0])
pcb.connectH(swd[4],swd[1]) pcb.connectH(swd[4],swd[1])
connectG(swd[1],-.04,.05) pcb.connectD(swd[1],button[2])
#header
#h1 = Header_Daughter(mdb.x+.07,mdb.y+.32,90,'h1')
#pcb += h1
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.shapes = pcb.layout()
cad.shape = pcb.traces+(pcb.cutout-pcb.cutout) #cad.shape = pcb.traces+(pcb.cutout-pcb.cutout)
cad.shape = pcb.cutout+(pcb.traces-pcb.traces) #cad.shape = pcb.cutout+(pcb.traces-pcb.traces)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment