ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO)

Arduino multithreading/multicore programming for ESP32

4.40 (15 reviews)
Udemy
platform
English
language
Hardware
category
ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO)
104
students
1.5 hours
content
Jan 2023
last update
$54.99
regular price

What you will learn

You will learn how to use VSCode and PlatformIO in ESP32 arduino projects

You will learn how to combine arduino and FreeRTOS in your ESP32 project

You will be able to create multithreaded ESP32 applications

Learn thread synchronization (mutexes, semaphores, queues, event flags)

Critical sections and hardware interrupts

Arduino milticore

Why take this course?

In this course I will tell about multithreaded arduino programming for ESP32. After completing it, you will learn how to combine the powerful functionality of arduino libraries with multithreaded programming for FreeRTOS.

In the first introductory lecture, I will introduce you to VSCode, which is well suited for developing arduino programs. We will install it and the PlatformIO extension, which allows to compile and debug programs for arduino. Next, we will download a simple arduino-wifiscan project provided by PlatformIO, and use its example to learn how to work with projects in VSCode. Next, we will transfer this project to the original Arduino IDE and run it. After that, we will open the sample project in the Arduino IDE and import it from VSCode.

In the next lecture, we will figure out how the arduino program for ESP32 works and find the main file for it. Next, we will write a simple multithreaded program with three threads.

In the third lecture, we will study in detail the work of this program and use examples to understand what the priorities of tasks affect.

In the next, fourth lecture, we will begin to study ways to synchronize between tasks and change a previously written program to synchronize two threads using a mutex.

In the fifth lecture, we will run one of the tasks on another processor core and use its example to get acquainted with critical sections and find out what spinlock is.

In the sixth lecture, I will show you how to synchronize tasks using semaphores. We will get acquainted with binary and counting semaphores. Than in this lecture we will study queues.

In the seventh lecture I will talk about flags and events.

In the eighth lecture, I will tell you how synchronization is performed between hardware interrupts and tasks. We will add an interrupt from the timer to the previously written program and use its example to consider the use of flags from the interrupt. Different processor cores will be used.

Next, several more examples of multi-threaded programming of ESP32 with arduino will be considered.

Reviews

Marek
February 27, 2024
At the beginning of RTOS section the teacher used a debug module, not available to me. This made it impossible to repeat / recreate whatever he did. Also there was much to little said "why", instead of "how" to do something.

Charts

Price

ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO) - Price chart

Rating

ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO) - Ratings chart

Enrollment distribution

ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO) - Distribution chart

Related Topics

5030052
udemy ID
12/18/2022
course created date
1/28/2023
course indexed date
Bot
course submited by