Michele Magno: Katalogdaten im Frühjahrssemester 2025

NameHerr PD Dr. Michele Magno
LehrgebietEmbedded Systems and Tiny Machine Learning
Adresse
Zentr. f. projektbasiertes Lernen
ETH Zürich, ETF F 109
Sternwartstrasse 7
8092 Zürich
SWITZERLAND
Telefon+41 44 632 66 86
E-Mailmichele.magno@pbl.ee.ethz.ch
DepartementInformationstechnologie und Elektrotechnik
BeziehungPrivatdozent

NummerTitelECTSUmfangDozierende
173-0002-00LEmbedded Systems and Computer Programming Belegung eingeschränkt - Details anzeigen 6 KP13GM. Magno
KurzbeschreibungAn embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions.
Lernziel- Learning and improving the key bases of C programming for Embedded Systems.
- Understanding specific requirements and problems arising in embedded system applications.
- Understanding embedded systems architectures and components, hardware-software interfaces, embedded operating systems, real-time scheduling theory, as well as low-power and low-energy design.
- Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment.
InhaltEmbedded Systems are today present in the form of a wide range of electronics devices for several application scenarios. Having a deep understanding of Embedded Systems will give the students the skills to design and manufacture different kinds of embedded system devices, including the Internet of Things and smart sensors.

This course focuses on learning the bases of embedded systems and the design of embedded systems using formal models and methods from a software point of view. Specifically, the following topics will be covered in the course: basics of C programming for embedded systems, embedded system architectures and components, hardware-software interfaces, embedded operating systems, real-time scheduling, low-power and low-energy design.

Besides, this course includes exercise and hand-on laboratory sessions where students learn how to solve theoretical problems and how to program a commercial embedded system platform (i.e., Texas Instruments MSP430 with an ARM cortex-M4F core) with the programming language C and real-time operating system RTOS.
SkriptCourse material including lecture notes, exercise sheets, and laboratory documentation will be available on canvas.
Literatur- P. Marwedel: Embedded System Design, Springer, ISBN 978- 3-319-85812-8/978- 3-030-60909-2, 2018/2021.
- G.C. Buttazzo: Hard Real- Time Computing Systems. Springer Verlag, ISBN 978- 1-4614-0676-1, 2011.
- Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber- Physical Systems Approach, Second Edition, MIT Press, ISBN 978- 0-262-53381-2, 2017.
- Avelino J. Gonzalez: Computer Programming in C for Beginners, Springer, ISBN 978-3-030-50752-7, 2020.
Voraussetzungen / BesonderesBasic knowledge in computer architectures and programming, circuits and electronics, and digital systems
227-0085-04LP&S: Microcontrollers for Sensors and the Internet of Things Belegung eingeschränkt - Details anzeigen
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
4 KP4PM. Magno, P. Mayer
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielUltra Low Power Microcontroller (MCU) – Firmware Programming and Sensors Interfacing using an Arm Cortex-M (STM32) Microcontroller

Microprocessors are used to execute big and generic applications, while microcontrollers are low cost and low power embedded chips with program memory and data memory built onto the system which are used to execute simple tasks within one specific application (i.e. sensor devices, wearable systems, and IoT devices). Microcontrollers demand very precise and resource-saving programming, therefore it is necessary to know the processor core, and particular importance has the investigation of the microcontroller's hardware components (ADC, clocks, serial communication, timers, interrupts, etc.).

The STM32 from STMicroelectronics has gained in popularity in recent years due to its low power and ease of use. The goal of this course is the development of understanding the internal processes in the microcontroller chip from TI. This will enable you to conduct high-level-firmware-programming of microcontrollers, to learn about the STM32 MCU features, benefits, and programming and how they can be connected with sensors, acquire the data, processing them and send the information to other devices. The course will also include an introductive lecture on machine learning and artificial intelligence on the embedded system and in particular microcontrollers. The C language will be used to program the microcontroller.

