PCB design hierarchical, parametric drawing component libraries, design rules schematic entry, component placement, routing, simulation, fabrication Altium OrCAD Eagle fab modules pcb.cad PCB fabrication etching ferric/cupric chloride, ammonium/sodium persulfate MSDS machining 0.010 1/64 1/32 cutting printing plating sewing PCB materials rigid FR4 (epoxy glass) FR1 (phenolic paper) flex Kapton #1 epoxy film, #1126 copper tape high-frequency teflon glass copper 0.5 oz: 17.5 um 1.0 oz: 35 um 2.0 oz: 70 um board houses AP Circuits, Advanced, Sierra, Gold Phoenix design rules width/spacing (15, 5 mils) layers 1, 1.5, 2, 4, N solder mask, silk screen vias blind, buried components through-hole surface-mount chip-scale assembly solder eutectic wetting flux wire, paste, bar ROHS desoldering reflow wave stuffing tacking down parts bottom to top, inside to outside fumes washing pick-and-place encapsulation CAM fab modules design → png png → path command line: png_path in.png out.path [intensity [error [diameter [number [overlap [z [z_number z_max intensity_max [axis]]]]]]]] in.png = input PNG file out.path = output path file intensity = intensity level to slice (optional, 0-1, default 0.5) error = allowable vector fit deviation (optional, pixels, default 1.1) diameter = diameter to offset (optional, mm, default 0) number = number of contours to offset (optional, -1 to fill all, default 1) overlap = tool overlap fraction (optional, 0 (no overlap) - 1 (complete overlap, default 0.5)) z = slice z value (optional, mm, default 0) z_number = number of z slices (optional, default 1) z_max = maximum z slice height (optional, mm) intensity_max = maximum intensity level to slice (optional, 0-1) axis = axis to slice (optional, x|-x|y|-y|z|-z, default z) 1/64", remove all: png_path top.png top.path .5 1 .4 -1 1/64", remove 4: png_path top.png top.path .5 1 .4 4 1/32": contour: png_path board.png board.path .5 1 .8 1 path → rml command line: path_rml in.path out.rml [speed [x0 y0 [z0 [z_up [direction]]]]] in.path = input path file out.rml = output Roland Modela file speed = cutting speed (optional, mm/s, default 4) x0 = left position (optional, mm, default path value) y0 = front position (optional, mm, default path value) z0 = bottom position (optional, -mm, default path value) z_up = toop up position (optional, mm, default 1) direction = machining direction (optional, 0 conventional/1 climb, default 1) traces: path_rml top.path top.rml 5 25 25 -.1 1 outline: path_rml board.path board.rml 0.5 25 25 -1.7 1 .rml → Modela command line: rml_move x y [port] x,y, = position to move to (mm) port = serial port (optional, default /dev/ttyUSB0) rml_move 25 25 set z zero command line: rml_send in.rml [port] in.rml = input Roland Modela file port = serial port (optional, default /dev/ttyUSB0) rml_send top.rml GUI assignment make the FabISP in-circuit programmer gurus PCB design CBA shop: Ed Baafi Arch. shop: Jie Qi PCB fabrication CBA Shop: Dan schultz Arch. shop: Andy Payne PCB assembly CBA shop: Ann Woods Arch. shop: Carolina Soto lab sections milling CBA shop: David Carr Architecture shop: David Mellis T10: Sarah H., Ella, Sasha, Huang, Ahmed, Chris de V., Chris V., Dan F. T11: Anne, David L., Dan S., Dmitris, Rachel, Jie W10: Arthur, Andy, Masoud, Yeon-Wha, Catarina, Yadid stuffing CBA shop*: David Cranor Architecture shop: Nadya Peek cutting Jonathan Ward etching* David Cranor