Introduction to Physical Computing (60-223) is a 10-credit semester project-based course offered at Carnegie Mellon University by the School of Art under the auspices of IDeATe.

Instructor: Robert Zacharias, rzach@cmu.education (minus the cation)
TA: Lumi Barron lbarron@andrew.cmu.education (minus the cation)

Class meetings: Tuesdays and Thursdays, 9:30–11:20 a.m., room A10 in Hunt Library (IDeATe’s Physical Computing Lab)

Lab hours

  • RZ: Tuesdays/Thursdays 11:30 a.m.– 12:30 p.m.
  • or by appointment with RZ; email to request a meeting at another time
  • LB: Fridays 1–2p.m.

Course synopsis

The first half of this practical project-based course is spent covering the basic technical skills (including electronics, programming, and hardware) needed to build simple interactive objects with embedded behavior using the Arduino microcontroller. Inputs to read information about the world include sensors such as an ultrasonic ranger, thermometer, light sensor, and human inputs like buttons and knobs. Outputs to affect the world include actuators such as motors, LED lights, speakers, and haptic feedback devices. Individual and group projects challenge students to apply their technical skills in creative ways. The class will be working with a local group of older people who serve as design clients for the final project; students conjure and build functioning assistive devices of a practical or whimsical nature for their critique and feedback. Readings and guest speakers address topics pertaining to design for older clients.

Topic and assignment schedule

This schedule is subject to change based on the speed at which we progress.

week class no. Tuesday class class no. Thursday class
1 #1 Aug. 27th intro and expectations; IDeATe; Arduino board tour; Homework 1: Intro assigned #2 Aug. 29th due: Homework 1; schematics and circuits part 1; blinking with variations; Homework 2 assigned
2 #3 Sep. 3rd due: Homework 2; Serial feedback; buttons; potentiometers; V=IR; class policies; Homework 3 assigned #4 Sep. 5th due: Homework 3; hobby servo; photocell; switches; resistors; Homework 4 assigned; Project 1 introduced
3 #5 Sep. 10th due: Homework 4 and Project 1 check-in; ultrasonic ranger and accelerometer #6 Sep. 12th soldering; external power; analogWrite(); Project 1 work time
4 #7 Sep. 17th due: Project 1 #8 Sep. 19th Project 2 introduced; DSLR camera tutorial; data types
5 #9 Sep. 24th due: Project 1 documentation; stray tech notes; lasercutting #10 Sep. 26th due: Project 2 brainstorming sketches and notes
6 #11 Oct. 1st Final project first meeting with design clients: introductions, brainstorming, and open ideation #12 Oct. 3rd due: Project 2 prototype
7 #13 Oct. 8th Project 2 work day; due: optional Project 1 documentation updates for regrading #14 Oct. 10th due: Project 2
8 #15 Oct. 15th Juggling simultaneous tasks; Homework 5 assigned #16 Oct. 17th due: Project 2 documentation
9 #17 Oct. 22nd class time given for final project interviews #18 Oct. 24th due: Homework 5; Final project interview review
10 #19 Oct. 29th due: Final project interview documentation; Final project prototype work day #20 Oct. 31st due: Project 2 documentation for regrading
11 #21 Nov. 5th Final project prototype work day #22 Nov. 7th Final project prototype work day
12 #23 Nov. 12th Final project: prototype crit; Homework 6 assigned #24 Nov. 14th due: Homework 6; guest speaker Laura Poskin; final project work day 1
13 #25 Nov. 19th due: Prototype process documentation; final project work day 2 #26 Nov. 21st final project work day 3
14 #27 Nov. 26th final project work day 4 Nov. 28th No class: Thanksgiving holiday
15 #28 Dec. 3rd Final project crit #29 Dec. 5th project wrap-up, documentation work time, and lab cleanup
16 Dec. 13th due: Final project documentation, at 5 p.m.