Designing for the Internet of Things

Fall 2023, Carnegie Mellon University

Course Prefix & Number 48-675 (6 units)
Meeting times Tuesday and Thurday
10:00-11.50am ET
Locations Hunt Library, A10 (Physical Computing)
Instructor Daragh Byrne
Teaching Assistants: Zhenfang Chen
Office Hours: By appointment.
Request by Calendly (see link on canvas).
Lab Content: DIoT Lab Site

Course Description

Thermostats, locks, power sockets, and lights are all being imbued with ‘smarts’ making them increasingly aware and responsive to their environment and users. This course will chart the emergence of the now ‘connected world’ to explore the possibilities for future products and connected spaces with the Internet of Things. This introductory, hands-on course invites students to creating connected products without any knowledge of programming, electronics or systems. Students will be introduced to interactive connected technologies through a series of hands on exercises, collaborative projects, in-depth discussions, and instructor led tutorials. Topics explored will include awareness, real-time sensing and communication, embedded intelligence, and designing experiences for the internet of things. By the end of this course, students will be familiar with the core skills, the considerations involved and design process required to build a connected system. Students will also apply this learning in collaborative groups to realize a prototype connected device.

Course Content

Weekly Schedule

Week Summary
1 (Oct 24) Introduction to IoT and Connected Products
2 (Oct 31) Design Approaches for Networked Devices
3 (Nov 7) Working with Networked Devices
4 (Nov 14) Exploring Ambience and Tangible Data
5 (Nov 21) Envisioning Connectivity for Domestic Settings
6 (Nov 28) Considering Connectivity
7 (Dec 5) IoT Ecosystems
8 (Dec 12) Final Presentations


  1. All students taking the course must complete the online skills survey (see Canvas assignment)

  2. Students are required to purchase an IoT development kit prepared by Sparkfun to participate in this course. This covers your basic needs for projects. This will be charged to your student account. You’re welcome to go beyond them and additional / more advanced components are available in the Physical Computing lab. If you borrow equipment from PhysComp you are expected to return them at the end of the semester. If you’d like to tackle more ambitious or advanced components, let us know and we can help you make selections.

  3. Our Slack community is the main hub for course updates, discussion and content (signup link available on Canvas). Read more about the slack and its role in the course. Use slack communications with the instructors and TA’s too (i.e. don’t email us!). Highly recommended: Download the Slack client for your smartphone or desktop and enable notifications!

  4. Creative projects should be documented on the Gallery. This site contains a guide to using the gallery.

  5. It’s your responsibility to be familiar with the course policies and standards found in the full syllabus. If you cannot attend classes make sure you know what to do.

  6. No late work accepted. Please don’t ask.