SAPIENZA Università di Roma, M.Sc. in Product Design

Smart Objects (6 CFU)

Prof. Fabio Patrizi , Prof. Ioannis Chatzigiannakis

General Information

This course introduces the basics of smart objects, i.e., objects able to interact with an external environment and with other objects. The aim of the course is to provide students with the background needed to develop a product prototype featuring interaction capabilities. The topics covered in the first part include the notion of smart object, principles of object-environment interaction, and some basics on programming, with emphasis on command execution. The second part of the course is devoted to the prototyping platform Arduino, and covers aspects of elementary circuit design and Arduino programming. Students will learn how to make a product prototype able to interact with the external environment, through a simple circuit controlled by Arduino.

Course Program


Course material


We will be using the "Arduino Project Book", i.e., the standard book that comes with the Arduino Starter Kit. You don't have to buy any of these (of course, you can, if you want). For Arduino and the respective hardware, please take a look at our shopping list. For the book, we will give you an electronic copy (without violating the Creative Commons License).


Students are required to buy the Arduino platform together with some components that will be used during the course. Teams (of max 3 people) can buy a single platform (+ components) to use in their project. A basic shopping list is reported below. This will be used to learn the basics of Arduino programming and circuit assembly. Additional components may be needed, as the course progresses. These will be announced as well. Of course students can buy additional components, if needed by their prototype.



Information about exam

Students are required to implement, in teams, a prototype that features interaction capabilities. This will be done through 3 deliveries.

During the final delivery, questions about interaction aspects (including Arduino and programming) will be asked to all team members and will contribute to the final mark.

Marking (1st delivery; 2nd delivery; final project and exam): 10% 10% 80%

Course attendance is compulsory and will contribute to marking.