This channel such a breath of fresh air, for many years there such a scarcity of high value embedded knowledge, glad see tide is changing. keep it up champ!
Not really. The fact that the ESP32 is built to require an RTOS sucks for anything real time. It's decent for hobby projects as it has wireless but its actual architecture is way inferior to virtually any other chip
@@TheChrisey the ESP32 is good at what it is meant for, which is a wifi or Bluetooth connected device. It is also good enough for most real time tasks.
I modified and built one of the ESP32 MQTT examples and I was shocked that I was able to login to my WiFi and connect to the MQTT broker software successfully. I also tried one of the ESPNOW examples and I was able to get two ESP32 devices to talk to each other. I am pretty impressed with the ESP32 sample code.
Thanks for the ESP32 content. I tried to use the ESP-IDF a year or so back and getting the hang of how to use it properly was just overwhelming-went back to Arduino. Demystifying all the esp_err_t things would be great but I’m also a relative idiot in these regards.
Happy to hear it was useful! Don't be afraid of all the different types. The API is well documented and I'm sure you could find the definitions for what you're looking for. In the case of esp_err_t, it's just an int :) (docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/esp_err.html#_CPPv49esp_err_t)
Dont't know if it was on purpose, but I almost did not click the video becaude of the arduino logo. Not because I hate it but because I am intrested in learning esp-idf toolchain. So you might think about that. Great video! Your really help me getting into embedded :)
I'm starting to see the light at the end of the tunnel with this video and the other ESP32 installation video from you, and the hours I spend in front of my PC. Very well explained. Muchas Gracias.⭐⭐⭐⭐⭐
Thank you for making this video! I am so glad I found your channel! Great quality. I found you while trying to learn to control a MG995 servo with ESP 8266 & 32. Didn't find that but found soooo much more 🙂
I would love to see this in Rust. I've never used Rust but I've watched your latest two Rust videos and am strongly considering learning it. You got a sub from me!
Unfortunately rust doesnt natively support esp32. But there is a rust compiler fork but i dont thinks its a good idea to use something experimental unless that is what you want. I have been looking into this. Stm32 is well supported with Rust. So that's what i am looking at.
You welcome, i have a question: I was using est32 bavk in 2018 and if I still remember there was Bug that prevented me to commercially use it, the bug was about the esp32 that halt after some time of using and there was no way to reboot it even with the internal watchdog, i had to counter it with external capacitor that trigger the reset pin after a while but that as silly, in that time i was using an arduino bootloader with other libs like mqtt, In C haven't you got any type of that bug?, is it even stable in the long terme use ?
Interesting.... that bug sounds like either two things were happening. 1.) Your code had a bug that was causing the board to reset. Could have been some long-time-use integer overflow or maybe you didn't manage memory correctly and exhausted all the memory. Or 2.) Maybe there is a hardware fault in the ESP32 CPU and over time it just flips over. No clear answer, but no that doesnt seem very usable in the long run XD
@@LowLevelTV lol definitely, it's a crash actually that the esp couldn't survive and it appears to be kinda random, if i still remember many users in the internet where facing the same thing and hope that is related to the arduino stack itself, other than that this device is wonderful for its price, even if it operates badly on batteries due to the bad handling of low energy consumption...
Thank you for making this video, it was so useful - I was struggling with the example until I found this. The next step would be to make the wifi startup code non-blocking and create a task to monitor when the wifi becomes available. I'm going to see if I can work out how to do this, but would love to find a video on it (hint hint) :P Thanks again, off to the races now...
Hey i have a question, why do you use a event group for just one bit? Isnt it beter and less complex to use something else? I am just new and trying to learn so thats why i ask the question.
Thanks for watching! I use the ESP32-DevKitC. That's a great question, I'm actually not sure about the compatibility. I would imagine that as long as my code adheres to the ESP API and doesn't directly control individual pins, the code should be compatible. I'll have to test, though.
nice video, it was very useful can you explain how to control GPIO using register addresses I have try to look in the datasheet but I can't understand anything
I find it difficult reading the server address as hex. I would prefer, if the s_addr was converted using inet_pton(AF_INET, ip_address, &addr.sin_addr);
So after some thinking, i must say I am a little underwhelmed by this approach. While it's more intricated and tedious over the "Arduino" approach, it doesn't really seem to show any benefit, like access to the low level registers of the radio. I have heard that using the wifi functionality uses the second core of the ESP 32 that is hence not available in Arduino, but could we use it in this context?
I'm gonna be totally transparent with you, I actually haven't explored the Arduino option at all. I just like shitting on Arduino XD Me personally, I'd rather dive deep on the API's that the Espressif developers came up with to learn their base abstractions, and THEN learn how Arduino wraps it. As opposed to the other way around. I'm pretty sure you can use Wifi on Arduino ESP32 though?
@@LowLevelTV yeah the setup is easier of course but that wasn't really my point; even with the IDF we don't really "see" the radio device and how it works 😭
@@LowLevelTV In particular - can we use the second core (available through freertos calls) while wifi - or in general the radio - is being used? What limitations would there be (besides a lot of the ADCs not be available) etc. Can the radio be hacked to provide SDR, as in software defined radio, to receive arbitrary spectrum? Etc. Take it easy, keep up the fantastic job
Fantastic tutorial! I finished up an arduino project recently for an adafruit ESP32, but wanted to try it closer to bare metal. Are there any other cool features of the ESP32 you could demo, like DMA or debugging FreeRTOS?
I tryng to write code for esp32 in rust, for me rust is a new language and this way for me is the best to learn new lany. I have. Aproblem to set stati ip address for router in accesspoint mode.someone jave advice?
I'm a big fan of your videos, they've helped me design a course focused in Hardware and Microcontrollers. Just a quick question. Which Linux distro do you use for your projects? From the looks of it I think you have Debian or Ubuntu
Interesting but way way too many adverts (every two mins plus pop overs) - TV does not have an ad blocker - TH-cam must have it in for me today, Lost track in the end...
@@LowLevelTV it's very very odd - TH-cam advert quantity differ by time of day / night it seems in the U.K. since the last Amazon Fire stick app update! I'll try it again at some point in the day as I was enjoying it 👍 I'm wondering if TH-cam are pushing Amazon users to the pad subscriber level deliberately but £17 per month is way way too much! As for finding use for this - I won a single board computer without wifi from Electromaker so this gives me a way of linking it to the network - just need to build in a little web server but my C skills are zero so it should not be too hard 🤔 😲 😱 ❗️Going to be a fun year ahead I think... Take care and thanks for getting back to me.
"but we don't do that here... we are writing this in C" - it is at this point I knew I have to like and subscribe this! :)
Welcome!
Finally a video showing how to do something with the ESP32 that ISN'T Arduino! Thank you!
This channel such a breath of fresh air, for many years there such a scarcity of high value embedded knowledge, glad see tide is changing. keep it up champ!
Much appreciated!
ESP32 is just the perfect balance between accesibility and performant low level. Also, built in FreeRTOS with the IDF is just perfect
Can you recommend resources to learn ESP32?. I tried to use BLE on ESP32 but I got very confused and I couldnt find any guides or tutorials.
Not really. The fact that the ESP32 is built to require an RTOS sucks for anything real time. It's decent for hobby projects as it has wireless but its actual architecture is way inferior to virtually any other chip
@@TheChrisey Could you elaborate a bit more? I'm actually curious as to what architecture differences are you talking about
@@TheChrisey the ESP32 is good at what it is meant for, which is a wifi or Bluetooth connected device. It is also good enough for most real time tasks.
I modified and built one of the ESP32 MQTT examples and I was shocked that I was able to login to my WiFi and connect to the MQTT broker software successfully.
I also tried one of the ESPNOW examples and I was able to get two ESP32 devices to talk to each other. I am pretty impressed with the ESP32 sample code.
i watched this 3 times and it still going way over my head. maybe im just dumb.
Thanks for the ESP32 content. I tried to use the ESP-IDF a year or so back and getting the hang of how to use it properly was just overwhelming-went back to Arduino. Demystifying all the esp_err_t things would be great but I’m also a relative idiot in these regards.
Happy to hear it was useful!
Don't be afraid of all the different types. The API is well documented and I'm sure you could find the definitions for what you're looking for.
In the case of esp_err_t, it's just an int :) (docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/esp_err.html#_CPPv49esp_err_t)
Dont't know if it was on purpose, but I almost did not click the video becaude of the arduino logo. Not because I hate it but because I am intrested in learning esp-idf toolchain. So you might think about that.
Great video! Your really help me getting into embedded :)
I'm starting to see the light at the end of the tunnel with this video and the other ESP32 installation video from you, and the hours I spend in front of my PC. Very well explained. Muchas Gracias.⭐⭐⭐⭐⭐
Thank you for making this video! I am so glad I found your channel! Great quality. I found you while trying to learn to control a MG995 servo with ESP 8266 & 32. Didn't find that but found soooo much more 🙂
Did you figure it out?
Your videos are top notch. Considering some merch... but would like something more discrete, like a small chip design or something
I was literally designing this as you commented! Coming soon
Omg man, you're gold. I just subscribed and start watching and pressing like on every video of yours. Keep it coming please
Welcome aboard!
"But we don't do that here". That got you a new subscriber
thank you for the video, it made the code so much more digestible for me
this video is a great help. Are you thinking of making a video for LCD display with ESP32? That would be awesome
Brilliant as usual!
A video like this for the pi pico would be awesome! The example projects for tcp are very hard to understand.
I would love to see this in Rust. I've never used Rust but I've watched your latest two Rust videos and am strongly considering learning it. You got a sub from me!
Unfortunately rust doesnt natively support esp32. But there is a rust compiler fork but i dont thinks its a good idea to use something experimental unless that is what you want. I have been looking into this. Stm32 is well supported with Rust. So that's what i am looking at.
First to watch and comment 👌 this is very informative thank you, so from now on I'll prefer using the C way instead of arduino,
Thanks for watching!
You welcome, i have a question:
I was using est32 bavk in 2018 and if I still remember there was Bug that prevented me to commercially use it, the bug was about the esp32 that halt after some time of using and there was no way to reboot it even with the internal watchdog, i had to counter it with external capacitor that trigger the reset pin after a while but that as silly, in that time i was using an arduino bootloader with other libs like mqtt,
In C haven't you got any type of that bug?, is it even stable in the long terme use ?
Interesting.... that bug sounds like either two things were happening.
1.) Your code had a bug that was causing the board to reset. Could have been some long-time-use integer overflow or maybe you didn't manage memory correctly and exhausted all the memory. Or
2.) Maybe there is a hardware fault in the ESP32 CPU and over time it just flips over.
No clear answer, but no that doesnt seem very usable in the long run XD
@@LowLevelTV lol definitely, it's a crash actually that the esp couldn't survive and it appears to be kinda random, if i still remember many users in the internet where facing the same thing and hope that is related to the arduino stack itself, other than that this device is wonderful for its price, even if it operates badly on batteries due to the bad handling of low energy consumption...
Enjoyed the video ! Got my subscribe.
Would like to see a Bluetooth video like this one sometime
I'm from 20+ months in the future and your promise to do a video about ESP32 peripherals was a lie. Time travelers are embarrassing, aren't they?
Thank you for the upload!
You bet!
Thank you for making this video, it was so useful - I was struggling with the example until I found this. The next step would be to make the wifi startup code non-blocking and create a task to monitor when the wifi becomes available. I'm going to see if I can work out how to do this, but would love to find a video on it (hint hint) :P Thanks again, off to the races now...
cool tutorial, shown simply and clearly. Thanks a lot
Such a good video
I'm wondering if it is possible to create a tcp_ ip server instead of connect to it? (Wifi station mode + TCP server)
First I thought, that you want to build some rover 😎😅
Hey i have a question, why do you use a event group for just one bit? Isnt it beter and less complex to use something else? I am just new and trying to learn so thats why i ask the question.
Your channel is excellent. Which ESP32 board are you using as I will order one? As there are so many types available will your code work on them all?
Thanks for watching! I use the ESP32-DevKitC. That's a great question, I'm actually not sure about the compatibility. I would imagine that as long as my code adheres to the ESP API and doesn't directly control individual pins, the code should be compatible. I'll have to test, though.
nice video, it was very useful
can you explain how to control GPIO using register addresses
I have try to look in the datasheet but I can't understand anything
Very nice video, THX.
Thank you Great vid! Can you explain the cmake and configuration files in esp-idf GitHub examples? plz
They python at the end is it in the raspberry pie or esp32????
I would love to see BLE and WiFi combination
Awesome video! thankyou
My pleasure!
I find it difficult reading the server address as hex. I would prefer, if the s_addr was converted using inet_pton(AF_INET, ip_address, &addr.sin_addr);
can you make bare metal programming or some videos on beagle bone black linux drivers please thank you
ESP32 can do not only wifi and Bluetooth, but also LoRa
Oooo good to know, wasn''t aware of the LoRaWAN
@@LowLevelTV my friend is using and ESP and LoRa to connect some barn with sheep down to town 😂
when will you release new video about esp32 bro?
super
S-Tier tutorial
Good videos, I recently had to switch to the esp32, and now im having a heck of a time converting my arduino wifi AP and http code into c, not fun.
So after some thinking, i must say I am a little underwhelmed by this approach. While it's more intricated and tedious over the "Arduino" approach, it doesn't really seem to show any benefit, like access to the low level registers of the radio. I have heard that using the wifi functionality uses the second core of the ESP 32 that is hence not available in Arduino, but could we use it in this context?
I'm gonna be totally transparent with you, I actually haven't explored the Arduino option at all. I just like shitting on Arduino XD
Me personally, I'd rather dive deep on the API's that the Espressif developers came up with to learn their base abstractions, and THEN learn how Arduino wraps it. As opposed to the other way around. I'm pretty sure you can use Wifi on Arduino ESP32 though?
@@LowLevelTV yeah the setup is easier of course but that wasn't really my point; even with the IDF we don't really "see" the radio device and how it works 😭
Oh I understand.... hm. I wonder how much deeper I could go into the radio interface. Food for thought 🧐
@@LowLevelTV In particular - can we use the second core (available through freertos calls) while wifi - or in general the radio - is being used? What limitations would there be (besides a lot of the ADCs not be available) etc. Can the radio be hacked to provide SDR, as in software defined radio, to receive arbitrary spectrum? Etc. Take it easy, keep up the fantastic job
does it work with nodemcu ??
connect to or build http small server - sockets just handle protocol
Fantastic tutorial! I finished up an arduino project recently for an adafruit ESP32, but wanted to try it closer to bare metal. Are there any other cool features of the ESP32 you could demo, like DMA or debugging FreeRTOS?
I will be going deeper into a bunch of these features :)
@@LowLevelTV Cool, thanks! Looking forward to it.
Also happen to know how to use an ESP32 via SPI for slave communication?
Thanks
Sweet. C! C! C! not c++, not Arduino. It is C. The awesomesauce!
I tryng to write code for esp32 in rust, for me rust is a new language and this way for me is the best to learn new lany. I have. Aproblem to set stati ip address for router in accesspoint mode.someone jave advice?
Hi, could you share source code for this? It would be useful to see the includes at the beginning.
💜💚💙❤️🖤
I'm a big fan of your videos, they've helped me design a course focused in Hardware and Microcontrollers. Just a quick question. Which Linux distro do you use for your projects? From the looks of it I think you have Debian or Ubuntu
Thanks for watching! I use Ubuntu 20.04 LTS with i3 window manager and a bunch of custom foo (feh, compton)
If you are an embedded C engineer please reach our to us! Our project needs additional firmware engineers!
pretty sure you do with ButtCoin.
Interesting but way way too many adverts (every two mins plus pop overs) - TV does not have an ad blocker - TH-cam must have it in for me today,
Lost track in the end...
Interesting, I definitely don’t have them in there that often. I’m sorry to hear that.
@@LowLevelTV it's very very odd - TH-cam advert quantity differ by time of day / night it seems in the U.K. since the last Amazon Fire stick app update! I'll try it again at some point in the day as I was enjoying it 👍 I'm wondering if TH-cam are pushing Amazon users to the pad subscriber level deliberately but £17 per month is way way too much!
As for finding use for this - I won a single board computer without wifi from Electromaker so this gives me a way of linking it to the network - just need to build in a little web server but my C skills are zero so it should not be too hard 🤔 😲 😱 ❗️Going to be a fun year ahead I think...
Take care and thanks for getting back to me.
10:15
we successfuly falid 👍
you twetter handle doesn't exist.
fixed tyty
@@LowLevelTV started binging your channel. thanks for making videos. they are helpful.
I love examples from internet. They are never working :))