Jeff Feddersen Fall 2016

Originally written on August 29, 2016 by Tom Igoe
Last modified on September 28, 2016 by Jeffrey Feddersen

Welcome! I’m very excited to be teaching this course again this year. It’s material I love, and I think now (2016) is a great time to be learning it: there’s never been more tools, opportunities, and interest in the subject.

Course overview one-page (pdf)

This page will archive the specifics of our section of the course. Your class documentation links will live here, as well as any week-to-week notes that come up in our particular class. The rest of the physical computing site is shared across all sections of the course. Weekly assignments and technical resources will come from there.

Class Time

Wednesdays, 12:10PM to 2:40PM

Important: I have a conflict with the 6th class on October 12, and have rescheduled week 6 to the following Friday, Orctober 14, at 9AM. Please contact me if you are unable to attend the make up session.


jfeddersen [at] gmail [dot] com. Please use this address! My NYU one will get there eventually, but gmail is preferred.

Office hours. I will have calendar slots available to meet in person before and after class on Wednesdays. I am also available by Skype/hangout/chat/email/call etc. almost any time with prior arrangement. In the past, I’ve found that regular office hours were under-used, and most contact with students outside of class ended up being via email, or increasingly, via video chat anyway. So, my office hour policy is to make arrangements as needed. Email me and we can set up a time to talk further. On the occasions I can be on the floor outside of class times, I’ll email the class list to let you know.

Schedule Overview

The syllabus is long and detailed, with tons of info and support material for each week. I created this thumbnail to provide an overview only. Please refer each week to the full details in the syllabus

Class # Date Topic Tasks for following week Blog Reading
1 Sep 7, 2016 Introductions Get parts, set up doc site What is Interaction? Yes
2 Sep 14, 2016 Electricity Electronics Labs; Quiz 1 Lab doc Yes
3 Sep 21, 2016 Microcontrollers, Digital I/O, Analog Input Digital I/O + Analog Input labs, Quiz 2 Lab doc, Observation Yes
4 Sep 28, 2016 Analog Output Analog Out Labs + catch up, Quiz 3 Lab doc None
5 Oct 5, 2016 Review & Reading Datasheets Catch up on labs and documentation Lab doc Yes
6 Oct 14, 2016 Asynchronous Serial 1
Note new date
Serial Labs, Quiz 4, start midterm Lab doc None
7 Oct 19, 2016 Asynchronous Serial 2 Serial Labs, Quiz 4, continue midterm Lab doc, midterm doc None
8 Oct 26, 2016 Project Presentations Midterms Due Final project concept Final concept None
9 Nov 2, 2016 Final project planning Build ‘paper’ prototype, make test plan Plan, BOM, Timeline Yes
10 Nov 9, 2016 Playtesting Update project plans based on playtesting Revise final docs None
11 Nov 16, 2016 Power electronics Work on final Revise final docs None
Nov 23, 2016 Thanksgiving holiday, no class
12 Nov 30, 2016 Serial 3: I2C and SPI Get final project ready for user testing Progress report None
13 Dec 7, 2016 User testing Prepare final and presentation Finalize project docs None
14 Dec 14, 2016 Project Presentations Finals Due

How to use this site

There’s a lot, lot! of information at Then there’s the whole rest of the internet, starting with Arduino HQ, going on to great sites like learn.adafruit and learn.sparkfun, not to mention infinite how-tos, data sheets for every component ever made, etc… It can get overwhelming. With the ITP site, we’ve tried to do two things:

  1. Provide a week-by-week syllabus for the semester that takes you through the physical computing material in a logical progression. Each week has clear tasks, assignments for the following week, and links to labs, write-ups, and videos that support or explain the current material. Follow along here and you’ll be fine.
  2. Provide an organized set of materials covering the core physical computing topics, to serve as a first resource for any questions you may have as you study the subject. These live under the Topics, Videos, and Labs tabs. These materials are also linked to from the syllabus, but here they’re organized by subject matter, whereas the week-by-week syllabus is chronological.


The most important thing you can do is arrive to each class on time and be prepared to actively participate, with questions, stories of setbacks or successes you encountered in the lab, and interesting material and events related to pcomp you’ve found. Each week, you should put in adequate time to really digest and then apply the material. I’m unimpressed by last-minute cramming. Floor 4 is the best place to do your class work, as you’ll be surrounded by your peers tackling the same topics, and you’ll have access to second-years, residents, and full-time faculty. Our brief time together each week, and your access to the 4th floor, is what distinguishes studying pcomp at ITP from, say, just reading the internet.

30%   In-class lab work and participation
20%   Midterm a/k/a Stupid Pet Trick
30%   Final project
20%   Blog & documentation


See the following link for Parts Needed

Documentation Links

Email me with direct links to your documentation for this class. Note: please set up tags, categories, or whatever so the link goes directly to the documentation specifically for this class, and not every class, or your life blog, etc.

  • Your links will go here – email them to me in week one.
Akmyrat Tuyliyev
Alexander Zimmer
Anastasios Germanidis
Ari Melenciano
Bryan Hsu
Grau Puche Recarens
Jacquelyn Zen
Rogue Fong
Koji Kanao
David Chen
Marco Guarino
Nitish Wakalkar
Patrick Presto
Andrew McCausland
Ping ‘Erenyx’ Qiu
Richard Lapham

Class notes

I’ll post week-by-week notes here, starting off with some links from the beginning of last year that were useful from a podcast I like: 99% Invisible:

And the specific episodes, tied very closely to the reading this week:  (Englebart’s device was the “keyset”)
This book is a little weird, but one of my favorites on understanding electricity intuitively:

Class 1

Class 2

Class 3

  • Eloquent Javascript is a Javascript book that also addresses fundamental programming in an interesting way.
  • If you want a peek “under the hood” of Arduino, look here.

Class 4


Board and schematic for analog output from class this week: