Smart and Sustainable IoT Experience — Living Lab

Contents of the Lab

Networked devices and “smart” systems are increasingly shaping everyday life at home, at work, and in public spaces. IoT technologies already underpin applications such as smart homes, smart cities, and smart campus infrastructures, and their relevance continues to grow as buildings, workplaces, and services become more connected and autonomous. At the same time, many real-world IoT deployments must operate reliably on constrained hardware and under strict energy and resource budgets, making careful communication, security, and system design essential. Because many nodes are battery-powered, low-power operation and communication efficiency must be engineered from the start rather than deploying a generic microcontroller like an ESP32 everywhere.

In this lab course, you will work in small teams on hands-on IoT deployment projects that span sensing, communication, and actuation in multiple real-world application scenarios. Each team designs, implements, and evaluates their own solution, including an appropriate system and communication stack for resource-constrained networked devices (e.g., device firmware, provisioning and commissioning, gateways, and, when applicable, edge and cloud components). You will adapt and optimize protocols and their parameterization on different communication layers to meet the requirements of specific use cases under constrained compute and memory budgets while adhering to strict energy targets. Your prototypes can be validated in realistic environments on campus to reflect practical conditions considering radio interference, multi-hop connectivity, and deployment and maintenance constraints.

Organization

At the beginning of the course, you will receive an introduction to communication protocols commonly used in IoT deployments and to key concepts in low-power networking (such as addressing, routing, and commissioning). You will then apply this knowledge along with potentially existing background knowledge to the design and implementation of your system, making and justifying engineering trade-offs under constrained resources and explicit energy targets based on measurements and experiments. During the semester, teams are supported through regular milestones such as feedback rounds, peer review, and intermediate presentations. At the end, each group presents its results and showcases their prototypes in a short demonstration and submits a concise technical documentation.

The kickoff meeting is expected to take place shortly before the start of the lecture period. We will ask you about possible dates as soon as the participant allocation has been finalized.

Please include a brief motivation in the free-text field of your application for this lab, explaining why you are interested in the topic and what prior knowledge or experience you may have. Prior knowledge is helpful, but not a requirement for being assigned a place.

Groups

This lab course will be completed in groups of up to four people. Groups will be formed during the kickoff meeting. Allocation in SuPra is generally done on an individual basis; direct group registration is, therefore, not possible. If you would like to work in a group with people you already know, you can proceed as follows during registration:

  1. All of you select the lab with the highest priority.
  2. Choose a shared group name and enter it clearly at the very beginning of the free-text field.

It is important that you assign the highest priority to the lab, because otherwise we cannot select you due to system constraints. Whenever possible, we will then select groups as a whole. However, we cannot guarantee that a group will receive a place. Therefore, please also indicate whether you would be willing to be assigned individually or partially to a different group. Finally, don’t forget to include a few reasonably meaningful motivation points in the free-text field (these may of course differ between group members).

Prerequisites

In general, participation in our lab courses requires:

  • Attendance at meetings and timely completion of assignments.
  • Ability to work in a team and active contribution within the group.
  • Basic programming skills in or willingness to learn the C programming language.
  • Adherence to basic coding standards.

In addition, we assume that you are familiar with the content of the core lectures “Data Communication” and “IT-Security.” The content from the lectures “Communication Systems Engineering,” “Mobile Internet Technology,” and “Advanced Internet Technology” is helpful, but not a prerequisite for choosing this lab course.

We are looking forward to meeting you in this lab course!