1.1 Learning Objectives After completing this module, students are expected to be able to: Understand the difference between a General-Purpose Operating System (GPOS) and a Real-Time Operating System (RTOS) Understand the differences and benefits of Multi-Threading on a Microcontroller Understand the specifications of the ESP-32 as a microcontroller for IoT purposes What Will We Learn? In previous courses, you may already be familiar with Operating Systems (OS) and the use of Microcontrollers for Cyber-Physical Systems. In those two cases, you used Linux, a General-Purpose Operating System (GPOS), and programmed using Arduino with a bare-metal architecture (running directly on the hardware without an OS). In this IoT practicum, we will introduce the Real-Time Operating System (RTOS), a crucial architecture in embedded systems and IoT applications.