 Let's begin with the FreeRTOS and what it is about. In general, we will speak about what the FreeRTOS is as an operating system. We'll describe basic features, the two APIs that you can use to access its functions, linkage with the STM32 Cube MX, and we'll have a couple of examples how to work with that and some live demonstration. We will speak about the setup of the FreeRTOS, how you can add or exclude features to save memory space. We will speak about memory allocation. This is a very important topic because you need to give some memory to different tasks. We'll speak about how the scheduler works, how it gives time to different tasks, and we'll speak about the communication between the tasks, what a task is and what it is not, how the FreeRTOS manages its resources, and we'll speak about other items or objects that it supports. There is as well a chapter about advanced topics like implementing different safety hooks and functions that can report stack violation, memory exhaustion, and so on. We'll speak about debugging and support in different tools, and as well about the looper, which means that the FreeRTOS can give you some free time, where the microcontroller doesn't need to kick and doesn't need to be alive to save typically the battery lifetime. And we will as well speak about the footprint in terms of flash and RAM size.