#168 ESP32 Dual Core on Arduino IDE including Data Passing and Task Synchronization

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Just came to see if this had been posted as I watched via a mention on Twitter. Really impressive we can do this form the IDE as this is the kind of functionality I'd expect to require lower level SDK work.

It also amazing how much faster than the Arduino boards this tiny, cheap chip is (even the older 8266).

Now to work out how to benefit from the two cores in my latest project!

👍︎︎ 3 👤︎︎ u/TimJethro 📅︎︎ Nov 05 2017 🗫︎ replies

The comments on YT suggest that having the global counter is not ideal. Does anyone here know what resources to read to understand the safer and correct way to use semaphores?

👍︎︎ 2 👤︎︎ u/[deleted] 📅︎︎ Nov 05 2017 🗫︎ replies
Captions
Today we'll double the speed of ESP32 And use the second core And we'll only use the Arduino IDE Let's get started! Greatings youtubers, here is the guy with Swiss accent with the new episode around sensors and microcontrollers. The new ESP32 has three cores Two of then are very fast, the third is ultra low power. The Arduino IDE typically only use one of the fast cores Today, we will take full advantage of the second core of the ESP32 We'll test if it really increases the capacity of our microprocessor We'll also compare its dual core speed with the speed of an Arduino UNO We'll try to synchronize tasks, even if they run on two different cores We'll also try to use the same data in both cores These two mechanisms are mandatory if you want to use two cores in a productive fashion And we will not leave the Arduino IDE Promised This video is only possible because ExpressIF changed something when they implemented Arduino IDE on ESP32 They added a realtime operating system called RTOS And most of us did not notice or cared about that What is a realtime operating system? It is an operating system like Linux ou Windows just very tiny and much less powerful But it can handle several tasks in parallel which run independently Our Arduino sketch, for an example, runs as one task We can check in which core a sketch runs by printing the value of: xPortGetCoreID This function returns the core a sketch run on
Info
Channel: Andreas Spiess
Views: 127,586
Rating: undefined out of 5
Keywords: esp8266, ide, esp32, esp8266 datasheet, arduino, tutorial, eevblog, lorawan, esp32 datasheet, electronics
Id: k_D_Qu0cgu8
Channel Id: undefined
Length: 12min 49sec (769 seconds)
Published: Sat Nov 04 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.