Fab class/lab/book hello-world page

Inventory

CAD/CAM
   cad.py
   cad.cfg
   cad shell script
   light.png
   alien.cad
   gik.cad
   function.cad
   mold.cad
   mold.png
   pcb.cad
   MTA.cad
   stl2png.py

2D vector
   inkscape
   oodraw
   QCad

2D raster
   GIMP
   Tux Paint

3D
   Blender
      cad.blend
   K-3D
   SketchUp

programming
   Python
   pySerial
   Tkinter
   Numpy
   Matplotlib
   PIL
   PyOpenGL
   Pygame

version control, distributed development
   git, msysgit, gitk, git-gui
   siteserver

schematic, PCB
   Eagle
   library
   gerb274x_mill

circuit modeling
   Ngspice

microcontrollers
   Atmel AVR data sheets

milling machine
   Modela 
   stty 9600 raw -echo crtscts move x y
   cat out.rml > /dev/ttyS0

vinyl cutter
   CAMM-1
   cat out.camm > /dev/parport0

lasercutter
   Epilog
   cat out.epi > /dev/parport0

gavrasm assembler
   gavrasm hello.asm

gcc avr-libc compiler

AVR Studio

rx.py host serial receive, DTR power
   python rx.py port speed
term.py host serial transmit/receive, DTR power
   python term.py port speed

avrdude in-circuit programmer
   tiny45 load hex file, bsd cable: avrdude -p t45 -c bsd -U flash:w:file.hex
   tiny45 load hex file, dasa cable: avrdude -p t45 -P /dev/ttyUSB0 -c dasa -U flash:w:file.hex
   tiny44 load hex file: avrdude -p t44 -c bsd -U flash:w:file.hex
   tiny44 use 20 MHz xtal: avrdude -p t44 -c bsd -U lfuse:w:0x7E:m
   mega88 load hex file: avrdude -p m88 -c bsd -U flash:w:file.hex
   mega88 use 20 MHz xtal: avrdude -p m88 -c bsd -U lfuse:w:0x76:m
   mega644 load hex file: avrdude -p m644 -c bsd -U flash:w:file.hex
   mega644 use 20 MHz xtal: avrdude -p m644 -c bsd -U lfuse:w:0x76:m

You might need to:
  su
  modprobe parport
  modprobe ppdev
  chmod 777 /dev/parport0

ATtiny45 programming cable:
           7 - reset - 1 8 -
                     - 2 7 - SCK - 8
                     - 3 6 - MISO - 10
            18 - GND - 4 5 - MOSI - 9

                 4   1  7  5   6          clip
   1  2  3  4  5  6  7  8  9  10 11 12 13 DB25
    14 15 16 17 18 19 20 21 22 23 24 25   DB25

in-circuit programming AMP MTA plug <-> DB25M parallel (bsd) cable (wire side view):

         9        18        10
   | MOSI (3)  GND (2)  MISO (1) |
      -RESET (4)  SCK (5)
            7        8
                  | cable direction
                  v

   plug               1   3   5   4     2
   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

in-circuit programming AMP MTA plug <-> DB9F serial (dasa) cable (wire side view):

                  ^
                  | cable direction
         3        5         8
   | MOSI (3)  GND (2)  MISO (1) |
      -RESET (4)  SCK (5)
            7        4

   plug         4 3 1 5   2        
         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

serial AMP MTA plug <-> DB9F cable (wire side view):

      Tx GND
   |  2   1 |
    3   4
    Rx DTR
       | cable direction
       v

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

Molex serial PCB connector:
   1   2   3   4
   Rx  Tx  DTR Gnd

Molex serial cable:
   4   3   2   1
   Gnd DTR Tx  Rx DCD
    RI  CTS RTS DSR
   5   4   3   2  1
    9   8   7   6

   PIN   PURPOSE              SIGNAL NAME  HEADER
   Pin 1 Data Carrier Detect  DCD
   Pin 2 Received Data        RxData       1
   Pin 3 Transmitted Data     TxData       2
   Pin 4 Data Terminal Ready  DTR          3
   Pin 5 Signal Ground        Gnd          4
   Pin 6 Data Set Ready       DSR
   Pin 7 Request To Send      RTS
   Pin 8 Clear To Send        CTS
   Pin 9 Ring Indicator%09      RI

hello-world circuits:

serial output:
   hello.serial.45.cad
   hello.serial.45.asm
   hello.serial.45.hex
   hello.serial.45.c
   makefile
serial echo:
   hello.echo.45.cad
   hello.echo.45.asm
   hello.echo.45.c
   makefile
   hello.echo.44.cad
   hello.echo.44.asm
button:
   hello.button.45.cad
   hello.button.45.asm
light:
   hello.light.45.cad
   hello.light.45.asm
   hello.light.45.py
temperature:
   hello.temp.45.cad
   hello.temp.45.asm
   hello.temp.45.py
step response (resistance, capacitance, inductance, position, proximity, tilt):
   hello.step.45.cad
   hello.step.45.asm
   hello.step.45.py
microphone:
   hello.mic.45.cad
   hello.mic.45.asm
   hello.mic.45.py
   hello.mic.44.cad
RGB LED:
   hello.RGB.45.cad
   hello.RGB.45.asm
LED array:
   hello.array.44.cad 
   hello.array.44.asm 
   hello.array.44.2.cad (2 layer)
LCD:
   hello.LCD.44.cad 
   hello.LCD.44.asm 
video:
   hello.video.44.cad 
   hello.video.44.asm 
speaker:
   hello.speaker.45.cad 
   hello.speaker.45.pwm.asm 
   hello.speaker.45.wave.asm 
DC motor:
   hello.H-bridge.44.cad 
   hello.H-bridge.44.asm 
stepper motor:
   hello.stepper.44.cad 
   hello.stepper.44.full.asm 
   hello.stepper.44.wave.asm 
   hello.stepper.44.half.asm 

old hello-worlds:

serial output, programming clip (hello)
   schematic: hello.sch
   PCB: hello.brd
   Gerber: hello.cmp hello.vinyl.cmp
   assembly code: hello.asm
   hex file: hello.hex

serial output, programming header (hello0)

serial I/O, programming clip (hello1)
   schematic
   PCB
   Gerber
   serial output
   serial echo

output: LED (hello2)
   schematic
   PCB
   serial output
   blink LED with serial output

input: step-response (hello3)
   schematic
   PCB
   serial output
   measure and send step-response curve
   receive and plot step-response curve

Efe: button+LED
   schematic
   PCB
   serial output
   blink the LED
   measure charging
   plot charging

A/D: light/sound/temperature (hello4)
   schematic
   PCB
   serial output
   measure A/D
   measure temperature
   plot readings

D/A: speaker (hello5)
   schematic
   PCB
   PWM
   wavetable synthesis

display: LCD (hello7)
   schematic
   PCB
   display hello world: master slave processor

video: RS170 (hello8)
   schematic
   PCB
   display hello world
   RS170

motion: stepper (hello9)
   schematic
   PCB
   Gerber
   stepper

multiplexing: LED array (hello10)
   schematic
   PCB
   multiplexing

cam.py toolpath generation
   cam shell script