VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Embedded Systems
Last Updated: 2026-06-03 00:07:41
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
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.
Registration & Places
- Max Places
- 250
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture with exercise | Embedded Systems | No time listed | 4 h weekly |
Offered In
-
-
-
-
Robotics, Systems and Control (Focus Coordinator: Prof. Robert Katzschmann)
-
-
-
-
-
Electives (Students may also choose courses from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these courses.)
-
-
-
5th semester: third year core courses (Can be freely combined, a list of detailed recommendations is available under )
-
Specialization: Computers and Networks (These core courses are particularly recommended for the field of "Computers and Networks" but students may choose core courses from all fields freely.)
-
Specialization: Electronics and Photonics (These core courses are particularly recommended for the field of "Electronics and Photonics" but students may choose core courses from all fields freely.)
-
-
-
-
Core Courses (The Core Courses in the Master’s program Mechanical Engineering listed below are indicative and include courses designed by the Department at the Master's level. With the approval of the tutor, students may also select Master's-level courses offered by other departments at ETH. These courses will be marked as non-regular in the LAG, but their categorization as Core Courses is possible if included in the approved LAG.)
-
-
-
Electives (In the ‘electives’ subcategory, at least two course units must be successfully completed. All courses listed as core courses (not electives) for one of the following ETH MSc programmes, MSc Statistics, MSc Physics, MSc Computer Science, MSc (Applied) Mathematics, MSc Neural Systems and Computation, MSc Robotics, Systems, and Control, MSc Data Science, MSc Electrical Engineering and Information Technology, can be taken as an elective course in the MSc CSE without prior permission.)
-
-
-
-
Track: Computers and Networks (The core courses and specialisation courses below are a selection for students who wish to specialise in the area of "Computers and Networks", see . The individual study plan is subject to the tutor's approval.)
-
Core Courses (These core courses are particularly recommended for the field of "Computers and Networks". You may choose core courses form other fields in agreement with your tutor. A minimum of 24 credits must be obtained from core courses during the MSc EEIT.)
-
Foundation Core Courses (Fundamentals at bachelor level, for master students who need to strengthen or refresh their background in the area.)
-
-
-
-
-
-
-
Deep Track Courses (At least 20 credits must be completed within the deep track courses. Surplus credit points can be counted towards the electives.)
-
-
Deep Track Aerospace Engineering (These courses can be credited either as a specialization subject or as an elective subject.)
-
-
-
Deep Track Robotics (These courses can be credited either as a specialization subject or as an elective subject.)
-
-
-