The course will be taught in English.
227-0085-05LP&S: FPGA in Quantum Computing with Superconducting Qubits Belegung eingeschränkt - Details anzeigen
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno, K. Akin
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielFPGAs are used in wide range of applications including video processing, machine learning, cryptography and radar signal processing, thanks to their flexibility and massive parallel processing power. Recently FPGAs have become important in quantum signal processing where high amount of data should be analyzed in a short time to use quantum setups most efficiently. In addition, FPGAs are used for quantum state detection and feedback generation, which have to be performed in the scale of hundreds of nanoseconds. The goal of this course is to understand the FPGA based signal processing for superconducting circuits based quantum experiments. The course participants will learn the implementation techniques of the modules for fast quantum signal acquisition and processing, the electronics supporting quantum experiments, and FPGA programming. You will implement quantum signal processing and quantum state detection modules using Xilinx FPGA, Verilog HDL, and high speed ADC. The course will be taught in English. No prior knowledge in quantum physics or FPGA is required, still a good knowledge in any coding language (for example C or Java) is required.
227-0085-06LP&S: Neural Network on Low Power FPGA: A Practical Approach Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
2 KP2PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielArtifical Intelligence and in particular neural networks are inspired by biological systems, such as the human brain. Through the combination of powerful computing resources and novel architectures for neurons, neural networks have achieved state-of-the-art results in many domains such as computer vision. FPGAs are one of the most powerful platform to implement neural networks as they can handle different algorithms in computing, logic, and memory resources in the same device. Faster performance comparing to competitive implementations as the user can hardcore operations into the hardware. This course will give to the student the basis of Machine Learning to understand how they work and how they can be trained and giving hand-on experiences with the training tools such as Keras. Moreover the course will focus in deploy algorithms in low power FPGA such as the Lattice sensAI platform to have energy efficient running algorithms. The course will provide to the students the tools and know-how to implement neural netwok on an FPGA, and the student will challenge theirself in a 5 weeks piratical project that they will present at the end of the course. Experience in FPGA programming is desirable but not mandatory.

The course will be taught in English.
227-0085-08LP&S: Bluetooth Low Energy Programming for IoT Sensing System Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielBluetooth Low Energy System on Chip – Firmware Programming and sensors Interfacing using an Arm Cortex-M (Nordic nrf52838) Microcontroller

With the introduction of the BLE 5.0 standard, Bluetooth has achieved high data bandwidth with low power consumption. This makes the technology an ideal match for many applications, i.e., IoT sensor application or audio streaming, by addressing two of the greatest bottlenecks of these devices. This course offers the chance for participants to do hands-on programming of microcontrollers. In particular, the focus will be laid on interfacing with sensors, acquisition of data, on-board event-driven data processing with ARM-Cortex-M4 processors and BLE or other wireless transmissions. The programming will be performed in C. Today’s microcontrollers offer a low power, efficient and cost-effective solution of tackling a nearly infinite number of task-specific applications. Ranging from IoT devices, wearable systems, sensor (mesh) devices, all the way to be integrated as submodules for the most complex system such as cars, planes, and rockets. Microcontrollers derive their advantages from the efficient use of resources and as such require very efficient and resource-saving programming. Therefore, it is mandatory to understand hardware components such as processor cores, ADC, clocks, serial communication, wireless communication, timers, interrupts, etc. The P&S includes five weeks project where the student will setup an IoT sensor node to monitor electric power transmission and distribution system.

The course will be taught in English by the ITET center for project based learning.
227-0085-26LP&S: Biosignal Acquisition and Processing for IoT Wearable Devices Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielBiosignal acquisition and processing – Wearable sensor node design and analysis for bio-impedance sensor using an Arm Cortex-M (Nordic nrf52838) Microcontroller
Wearable smart sensor electronics has the potential to revolutionize the medical field. Various body conformal flexible sensors have been used to monitor motion and physiological electrical signals such as electrocardiography (ECG), electroencephalography (EEG) and body composition analysis via body bio-impedance measurements. Smart sensor nodes not only provide accurate and continuous data in time but also automate the process of maintaining medical records, thereby lowering the workload oft he health worker or clinician. This course offers an avenue for the students to understand the interdisciplinary principles that make it possible to interpret human physiology by utilizing discreet electronic components. Most importantly, participants will get a chance to do hands-on system design specific to electronically tracking a particular physiological phenomenon. In particular, the focus will be laid on programming of micro controllers, interfacing with sensors, acquisition of data and utilizing discreet analog elements for bio-signal processing. The programming will be performed in C.


