
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
tippy.cad
hello.svg, hello.png
pcb.cad
MTA.cad
stl2png.py
2D vector
inkscape
oodraw
QCad
2D raster
GIMP
3D
Blender
cad.blend
Art of Illusion
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
tiny45 load hex file, dragon: avrdude -p t45 -P usb -c dragon_isp -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
in-circuit programming header plug <-> DB25M parallel (bsd) cable (wire side view):
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
in-circuit programming header plug <-> DB9F serial (dasa) cable (wire side view):
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
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
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.44.cad
hello.echo.44.asm
hello.echo.44.c
makefile
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.44.cad
hello.mic.44.asm
hello.mic.44.py
hello.mic.44.op_amp.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 vinylcutter)
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:
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.MTA.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.serial.45.MTA.cad
hello.echo.44.MTA.cad
hello.echo.44.MTA.asm
hello.button.45.MTA.cad
hello.light.45.MTA.cad
hello.temp.45.MTA.cad
hello.step.45.MTA.cad
hello.mic.45.MTA.cad
hello.RGB.45.MTA.cad
hello.RGB.45.MTA.asm
hello.array.44.MTA.cad
hello.array.44.2.MTA.cad
hello.LCD.44.MTA.cad
hello.LCD.44.MTA.asm
hello.video.44.MTA.cad
hello.speaker.45.MTA.cad
hello.H-bridge.44.MTA.cad
hello.stepper.44.MTA.cad
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