Ldc home.jpg Luca De Cicco
Associate Professor, PhD

Embedded Control (6CFU)

The course has the objective to introduce the students to embedded control systems design by following a learn by doing approach. The student will learn to design and implement real control systems by using microcontrollers.

Program of the course

  • Introduction to embedded control systems (ECS). Definitions and control architectures (centralized and distributed). Design requirements for ECS. Microcontrollers for ECS: selection and trade-offs.
  • ARM-based microcontroller architectures: ARM architecture, the STM32 microcontroller family.
  • Reading from sensors: General Purpose Input Output (GPIO), Inter Integrated Circuit (I2C), Universal Asynchronous Receiver Transmitter (UART), Analog to Digital Conveters (ADC).
  • Programming actuators: Pulse Width Modulated (PWM) signals, Digital to Analog Converters (DAC).
  • Design of ECS firmwares: big-main loop design, interrupt driven firmware, real-time operating systems (FreeRTOS). Selection criteria based on system requirements.
  • Case studies. Design of practical embedded control systems using development boards (STM32 Nucleo boards). Examples: inverted pendulum, two-wheeled balancing robot, ball-on-plate and ball-on-beam balancing, thermal system control (f.i., temperature control of an FDM printer nozzle).


The student has to design and realize a working embedded control system (groups of maximum 3 students are allowed), encompassing the main course contents (reading from sensor(s), computing the control action, implementing the control action through an actuator). The student will present the implemented ECS followed by an oral exam that will cover the theory of the course.

Further information

Please contact Prof. Luca De Cicco at luca.decicco AT poliba DOT it for more information.