The course will be taught in English and by the ITET center for project based learning.
227-0085-27LP&S: Android Application Development (AAD) Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
4 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielAndroid Applications – Programming and development of Application - Android Studio – Smart Phone Sensors – GPS and Google Maps.

Although the App-Industry is dominated by the giant Apps right now, it is still crucial that one knows how those Apps function and how those Apps are communicating with their hardware. This course offers the opportunity for the participants to understand the development of application using Android Studio. Most importantly, participants will get a chance to do hands-on software design specific to Android smartphone and the data acquisition from sensors, GPS, google maps and other internal devices. The main goal of the course if providing the students with the basic principle and software programming for build up every android application. The course include 4-5 weeks project were the students alone or in group will build up a working demo of a target application. The course will conclude with the presentation of the students work. Previous experience in C/Java or other languages is preferable but not mandatory. The students will program their own Android Smartphone.

The course will be taught in English by the new Project-based learning centre.
227-0085-28LP&S: iCEBreaker FPGA For IoT Sensing Systems Belegung eingeschränkt - Details anzeigen
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno, C. Vogt
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielUltra Low Lattice FPGA – High Level Programming – Peripehrals Interfacing using an Lattice FPGA

Field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing , so they are also "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). However more and more nowdays producers and open source community are providing higher level toolls to program them similary than processors. On the other side still it is important know the hardware architectures. This course will give to the students the opportunity to program FPGA in a high level way and use them to connect with external peripherals such as display, sensors, etc. In particular, the course will use the iCEBreaker FPGA boards that is specifically designed for students and engineers . They work out of the box with the latest open source FPGA development tools and next-generation open CPU architectures. The course will also iCEBreaker can be expandable through its Pmod connectors, so the students can make use of a large selection of third-party modules. The course will include a project where the students will learn how to build a full working system for the next generation of Internet of Things intelligent smart sensing.

The course will be taught in English by the new D-ITET center for Project-based learning.
227-0085-39LP&S: Python for Science & Machine Learning Belegung eingeschränkt - Details anzeigen
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielThis beginner course to programming with Python - with a focus on applications in science and technology - is an ideal starting point for later courses. We will start with an introduction to the dev environment and tools for effective development to get you started. Then we will learn the basics of Python with exercises, and discover popular modules for data processing and visualisation that will be useful for your later studies and career. We conclude with an introduction to popular machine learning techniques and some time for you to implement your own small free-style projects.

By the end of the semester, you will
- be familiar with your PC’s command-line interface and know how to use available dev environments effectively.
- have learned the basics of Python and be able to write basic programs that do what you want (most of the time) with the help of modules.
- be able to process, visualize and analyze numerical data, e.g. lab measurements, images, etc.
- have first experience with machine learning techniques
- maintain your first git repository and know how to collaborate with others on coding projects.

Language: English / German (if necessary)
227-0085-45LP&S: Robotic Maze Solving with a TI-RSLK Robot (RMaze) Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielMicrocontroller programming (C) – Peripherals Interfacing using a MSP433 MCU – Control of a Robot in a maze

The course will focus on teaching how to build and program a Texas Instrument robotic system learning kit (TI-RSLK). It is a robot kit, which includes a 2 wheeled robot, a line sensor to determine lines on the floor as well as sensors to recognize walls. The robot is driven by a MSP432 state of the art ARM Cortex M4 processor.

This course will give the students the opportunity to learn how to program the microcontroller of this robot to navigate in a small maze. For this, the students will learn how to control the motors and, consequently the movement of the robot with the peripherals of the microcontroller. Next to the movement, also the control and readout of the attached sensors will be part of the P&S course.

Once the students are able to read sensor values and control the motors of the robot, this course will conclude with a 4-week project. Within this project the students will design their own algorithm, such that the robot can navigate autonomously within a maze. A small competition at the end of the P&S will find the fastest robot of the group.

The course will be taught in English by the new D-ITET center for Project-based learning, the programming toolchain will be installed on the student’s own laptop. Experience with microcontroller programming (C) is an advantage, however not required. A short introduction will be given during the course.

