VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

227-0124-00L 6 Credits BSC , MSC D-ITET , D-MAVT , D-INFK , D-ERDW , D-MATH , D-PHYS
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Embedded Systems

Lecturers & Examiners: PD Dr. Michele Magno
VVZ CR 4.16

Last Updated: 2026-02-05 16:30:28

Abstract

An embedded system is a combination of hardware and software, either fixed in function or programmable, that is designed for a specific application scenario or for a specific task within a larger system. They are part of industrial machines such as agricultural and manufacturing equipment, automotive systems, medical equipment, household appliances, sensor networks, and the Internet of Things.

Objective

Understanding the specific requirements and problems that arise in embedded system applications. Understanding the hardware structure of a microcontroller and an embedded system; memory architecture and memory map, internal and external peripherals, low-power and low-energy design as well as instruction sets and computational accelerators. Understanding the firmware structure of a microcontroller and an embedded system; low-level instruction set, hardware-software interfaces, communication between components, embedded real-time operating systems, real-time scheduling, shared resources, low-power and low-energy programming as well as computational accelerators. Using formal models and methods for designing and optimizing embedded systems. Gaining experience with practical applications of the C programming language, embedded real-time operating systems, and debug functionalities of the associated design environment to design, implement, and verify embedded firmware. Through project-based activities, students will gain substantial experience in applying the C programming language in the context of embedded systems. Projects will involve developing and implementing firmware, utilizing embedded real-time operating systems, and exploring the debugging functionalities within design environments. This hands-on approach aims to bridge the gap between theoretical knowledge and practical application, allowing students to experience the full lifecycle of embedded system development from design to implementation and verification.

Content

This lecture focuses on the design of embedded systems using formal models and methods. Besides the theoretical lecture, the course contains laboratory sessions where students transfer the learned theoretical aspects into praxis by programming a microcontroller and interfacing it with sensors and actuators. Students will be exposed to a commercial microcontroller, and the development board extend with a custom-designed embedded systems educational platform. Specifically, the following topics will be covered in the course: hardware and software structures of embedded systems, low-level instruction set, memory architecture and memory map, peripherals, hardware-software interfaces, communication between components, firmware design methodologies, firmware design using the C programming language, embedded real-time operating systems, real-time scheduling, shared resources, low-power, and low-energy designs well as computational accelerators.

Resources

Lecture Notes

Lecture material, publications, exercise sheets, and laboratory documentation will be available on the course's Moodle page.

Literature

Yifeng Zhu: Embedded Systems with Arm Cortex-M Microcontrollers in Assembly Language and C - Fourth Edition, E-Man Press LLC, ISBN: 978-0982692677, 2023 Giorgio C. Butazzo: Hard Real-Time Computing Systems. Predictable Scheduling Algorithms and Applications, Springer, ISBN 978-1-4614-3019-3, 2011

Learning Materials (Links)

General Information

Language
English
Levels
BSC , MSC
Frequency
Yearly recurring

Examination

Type
session examination
Mode
written 120 minutes
Aids
20 single-sided or 10 double-sided A4 pages of personal notes or printouts, and a calculator without communication capabilities.
Toward the end of the lecture, the student can participate in an optional mini project where a 0.25 bonus to the final grade can be earned.During the semester practical programming sessions, will demonstrate and introduce all the concepts needed for completing the project successfully. Constantly following and solving the practical sessions is the best way to acquire the knowledge for completing the bonus project.

Registration & Places

Max Places
400

Course Components

Type Title Time & Place Hours
lecture with exercise Embedded Systems
The exercises in the first week will not take place.
  • Mon 14:15-16:00 (ETF C 1)
  • Wed 16:15-18:00 (ETF E 1)
  • Fri 16:15-18:00 (ETF E 1)
4 h weekly

Offered In