B8384 - LABORATORIO DI ELETTRONICA PER IL MACHINE LEARNING LM

Academic Year 2026/2027

  • Docente: Aldo Romani
  • Credits: 6
  • SSD: IINF-01/A
  • Language: Italian
  • Moduli: Aldo Romani (Modulo 1) Andrea Giorgetti (Modulo 2)
  • Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Electronics and Information Engineering (cod. 6715)

Learning outcomes

The student is able to identify, develop, and apply machine learning algorithms to solve problems in the fields of electronic engineering and telecommunications. The student has knowledge of, and is able to independently use, software tools and numerical computing methods for training machine learning models. Furthermore, the student acquires fundamental knowledge and skills related to the use and programming of embedded systems and is capable of developing machine learning applications

Course contents

Introduction to embedded systems. Real-time operating systems (RTOS) and basic primitives. Tasks and scheduling. Inter-task communication and synchronization. Queues, mutexes, and semaphores. Microcontroller programming using RTOS.

Introduction to Python. Introduction to TensorFlow and TensorFlow Lite. Local and cloud-based working environments and toolchains for embedded machine learning. Dataset management and organization. Training of machine learning models using TensorFlow. Training of neural network models for sensor data processing. Tiny Machine Learning and examples of toolchains. Microcontrollers as data acquisition systems. Model reduction and optimization techniques for microcontroller-based systems: quantization, pruning, model compression, introduction to knowledge distillation, and performance evaluation.

Practical exercises on embedded systems programming and the implementation of applications based on machine learning and sensors. Examples of signal classification, gesture and audio pattern recognition, with comparisons between non-optimized models and compressed or quantized models.

Readings/Bibliography

The lecture notes and lab materials presented during class will be made available to students in electronic format through the institutional repositories. However, the following volumes may be useful to students for consultation and further study:

G. M. Iodice, TinyML Cookbook: Combine Artificial Intelligence and Ultra-Low-Power Embedded Devices to Make the World Smarter. Packt Publishing, 2022.

P. Warden and D. Situnayake, TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers. O'Reilly Media, 2019.

W. Gay, FreeRTOS for ESP32-Arduino: Practical Multitasking Fundamentals. Elektor International Media, 2020.

Teaching methods

The teaching activity will be organized into theoretical classroom lectures and practical laboratory sessions to be held at the Electronics and Telecommunications Laboratory, with the aim of learning the basic principles of embedded systems programming for machine learning applications. In addition to regular teaching activities, the course may include seminars delivered by experts from both academia and industry.

As concerns attendance of laboratory during this course unit, all students must attend in advance Module 1, 2 on Health and Safety online.

Assessment methods

Students will be required to develop a project concerning the implementation of machine learning algorithms using microcontroller development boards ans sensors. A report must be produced, highlighting the main design choices, both regarding the management of machine learning models and the implementation aspects.

The examination will consist of the student’s discussion of the report and an oral interview aimed at assessing knowledge of the topics presented during the course. Assessment criteria will include knowledge and application of the concepts and design techniques presented during the course, mastery of the concepts covered, and the correct use of the technical terminology of the discipline.

Teaching tools

Video projector, PC. Online lecture notes. Electronics laboratory for learning techniques and tools for the study of machine learning algorithms and for embedded systems programming. Development boards with microcontrollers and sensors to be used during exercises and practical sessions.

Office hours

See the website of Aldo Romani

See the website of Andrea Giorgetti