This course will be taught in English or in German if necessary.
227-0085-46LP&S: Embedded Systems With Drones Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
4 KP4PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielMicrocontrollers - Programming in C – Drones – Autonomous Drones – Embedded System – Sensors.


Drones can be fun to use but understanding the hardware and software and building and programming them to be intelligent and autonomous is even better. This course gives the basis of the embedded systems having the drones as the primary target. The course will introduce embedded systems and, in particular, the microcontroller ARM Cortex-M, focusing on all the crucial blocks such as Interrupts, GPIO, ADC's, Timers, and Serial communication protocols. Apart from the core topics, real-time and power-efficient algorithms for attitude and motor control are also discussed, making the drone efficient. Finally, exciting drone exercises are supported in the course to experiment with the development kit. The course will end with a 4-5 weeks project where the students will make the drone fly with some specific goal. It is not required any previous knowledge except C language.
The course will be taught in English and organized by the Center for Project-Based Learning.
227-0085-47LP&S: Machine Learning on Smart Phone Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielMachine Learning with Smart Phone Sensors –Programming Android Phones – Neural Networks – Keras/Tensor Flow- Projects and App on smartphones

Smartphones have several sensors that can acquire much useful information, for instance where we are, what we are doing, with whom we are together, what is our constitution, what are our needs. Based on this information our 'smartphone' offers us the appropriate computational power to process them in loco without sending the sensor data to the cloud. This course focus on giving the bases of machine learning and embedded systems. The student will learn the tools to implement a machine learning algorithm, such as Tensor Flow and others in their android phones to have an advanced smartphone. The course will end with 4 weeks project where the students can target a specific application scenario. It is not required any previous experience In machine learning. Phyton is a plus but the basis of phyton will be given in the course to be able to complete the project.
The course will be taught in English and organized by the new Project-based Learning center.
227-0085-48LP&S: Introduction to Program Nao Robots for Robocup Competition Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
3 KP3PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielProgramming Robots – Sensors- Humanoid Robot.

NAO robots from Softbank are the leading humanoid robot being used in research and education worldwide. Robotics is the fastest growing and most advanced technology used in education and research. The main goal of this course is to introduce and allowing the students to learn how to program an NAO humanoid robot to make him walk, talking, watching objects understanding the human, and reacting to external input. The Nao Robots used in this course are equipped with many sensors: Tactile Sensors, Ultrasonic sensors, A Gyro, An Accelerometer, Force Sensors, Infrared sensors, 2 HD Cameras, 4 Microphones, and high accuracy digital encoders on each joint. It has two processors on board: an Intel Atom 1.6Ghz (The main computer includes SSD drive, WiFi, Bluetooth, and wired network) and an additional ARM-9 processor in its chest.
The course will introduce the software package and the full SDK and API. The students will learn how to program ( mainly in C and Phyton) the robot to access the full functionality. To improve the hands-on skills of students the course will end with a 5 weeks project where the students in the group will compete in a small soccer game where the robots will play the game following and kicking a red ball. It is not requested any previous knowledge but programming skills are a plus.
The course will be taught in English and organized by the new Project-based Learning center.
227-0085-49LP&S: Smart Patch Projects Belegung eingeschränkt - Details anzeigen
Findet dieses Semester nicht statt.
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
4 KP4PM. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielWearable devices, PCB Design, Firmware developing, multi-sensors, Communication.

The Smart Patch project will design autonomous, low power and mesh enabled multi-sensor wearable smart patches. They will be based on the always-on smart sensing paradigm to continuously acquire process and stream physiological data in real-time. They can be trained to autonomously detect illness symptoms or other physical conditions, such as stress. The students will work in a team to design a sub-block of the smart patch. According to the students' background, they will be associated swith designing the hardware or the firmware. Together in a team, they will learn how to structure problems and identify solutions, system analysis, and simulation, as well as presentation and documentation techniques. They will get access to D-ITET labs and state-of-the-art engineering tools (Matlab, Simulink, Firmware development IDE, PCB Design, etc.) The course will be done in coollaboartion with DZ Center at D-ITET.

