MAS 863
How To Make (almost) Anything
2010

PCB Design, Fabrication, Assembly

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