My name is Bas Withagen. I live in Delft in the Netherlands.

I work as hardware and lowlevel software developer at Waag Society in Amsterdam.

As i'm not that proficient in html so i'm jusing dreamweaver to create and maintain this page.
This page will also contain the classes and class notes. A seperate page contains my final project.

Final Project

Final Project

Classes

In's and out's of today's class. (Jan 25)

Next week assignment

We need to create a personal site within class archive where we describe who we are and which contrains our final project proposal.

Lesson Notes

Workflow

version control system

Mercurial

Project management

spiral development - going in a loop improving on (and keeping!) a working system with each iteration

Findings and things learned

Using Mercurial on Windows (with TortoiseHG installed) is a litte bit more complicated then one might assume from the tutorials (eg Kenny Cheung's).

> hg clone -e "ssh -p 846 -i ~\keys\academy" ssh://[email protected]/academy.2012 academy.2012

The above line wasn't going to work right off the bat. As windows does not have a native implementation of 'ssh' i've chosen to use putty, or better said, it's command-line equivalant: plink.

TortoiseHG also comes with it's own implementation of plink (tortoiseplink), but as it turned out is was a good thing that I did download the whole putty package.

My first attempt ended up waiting a long time after issuing this command:

> hg clone -e "plink -P 846 -i %HOMEPATH%\keys\academy" ssh://[email protected]/academy.2012 academy.2012

As it turned out the problem actually is that HG does not forward server/local feedback to the user. It was waiting for a responce to the following:

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 37:4c:ac:91:d4:78:c1:bc:9a:1b:93:f4:a7:0c:27:9d
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

So first I connected manually to fab.cba.mit.edu using plink. That allowed me to answer yes to this question.

> plink -v -P 846 -i %HOMEPATH%\keys\academy ssh://[email protected]

Next problem that occurred had to do with the identity-file i got.

Reading private key file "\users\basw\keys\academy"
Unable to use this key file (OpenSSH SSH-2 private key)
Unable to use key file "\users\basw\keys\academy" (OpenSSH SSH-2 private key)
Using username "ssh://hg".
ssh://[email protected]'s password:

The issue with this is that, aparently, there is no standard way to encode a ssh2 key.

Luckily, the putty suite also comes with 'puttygen'. This program can convert the OpenSSH key into the a .ppk (putty private key) file. So my command line ended up like this:

hg clone -e "plink -P 846 -i %HOMEPATH%\keys\fabacademy.ppk" ssh://[email protected]/academy.2012 academy.2012

So after that i was finally able to connect and pull the archive.

^Top

In's and out's of today's class. (Feb 1)

Next week assignment

Make a model of your design and put it on your web-page.

Lesson Notes

design tools

getting designs into the computer. -> to the machines

(since i have the adobe suit on my computer i'll be using illustrator and photoshop)

layout

modeling
how to model the world (instead of just building it)

Findings and things learned

I'm especially interested in using the fab-modules on my windows computer.

After installing cygwin I was able to re-compile the modules on windows. From within Cygwin I'm able to run the resulting executables, but the python programs still won't run. Next is to find out if i'm actually using the py modules the right way, or if i need to install more modules into Cygwin.

Modelling

I used Rhino to model my final project, and as Rhino has an option to aimate the camera, i did a little turntable action for animation.
Rhino outputs only seperate frames, so i am using mencoder to create a mpeg4 encoded movie.

> mencoder "mf://*.jpg" -mf fps=16 -o test.avi -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=800

which got me a workable videofile (animation is still crappy; but i contirbute that to the limitations of rhino ;) )

^Top

In's and out's of today's class. (Feb 8)

Next week assignment

design, make, and document a press-fit construction kit

Lesson Notes

chamfer 45 deg.
parametric design tool

only lasercut known material
never pvc. -> burning -> colored flame.

ppi -> spreading pulses-> distriburung power/heat (melt and charring)

vinylcutter

fab modules -> compile
fab to open.

export at resolution to make it (exmpl 400 dpi)

look trough prior ideas

Findings and things learned

Steps needed to get fab-modules to work on Windows.

Install Cygwin; and also install the following modules: gcc, libpng-devel and make

remove all precompiled programs (otherwise make will say there's nothing to be done)

path_array
path_camm
path_epi
path_g
path_join
path_oms
path_ord
path_png
path_ps
path_rml
path_sbp
path_uni
png_distances
png_halftone
png_offset
png_path
png_scale
png_size
stl_info
stl_path
stl_png
svg_path

Run ./makefab in the cygwin shell. This will get you the .exe files

Rename all the python files without an extension to .py (windows does not know what to do with them otherwise).

Also, within fab.py, add .py to all the system commands (each button had one associated)

apa_send
cad_math
cad_path
cad_png
cad_view
fab
fab_send
fab_set
frame_fab
makefile
make_cad_camm
make_cad_epi
make_cad_g
make_cad_ord
make_cad_png
make_cad_ps
make_cad_rml
make_cad_sbp
make_cad_snap
make_cad_stl
make_cad_uni
make_png_camm
make_png_epi
make_png_epi_halftone
make_png_g
make_png_ord
make_png_png
make_png_ps
make_png_ps_halftone
make_png_rml
make_png_sbp
make_png_snap
make_png_uni
make_png_uni_halftone
make_stl_g
make_stl_png
make_stl_rml
make_stl_sbp
make_stl_snap
make_svg_camm
make_svg_epi
make_svg_g
make_svg_ord
make_svg_rml
make_svg_sbp
make_svg_snap
make_svg_uni
math_png
math_stl
panel_cad
panel_cad_png
panel_cad_stl
panel_control
panel_path_camm
panel_path_epi
panel_path_g
panel_path_ord
panel_path_ps
panel_path_rml
panel_path_sbp
panel_path_snap
panel_path_snap_apa
panel_path_uni
panel_png
panel_png_path
panel_png_path_halftone
panel_png_png
panel_stl
panel_stl_png
panel_svg
panel_svg_path

Then i was able to start fab.py

^Top

In's and out's of today's class. (Feb 15)

Next week assignment

Make a FabISP (i've desides to go for http://bardagjy.com/?p=628) but with my own adaptions :)

cl05asgn

Lesson Notes

Smaller tools are slower, not by forward speed, but by milling area.

Labs use FR1. (phenolic paper) for milling circuits.

For the vinylcutter epoxy film and copper tape #1, #1126

HF substrate (windowglass)

1.5 layers -> 0r0 resistors as jumpers.

solder; eutectic -> different materials; different melting points.

conformal coatings

clearance height? -> this is calles 'jog' in the fab-modules. units are mm

Findings and things learned

Resonators are less accurate than Crystals. A 20Mhz resonator (+- 1%) can only just perform within the timing-specifications of usb. Crystals can be accurate to within 15ppm.

PPM usually stands for Parts Per Million. In the context of crystal accuracy context it means how many Hz per Mhz the clock can vary (15ppm for a 10.000.000 Hz (10Mhz) crystal woud mean it can be anything between 9.999.850 Hz to 10.000.150 Hz) Often the actual frequency will drift over temperature. (eg. 10ppm/degC, which when applied to the abova example would mean: 100Hz faster/slower per degree celcius more/less)

^Top

In's and out's of today's class. (Feb 22)

Next week assignment

Make something Big

cl06asgn

Lesson Notes

sgstools

woodtools
coated vs uncoated
roughing-> less then 20% of the finish tool should remain

tool should not be hot after cutting (else you are going too slow)

In's and out's of today's class. (Feb 29)

Next week assignment

Recreate the Hello-board and add a led and button

cl07asgn

Lesson Notes

<to be recreated, sadly lost in editor crash>

In's and out's of today's class. (Mar 07)

Next week assignment

Design 3D mold. machine it; cast it.

cl08asgn

Lesson Notes

Injection molding (heat plastic-> then force it into the mold.)
insert molding (put something into the mold before casting)
vacuum forming(pulling pastic around a shape)
blow molding (coce bottles)

self release (angles, mold release)
flexible mold; material stickage
machinable wax.
urithanes stick -> u-plastic and u-rubber will stick together
silicone is a little weaker (less flexable, tears more easly); but nothing will stick to it.
silicone elastomer kit
don't use latex for mold-making, as latex is suface-curing, it's likely that you end up with one big sticky goo when you try to use it as the inside didn't cure.
volume-cure as opposed to surface cure

casting materials hydrostone; drystone
drystone ->mix plaster polymer
hydrostone -> portland cement mixed with
hydrostone.
30 minutes to set ->demold-> 30 min finish setting.

mold materials -> food safe -> use only special ones

additives can make the material; stronger, more flexible, lighter, color,. if you add water to urithane it will foam.

Mix your stuff right.
(no internal structure visible)

deairing (vacuum pulls bubbles out)
better to pour your material gently
work on your mixing technique (don't mix bubbles into your material)
also take enough time for the bubbles to get out (you have abou 15 minutes before you need to pour)

place vent at highest point, also watch for air-traps

Mold
urithane needs a elevated temperature
silicone cures at room temp. elevated temp makes it cure faster

DeMold
flexible mold-> just bend it.
do a sticking test on mold and casting material.

mold-release (soap!)

also make sure your materials are not too old.
be suspicious of old containers (weeks to months after opening)

Safety

silicone; wear rubber gloves for cleaning
urithane rubben needs ventilation
pay attention to the material safety datasheet! (clear urithane need ventilation; clear acrylics are nasty! read and heed warnings!)

Modelling
3D toolpaths.

pay attention to the cutdepth of the tool!
also watch the tool-shape

roughing / finishing toolpath
tool overlapping

aligning the mold-parts
think about seams; multi part molds (break it up in projection planes)

Software
using stl-file into partworks3D

Composites
eg fiberglass, concrete

coton-fibres (denim for example)

compaction -> layering multiple pliers
coarse weave fabric; casting material needs to be able to get into the material

^Top

In's and out's of today's class. (Mar 14)

Next week assignment

cl09asgn

Lesson Notes

 

^Top

In's and out's of today's class. (Mar 21)

Next week assignment

cl10asgn

Lesson Notes

Right hand rule -> normal of triangle in direction of thumb.

dxf is NOT a 3d format.

Meshlab to fix your mes(s/h) smoothing/hole-finding and fixing/etc

123Catch. 3d from pictures in the cloud.

^Top

In's and out's of today's class. (Mar 28)

Next week assignment

cl11asgn

Lesson Notes

analog to digital converter

analog comparator

transistor-> current amplifier. base current is amplified

Temp measurement

ntc-> eclectron hopping -> warmer-easier -> warmer, lower resistance
rtd -> thin metal film -> warmer-harder -> warmer, higher resistance

Step responce

step responce = charging curve of 'the world out there'

microsecond to get the step responce. faster than ADC. use sample and hold (to convert)

 

^Top

In's and out's of today's class. (april 4)

Next week assignment

cl12asgn

Lesson Notes

V-USB

pyusb to comm via usb

SDL for Multimedia

PyGame -> sdl wrapper.

In's and out's of today's class. (april 11)

Next week assignment

cl13asgn

Lesson Notes

 

^Top

In's and out's of today's class. (april 4)

Next week assignment

cl12asgn

Lesson Notes

V-USB

pyusb to comm via usb

SDL for Multimedia

PyGame -> sdl wrapper.

In's and out's of today's class. (april 11)

Next week assignment

cl13asgn

Lesson Notes

^Top

In's and out's of today's class. (april 25)

Next week assignment

cl15asgn

^Top