Interactive Device Design (Fall 2017)

Interactive Device Design (Fall 2017)

CS294-84 / ME 290U: Interactive Device Design
Fall 2017, UC Berkeley. CCN: 46121 (CS294-84); 39874 (ME 290U) (4 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. We will provide a set of promising project areas with local partners. Alternatively, groups can also come of with their own product ideas. We encourage students to work on projects in CITRIS focus areas: health, energy technologies, connected communities, people and robots; PhD students can also explore projects related to their area of research after consultation with us. 

Class sessions will alternate between concepts and experiential learning. Classes will be held in 210 Jacobs Hall.


Because of the hands-on nature of this course, we have a strict capacity limit of 40 students. Enrollment decisions were made on August 20 (you had to have filled out our entry survey by 8/18). You should have received an email notifying you that you have a spot in this class. If you did not get an acceptance email, please do not come to class - we will not have room for you. 

You must also come to the first class meeting and sign in or be excused in advance. If we don't see you, we will offer your spot to another student.


  • Programming experience required: 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.

Course Information

Instructor: Bjoern Hartmann
GSIs: Rundong 'Kevin' Tian
Jacobs Hall Design Specialists: Mary Catherine Richardson, Matt Wolpe, Gary Gin, Chris Parsell, Kent Wilson.

Office Hours: 
Thu 3-4pm, 220A Jacobs Hall, starting 9/7.
Kevin: Fri 2-3, Invention Lab (141 Sutardja Dai Hall). Tuesday 4:30-5:30 (Jacobs Hall 110/120)


Piazza Group (for any course-related questions): (Or: just click on the Piazza link in the left hand menu)
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 to reach all course staff. Do not send us individual email.

Lab Fee: Students will be expected to get a Jacobs Hall Maker Pass. The regular Maker Pass is $75. Students with demonstrated financial need can get a fee waiver. Expect additional out-of-pocket expenses for electronics and consumables for your class project.
Lab Hours (Jacobs Hall): Consult the Jacobs Hall Access page.

Class Meeting Times: MW 10:30am-12:30pm, 210 Jacobs Hall

Textbook: There is no required textbook for this class. There will be readings assigned for many lectures. The readings will be available online in bCourses. You may have to submit reading responses for those readings through bCourses assignments.


Note that the schedule and assignments below are still tentative and will be updated for this year's offering

Course Summary:

Date Details