http://fab.cba.mit.edu/classes/4.140/
... as well as the follow on course "How to make something that makes (almost) anything".
http://fab.cba.mit.edu/classes/865.15/index.html