CS294-84 / ME290U: Interactive Device Design
Fall 2013, UC Berkeley. CCN: 27010 (3 units)
This course teaches concepts and skills required to design, prototype, and fabricate interactive devices -- that is, physical objects that intelligently respond to user input and enable new types of interactions. The first half of the semester will be dedicated to a survey of relevant techniques in 3D modeling and fabrication; electronics and circuit board design; sensing and actuation for interaction; embedded software development, wired and wireless communication with mobile devices, computers, and networks; and user interface programming. In the second half of the semester, students will propose and carry out a significant design project of their own choice in groups. We encourage students to work on projects in health technologies (a CITRIS focus area); PhD students can also explore projects related to their area of research after consultation with us.
Because of the hands-on nature of this course, we have a strict capacity limit of 30 students. All students are initially placed on the wait list. In order to be considered for the class you must:
- Be on the waitlist for either CS294-84 (Hartmann) or ME290U (Wright)
- Come to the first class meeting and sign in
- Fill out our entry survey by Wednesday 9/4 11:59pm
- Programming experience required: This is a computer science course. You will program embedded systems for this course. You should be able to pick up a new language and API (with some help from us). Knowing the equivalent of the CS61A-C series at Berkeley should be sufficient.
- User Interface Design experience very useful: Your projects will have both software and hardware user interfaces. Some background in user interface design, e.g., INFO290 Tangible Interaction or CS160 User Interface Design is valuable.
- 3D modeling skills very useful, but not required: You will model and fabricate parts on our FDM machine. If you want to get a head start, learn how to use SolidWorks, but we'll also have a tutorial.
- Some electronics experience useful, but not required: You will build basic sensing and actuation circuits. The threshold for doing this has decreased rapidly in recent years, but you will be soldering your own electronics. If you have taken the equivalent of EE40 or have built projects Arduino boards before, you'll be fine.
If you have no programming background, you should not take this course. If you do not have experience in at least one of (UI design, 3D modeling, electronics) you should not take this course. You must be comfortable with learning a sizable set of new tools and processes, quickly.
Lab Managers and Fab Gurus: Mark Oehlberg and Chris Myers.
Piazza Group (for any course-related questions): piazza.com/berkeley/fall2013/cs29484me290u
If you have a technical question about your homework or project, please ask the class first through this group. For individual, class-related issues, use the private messaging feature on Piazza. Do not send individual email.
Lab Fee: This course requires payment of a lab fee of $125 for a semester pass to the CITRIS Invention Lab and a basic electronics kit. Also expect additional out-of-pocket expenses for electronics and consumables for your class project.
Lab Hours: Are posted on our Lab calendar.
Class Meeting Times: MW 10:30am-12pm in 141 Sutardja Dai Hall
Textbook: There is no required textbook for this class. There will be readings assigned for many lectures. The readings will be available online through this wiki. You may have to submit reading responses for those lectures through links on this wiki.
Media: If you are not a student but want to keep up with the latest events in the class, take a look at the News Blog.
W, Sep 4: Introduction
- Assignment due today!: Entry survey / course petition by Wednesday 9/4 11:59pm
- Assignment: Reading Response due by 9am on Monday Sep 9
- Assignment: Bring $125 check for lab fee to Monday's class, payable to UC Regents
- Assignment: Read and sign Waiver of Liability, Assumption of Risk, and Indemnity Agreement and bring to Monday's class (Pdf: File:Waiver-inventionlab-2013.pdf)
- Reading: Designing Bespoke Interactive Devices, Björn Hartmann and Paul K. Wright IEEE Computer August 2013, Volume 46, Number 8, pp. 85-89
M, Sep 9: Electronics and Microcontrollers 101
- Reading: Review Material from F. Mims III, Getting Started in Electronics, p. 8,9,14,18-19,20-21,28-31,32-35.
- Reading: J. Borchers, Arduino in a Nutshell, p. 1-12.
- Due: Reading Response
- Due: Bring $125 check for lab fee to CITRIS front desk, payable to UC Regents; bring receipt to class
- Due: Read and sign Waiver of Liability, Assumption of Risk, and Indemnity Agreement and bring to Monday's class (Pdf: File:Waiver-inventionlab-2013.pdf)
- Assignment HW 1 - Microcontroller Kit due Fri, Sep 13
W, Sep 11: Discrete Input and Text Entry Devices
- Reading: Text Entry Techniques - Section 4.1 from MacKenzie and Soukoreff, 2002.
- Reference (not required): Switches - Section 3.3 from P. Scherz, Practical Electronics for Inventors
- Due: Reading Response (covers only MacKenzie and Soukoreff).
- Assignment: HW 2 - Text Entry Device due Fri, Sep 20
Arduino Programming (cancelled)
F, Sep 13: No class, but assignment due
Week 3: Sensors
M, Sep 16: Sensors 1 - Continuous Input
- Reading: Selections from O'Sullivan and Igoe, Physical Computing
- No Reading Response
W, Sep 18: Sensors 2 - Recognition Techniques
- Assignment: HW 3 - Gesture Recognition due Mon, Sep 30 before class.
Lab: Laser Cutting (sign up on Invention Lab web site: )
F, Sep 20: No class, but assignment due
Week 4: From Input to Output
M, Sep 23: Identity: Barcodes, Fiducial Markers, RFID (Bjoern)
W, Sep 25: Actuation (Bjoern)
Week 5: Rapid Prototyping / Needfinding
M, Sep 30: Rapid Prototyping, Playtest (Paul)
W, Oct 2: Project Kickoff: Ideation, Storyboards (Paul, Guest Speaker: Mozziyar Etemadi)
Week 6: CAD / Guest speakers
M, Oct 7: Solidworks 1 (Rich Winslow, Bjoern at UIST)
W, Oct 9: Solidworks 2 (Rich Winslow, Bjoern at UIST)
M, Oct 14: Project Idea Presentations
W, Oct 16: Guest Speaker: Ted Selker
- Reading: Mike Kuniavsky, Smart Things Ch14: Observation and Ideation
- 'Optional Reading: Principles of Contextual Inquiry. Contextual Design. Chap 3. Beyer & Holtzblatt.
- Due: HW 4 - Solid Modeling, before class
Week 8: Wireless Communication
M, Oct 21: Wireless 1: Peer-to-peer and Connecting Embedded Hardware to the Web
- Assignment: P 3 - First Prototypes, due Wed Oct 30 before class
W, Oct 23: Wireless 2: Connecting to mobile devices
- Reading: Pages from Robin Heydon - Bluetooth Low Energy Developer's Handbook
- Due: Reading Response
- Due: P 2 - Observation
Topics to be assigned to remaining lectures: Camera-based interactions, Proximity and Indoor localization, Interaction Design, Power considerations, PCB Design and Fabrication, Business Plans and Crowdfunding, Prototype to Product: Volume Manufacturing and Injection Molding, Guest lectures.
M, Oct 28: Guest Talk: Steve Beck
- Assignment: HW 5 - Wireless Communication, due Fri Nov 8 by 5pm
W, Oct 30: Prototype to Product - Volume Manufacturing, Injection Molding
- Due: ProtoMold Design Check (in lieu of reading response)
M, Nov 4: Prototype Presentation and Critique
- Reading: Paul Wright. Plastic Products Manufacturing and Final Assembly. (Chapter 8 from 21st Century Manufacturing)
- Due: P 3 - First Prototypes revised due date!
F, Nov 8: No class, but assignment due
M, Nov 11: No Class - Veterans' Day (Academic Holiday)
W, Nov 13: PCB Design
- Assignment: P 4 - Production Files Rev 1, due 11/25
M, Nov 25: Business Plans
W, Nov 27: No class, but lab might be open
T, Nov 28: Thanksgiving
Week 14: Last Week of Classes
M, Dec 2: Research Directions
Fri Dec 6: Demo P 5 - Alpha Version to course staff
Week 15: RRR Week
M, Dec 9: No class, but we'll be available for advice in the lab.
Th, Dec 12: Final Presentations - 2-5pm, Talks in 141SDH followed by posters+demos in 300SDH (atrium).
M, Dec 16: Due: P 7 - Business Plan