The projects will be done under the Smart Patches: a flagship project for D-ITET students. (pbl.ee.ethz.ch)
227-0085-63LP&S: Enabling Smart and Low Power IoT Sensor Nodes Belegung eingeschränkt - Details anzeigen
Die Lerneinheit kann nur einmal belegt werden. Eine wiederholte Belegung in einem späteren Semester ist nicht anrechenbar.
4 KP4PT. Polonelli, M. Magno
KurzbeschreibungDer Bereich Praktika, Projekte, Seminare umfasst Lehrveranstaltungen in unterschiedlichen Formaten zum Erwerb von praktischen Kenntnissen und Fertigkeiten. Ausserdem soll selbstständiges Experimentieren und Gestalten gefördert, exploratives Lernen ermöglicht und die Methodik von Projektarbeiten vermittelt werden.
LernzielEnabling smart and low-power IoT sensor nodes – Firmware programming, sensor acquisition and signal processing, digital interfaces, wireless connectivity (Bluetooth and WiFi) combined with an onboard Neural Network (NN) classifier.

Microprocessors (MCU) are everywhere today, from ultra-low power wearable devices to robots and embedded systems for the industry. In general, combining an MCU with sensors, a wireless interface, and onboard signal processing is the foundation for most electronic devices.
In this practical course, the students will have the opportunity to improve their C programming skills on an actual device, with several sensors (microphones, accelerometers, vibrometers, temperature, humidity), a dual Bluetooth-WiFi wireless interface, and an AI accelerator for onboard data analysis and processing.
The kit used in this course is directly provided by STMicroelectronics and can be found here: https://www.st.com/en/evaluation-tools/steval-stwinkt1.html. Combining theory (20%) and practical implementation (80%) should enable students to conduct high-level firmware programming for microcontrollers.
After seven practical exercises and hands-on lessons, students will have the opportunity to propose and implement their own idea making use of the previously acquired knowledge and the supervisor's support.

The primary programming language will be C. A basic knowledge of Python is suggested but optional.
The course will be taught in English.
227-0155-00LMachine Learning on Microcontrollers Belegung eingeschränkt - Details anzeigen
Registration in this class requires the permission of the instructors.
6 KP4GM. Magno, L. Benini
KurzbeschreibungMachine Learning (ML) and artificial intelligence are pervading the digital society. Today, even low power embedded systems are incorporating ML, becoming increasingly “smart”. This lecture gives an overview of ML methods and algorithms to process and extracts useful near-sensor information in end-nodes of the “internet-of-things”, using low-power microcontrollers (ARM-Cortex-M; RISC-V).
LernzielLearn how to Process data from sensors and how to extract useful information with low power microprocessors using ML techniques. We will analyze data coming from real low-power sensors (accelerometers, microphones, ExG bio-signals, cameras…). The main objective is to study in detail how Machine Learning algorithms can be adapted to the performance constraints and limited resources of low-power microcontrollers becoming Tiny Machine learning algorithms.
InhaltThe final goal of the course is a deep understanding of machine learning and its practical implementation on single- and multi-core microcontrollers, coupled with performance and energy efficiency analysis and optimization. The main topics of the course include:

- Sensors and sensor data acquisition with low power embedded systems

- Machine Learning: Overview of supervised and unsupervised learning and in particular supervised learning ( Decision Trees, Random, Support Vector Machines, Artificial Neural Networks, Deep Learning, and Convolutional Networks)

- Low-power embedded systems and their architecture. Low Power microcontrollers (ARM-Cortex M) and RISC-V-based Parallel Ultra Low Power (PULP) systems-on-chip.

- Low power smart sensor system design: hardware-software tradeoffs, analysis, and optimization. Implementation and performance evaluation of ML in battery-operated embedded systems.

The laboratory exercised will show how to address concrete design problems, like motion, gesture recognition, emotion detection, image, and sound classification, using real sensors data and real MCU boards.

Presentations from Ph.D. students and the visit to the Digital Circuits and Systems Group will introduce current research topics and international research projects.
SkriptScript and exercise sheets. Books will be suggested during the course.
Voraussetzungen / BesonderesPrerequisites: Good experience in C language programming. Microprocessors and computer architecture. Basics of Digital Signal Processing. Some exposure to machine learning concepts is also desirable.