Have a question?
Message sent Close
4.45 out of 5
4.45
11 reviews on Udemy

ESP32: Arduino + FreeRTOS (in VSCode/PlatformIO)

Arduino multithreading/multicore programming for ESP32
Instructor:
Viacheslav Kulakov
80 students enrolled
English [Auto]
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

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.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5
4.5 out of 5
11 Ratings

Detailed Rating

Stars 5
6
Stars 4
3
Stars 3
2
Stars 2
0
Stars 1
0
e64e50b977609a6226e41986c40de56f

Includes

2 hours on-demand video
Certificate of Completion
This website uses cookies and asks your personal data to enhance your browsing experience. We are committed to protecting your privacy and ensuring your data is handled in compliance with the General Data Protection Regulation (GDPR).