The Fab Academy

Electronics Design and Production
PCB design
   Eagle
      ng.lbr
   cad.py
      pcb.cad

PCB fabrication
   etching
      ferric chloride, cupric chloride, ammonium/sodium persulfate
   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

in-circuit programming
   AVR Studio
   avrdude
      WinAVR
      CrossPack
   Dragon
      avrdude -p t45 -P usb -c dragon_isp -U flash:w:file.hex 
   header plug <-> DB25M parallel (bsd) cable (wire side view):
      avrdude -p t45 -c bsd -U flash:w:file.hex
   
       plug                 DB25
    MISO (1)   ------------- 10
       V   (2) ------------- no connection
 --  SCK (3)   --- cable --- 8
 -- MOSI   (4) - direction - 9
   RESET (5)   ------------- 7
     GND   (6) ------------- 18

   plug               1   4   3   5     6
   DB25  13  12  11  10   9   8   7   6   5   4   3   2   1
   DB25    25  24  23  22  21  20  19  18  17  16  15  14
   
   header plug <-> DB9F serial (dasa) cable (wire side view):
      avrdude -p t45 -P /dev/ttyUSB0 -c dasa -U flash:w:file.hex
   
       plug                 DB9
    MISO (1)   ------------- 8
       V   (2) ------------- no connection
 --  SCK (3)   --- cable --- 4
 -- MOSI   (4) - direction - 3
   RESET (5)   ------------- 7
     GND   (6) ------------- 5

   plug         5 4 1 3   6        
         DCD  Rx  Tx DTR GND
           DSR RTS CTS  RI
   DB9    1   2   3   4   5
   DB9      6   7   8   9
   
   serial programming voltage limiter: dasa.cad

connectors
   IDC
   header, plug
   DB9, DB25

RS232
   serial header plug <-> DB9F cable (wire side view):
   
      plug                 DB9
    GND (1)   ------------- 5
 -- DTR   (2) --- cable --- 4
 --  Tx (3)   - direction - 3
     Rx   (4) ------------- 2

   plug      4   3   2   1
        DCD  Rx  Tx DTR GND
          DSR RTS CTS  RI
   DB9   1   2   3   4   5
   DB9     6   7   8   9

   pySerial
   rx.py: serial receive, DTR power
      python rx.py /dev/ttyUSB0 9600
   term.py: serial transmit/receive, DTR power
      python term.py /dev/ttyUSB0 9600

assignment
   make and program the serial hello-world:
      hello.serial.45.cad
      hello.serial.45.asm
      hello.serial.45.hex
   remember DTR power

gurus