DevCon23 - Using ESP-IDF FreeRTOS Functionality Within an ESP32 Arduino Project
This is an entry-level talk, for people who already have some domain of Arduino and want to go a little deeper into using FreeRTOS along with Arduino in a project.
It will talk about why a developer should care about using an RTOS, present a target project, and a possible architecture that applies some RTOS features such as Multi Tasking, Mutex, Queue, and Ring Buffers.
It will present how to apply ESP-IDF FreeRTOS within an Arduino project, demonstrating most of these resources in a single code example.
Hands-On Case 1: Blink 2 LEDs
Basic Loop
wokwi.com/proj...
Each LED blinks at a different frequency
wokwi.com/proj...
Using Tasks
wokwi.com/proj...
Creating a single generic C Blinking Task
wokwi.com/proj...
Using C++ Class with the Blinking Task
wokwi.com/proj...
Hands-On Case 2: Printer
Basic Loop
wokwi.com/proj...
Using Task to Print
wokwi.com/proj...
Exclusion Printer
wokwi.com/proj...
Mailbox Printer
wokwi.com/proj...
Пікірлер: 21
Great webinar, very much appreciate shared information!
thanks Mr. Rodrigo. it is nice presentation. I liked examples. It was really instructive. thanks
@rodrigogarcia8617
5 ай бұрын
Happy for helping. The description has now the links to all the Wokwi example code. It can be tested/modified.
thanks for sharing, very interesting content!
@rodrigogarcia8617
5 ай бұрын
Happy for helping. The description has now the links to all the Wokwi example code. It can be tested/modified.
wait, are you telling me the arduino framework already also includes the latest updates to the esp-idf framework? for example can it use the ultra low power co-processor(ULP), i haven't found anything in the arduino-esp docs. Does that mean that i can use the esp-idf framework documentation when coding with the arduino-esp framework?
Some specially made boards only have Arduino. There is no esp idf. Some of them do not support microphyton. Which S3 MCU should be chosen to make a board that will support all programming infrastructures? Or what does being able to activate all programming tools depend on?
@rodrigogarcia8617
5 ай бұрын
Any S3 can be programmed using ESP32 Arduino Core or IDF. For micropython, all that is necessary is to download the Firmware and then connect a Serial Monitor Application to the UART in oder to access the REPL. ESP32 Arduino is based on IDF, therefore, it is possible to "mix" both using a mode called Arduino as IDF Component.
Nice presentation! Could you please upload the slides so that we can follow the example code mentioned?
@tadm123
5 ай бұрын
@@rodrigogarcia8617 Hi Rodrigo, do you have clickable links to the Wokwi programs? Thanks
@rodrigogarcia8617
5 ай бұрын
Happy for helping. The description has now the links to all the Wokwi example code. It can be tested/modified.
@rodrigogarcia8617
5 ай бұрын
The description has now the links to all the Wokwi example code. It can be tested/modified.@@tadm123
Thanks for this intro. My Arduino code has become "large" and needs to be refactored into tasks to avoid random runtime errors. So, this is very timely. You did a great job of explaining how Arduino runs in conjunction with FreeRTOS on ESP32 hardware. The URL's for the demos aren't active hyperlinks in youtube. Any chance you could paste them in the description?
@rodrigogarcia8617
5 ай бұрын
Happy for helping. The description has now the links to all the Wokwi example code. It can be tested/modified.
Arduino is a total joke, and should have been abolished when it first came out. absolute horrid IDE, and takes up extra memory and program storage. Not only this but they give NO access to menuconfig which is a very powerful feature. setup() and loop(), GMAB! When these young ones get of the nipple and go to real world they will get lost because there is no such thing in the real world. Arduinol should have stuch with main() like its supposed to be.
@mt-qc2qh
10 ай бұрын
That's funny, I grew up in raw C with Codeview and really basic tools. I use the Arduino IDE with a main() approach in setup with mostly null loops and don't have to think differently. I guess if you understand the hardware behind the scene, it's easy. After literally millions of line of code over the past 50 years, all I have to say is ... To each their own.
@tunckurtlu3154
7 ай бұрын
I am using ESP-IDF but I can say that it will all time that Grandmother of IoT family is ARDUINO although it's not the best. We should respect it.
@HJ-ou1fy
6 ай бұрын
Do it better yourself
@rodrigogarcia8617
5 ай бұрын
ESP32 Arduino is based on IDF, therefore, it is possible to "mix" both using a mode called Arduino as IDF Component. In such case, it is possible to use the menuconfig to configure the application and also the Arduino Component is necessary. But ESP32 Arduino relies on certain IDF configuration in order to work correctly. I would suggest to use the Arduino sdkconfig to build an Arduino as Component Application.
I'm getting errors in the semaphore examples, I don't have the full code but this is the output: "assert failed: 0x40088e79 :1545 () B a cakstsrearcte :f a0ixle4d0: 3440008eff 9c8c 0x 008a119d0x35f59(
@rodrigogarcia8617
5 ай бұрын
Please check the video description. It has now the links to all the Wokwi example code. It can be tested/modified.