- Scape, Minor Design Studio, Hyperbody & ID-StudioLab, Fall Semester 2009
- Hardware and Software tinkering - Fall 2010
- Course Title
- Hardware and Software tinkering
- Credit points
- Aadjan van der Helm
- Walter Aprile, Aadjan van der Helm
This course presents basic interactive sketching techniques, and more general tools for evaluating and choosing technology.
The course contains a theoretical part, introducing basic programming skills in procedural languages, higher level tools and languages (such as Max and Python), and techniques for interfacing hardware, from Phidgets to Foxboard.
Students will then choose (with the instructor assistance) a technology they are interested in, investigate it and apply it to a design brief.
Course Contents Continuation
1. Basics of Arduino: the programming language, what you can do with it (examples from ITD and other contexts), project philosophy of Arduino. Limits of the platform, how to go beyond them. Beware of the easy blinky way out. Difficulties of the real world, examples from this year's ITD: power, batteries, wiring, soldering.
2. Arduino in the field: interfacing to external input and output, controlling larger loads, sensors and actuators. Remarks on electrical safety. Using a multimeter. Wires and cables. Breadboarding, using prototype board. Serial communication, input and output. (bring in the hacked bread machine)
3. Introduction to Max
4. More Max: perhaps present our fancy tools by Paul and Tal to make complex things understandable.
5. The FoxBoard (as an example). Network access, use in conjunction with Arduino, explain the rationale behind the design of the system, show the protocols and electrical facts involved. Could it have been different? Practicalities, setting up a development system. The UNIX tradition of small utilities. The power of the command line.
6. Introduction to SERPE (and to Python)
7. Serpe completed.
8. Communication protocols, making everything talk to everything. REST design principle. Clinic
Acquisition of simple prototyping abilities
Analytical ability to quickly scope out a technology and contrast it with others
Ability to execute an appropriate technology choice in the context of prototyping
o) Basic programming skills
o) High level tools
o) Interfacing hardware (from phidgets to foxboard)