#149

  Рет қаралды 147,202

Andreas Spiess

Andreas Spiess

7 жыл бұрын

In this video, we look into the deep-sleep functionality if the ESP32, and we are interested if and how the deep sleep works, especially because the ESP32 has a so-called ultra-low power coprocessor. This fact promises new possibilities.
- We will deep-sleep the ESP32 to save lots of power for our battery-operated devices
- We will use three out of four sources for wake-up:
o The timer
o Two possibilities of external wake-ups
o Touch pads
- We have a look at the available (and sometimes strangely named) ESP-32 pins of the WROOM-32 module
- We use RTC memory which survives deep-sleep
- And we calculate, how long the ESP32 can deep-sleep compared to the ESP8266
Links:
Sketches: github.com/SensorsIot/ESP32-D...
Excel sheet: github.com/SensorsIot/ESP32-D...
Instructables: www.instructables.com/id/ESP3...
ESP32 Deep-Sleep Details:
esp-idf.readthedocs.io/en/late...
media.readthedocs.org/pdf/esp...
github.com/espressif/esp-idf/...
Other ESP32 boards (from video #143):
TTGO ESP32 Module www.aliexpress.com/item/TTGO-...
ESP32 (NodeMCU type) Board bit.ly/2sOMR3E
ESP32 Development Board (Yellow Pins) www.aliexpress.com/item/ESP32...
ESP32 X-Shield www.aliexpress.com/item/Lolin...
ESP32 Lolin Board with LiPo www.aliexpress.com/item/WEMOS...
ESP32 OLED Board bit.ly/2tosirM
ESP32 Board with 18650 www.aliexpress.com/item/WEMOS...
D1 mini ESP32 board www.aliexpress.com/item/MH-ET...
WeMos Arduino like ESP32 Board bit.ly/2tUZVnC
Cheapest ESP32 board (source not tested by me): www.aliexpress.com/item/Lolin...
WEMOS Official Store: s.click.aliexpress.com/e/jUzBiIq
Supporting Material and Blog Page: www.sensorsiot.org
Github: www.github.com/sensorsiot
If you want to support the channel and buy from Banggood use this link to start your shopping: bit.ly/2jAQEf4 (no additional charges for you)
Official Wemos Store: s.click.aliexpress.com/e/jUzBiIq
/ sensorsiot
/ spiessa
www.instructables.com/member/...

Пікірлер: 347
@CrazyA9999
@CrazyA9999 7 жыл бұрын
And again, a lot of information in a very well structured video. Brilliant! Thank you very much for all the time and effort you put in the videos.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@thijsdebont
@thijsdebont 7 жыл бұрын
Thanks again for a great video! I really enjoy the ones focussing on the ESP's (8266 and 32) and they're a great help. Keep 'em coming!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@asiw
@asiw 7 жыл бұрын
Thank you. Looking forward to getting my ESP32 and I'm sure your spreadsheet will really help and save me a lot of time. Best wishes, Arthur
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome! I think, it is really a step-up compared to the ESP8266, at small additional cost.
@tonyolivieri3497
@tonyolivieri3497 7 жыл бұрын
Andreas, I've viewed most of your videos and have not found one yet that I did not like or did not finish. Thank you for the spreadsheet. I use the ESP devices in a manufacturing environment and like you, research their capabilities. The information you provide has helped me many times. Thanks.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thank you for your nice words and your support!
@mksmurff
@mksmurff 5 жыл бұрын
This has been the best video on ESP32 and deep sleep I have found. Thank you Andreas
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You are welcome!
@AA3WK
@AA3WK 7 жыл бұрын
Great jobs as always. Thank you so much for your efforts. YOU ARE THE MAN!!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thanks!
@Perspectologist
@Perspectologist 7 жыл бұрын
As always, that was a great tutorial. Thanks for taking the time to make such great videos.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome! It is my pleasure.
@tomg8817
@tomg8817 6 жыл бұрын
Thank you for the great videos on the ESP32! Please keep them coming.
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
:-)
@alanmcoll101
@alanmcoll101 7 жыл бұрын
The master tutor does it again. Thanks Andreas.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thank you for your nice words!
@MaxintRD
@MaxintRD 7 жыл бұрын
Good morning Andreas! Woke up early to see your latest video. Thanks and have a nice day!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
It is more "good night"... Just finished the video at 4 am
@MaxintRD
@MaxintRD 7 жыл бұрын
Andreas Spiess - here it's not even 4am ;-) Sleep well then... P.S. Touch button wake-up looks quite useful. Going to sleep now...
@six4two1
@six4two1 7 жыл бұрын
You have become one of my mentors though your videos. The ESP32 ULP processer may hold more capabilities than we think. I've been researching what little information I can find on it which seems to only have an assembler available. Hopefully more information will surface as the community gets a chance to work with it. I'm certain you will discover many of its secrets.Looking forward to more of your videos. Thank you!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I think, the assembler is the "state of the art". I hope, we will get some "snipplets" to start with or to solve typical problems like trigger on a particular analog value, or saving a few values in RTC ram between wake-ups. Already the possibilities used in this video provide some interesting possibilities.
@lemonman1
@lemonman1 7 жыл бұрын
"is... like that."
@deangreenhough3479
@deangreenhough3479 7 жыл бұрын
Good afternoon Andreas. I'm away for the weekend, hence the late good morning. Your work always makes me happy. As other have stated your our hero and we thank you from the bottom of our hearts
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I hope, you enjoyed your WE. I was also late this morning. Had to get some sleep after working long last night...
@deangreenhough3479
@deangreenhough3479 7 жыл бұрын
Andreas Spiess So I see from the comments. I hope we are not pushing our mentor too hard? I'm very excited with your work on the esp32. Be sure to give yourself a pat on the back and maybe you need a little break. It was indeed a good weekend and I am now back at my lab and getting my esp out👍👍
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
No worries. I am old enough to know, that the most valuable word is "NO". ...And the most expensive one is "AND". And if you forget to say NO, often the result is AND. Everything here happens without the word "must" ;-)
@deangreenhough3479
@deangreenhough3479 7 жыл бұрын
Quality reply, I laughed a lot at that
@Hessijames79
@Hessijames79 7 жыл бұрын
Großartiger Inhalt, tolle, durchdachte Präsentation.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Danke!
@pliniobass
@pliniobass 6 жыл бұрын
Thank you master! You are very generous sharing your amazing knowhow with us.
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
You are welcome!
@Brutaltronics
@Brutaltronics 7 жыл бұрын
Looking forward to the current measurements in the next video! Hopefully it will run for years and years to come
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Depends on the battery size ;-)
@Q24H
@Q24H 7 жыл бұрын
Excellent work sir, thank you for your research! I have one of those ESP32 with the 18650 holder, last night I started testing a modified sketch, have it waking up every 30 minutes and blink a LED couple of times, started at ~4.15v and 12 hours later my battery is still at 4.05v. A day ago I was only able to get ~24 hours of total "blinky" on a single 18650, but with deep sleep this should last for days/weeks. Looking forward to see your current measurements!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
These boards usually are not ideal for deep sleep because they have many parts which are not absolutely necessary and which use some current. But weeks should be ok.
@maao86
@maao86 7 жыл бұрын
Very informative. Thank you for making these videos. Greatly appreciated :)
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thanks!
@richard_wenner
@richard_wenner 7 жыл бұрын
You are going to need a spreadsheet to cross reference the videos soon. Nice job again!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thanks! For the moment, I try with playlists. And I think, KZfaq Search also can help because I try to include good search terms.
@richard_wenner
@richard_wenner 7 жыл бұрын
Yes, effective cross-referencing can become quite difficult - in my case I can't remember what I did last week. My comment was inspired by your use of spreadsheets in this video. Hope you remain well. R
@distancelab2010
@distancelab2010 7 жыл бұрын
Thank you so much. I have a esp32 on the way to me, and this information is very interesting.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
So, you can try it right away when it arrives!
@hydroUNI
@hydroUNI 7 жыл бұрын
0:22 yes, we are very interested! :D Thanks for posting this, Andreas!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@jeremiecuadrado5607
@jeremiecuadrado5607 7 жыл бұрын
Franchement, toujours aussi passionnant. J'apprend beaucoup grâce à toi. Merci pour tout ce temps passé. Cheers.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Pas de quoi
@electronichaircut8801
@electronichaircut8801 3 жыл бұрын
Bonjour
@waltsteinchen
@waltsteinchen 7 жыл бұрын
Clicked to fast: @Andreas, how can you know that I'm working on a project where I basically need all of the IO pins and I was looking for what you did in the Excel Sheet!!! .. Unbelievable ;-) Many Thanks for your phanstatic work all over the place!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
At the beginning, I was confused with the many possibilities of the chip. Then, I discovered a similar sheet in the data sheet of the ESP chip itself and translated it to the pins of the WROOM---
@alanlovett3412
@alanlovett3412 7 жыл бұрын
Very informative and a great spreadsheet.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
:-)
@MPElectronique
@MPElectronique 6 жыл бұрын
Andreas, i have got the rev.1 and the deep sleep works perfect!!! Thank you...
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
+Marc Paradis :-)
@wojomojo
@wojomojo 5 жыл бұрын
Just found your channel. Excellent stuff, thanks and subscribed!
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
Welcome aboard the channel!
@colinpamplin9976
@colinpamplin9976 7 жыл бұрын
Another excellent and very interesting video. By strange coincidence I was testing deep sleep mode yesterday on a NodeMCU ESP-32S board and the best I could get was 2.3mA because of the regulator etc. (battery was connected to 3.3v pin so bypassing the regulator to a certain extent)
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
This is not surprising. The same as with the ESP8266 boards...
@HansVledder
@HansVledder 7 жыл бұрын
Thanks for the insights Andreas!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@MPElectronique
@MPElectronique 7 жыл бұрын
Andreas i finally understood why even my esp32 was draining my battery... i powered the module with the vin pin without entering into the micro usb connector. Thank you. Marc.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
:-)
@nomadic_rider42
@nomadic_rider42 7 жыл бұрын
it's nicely done. in the next video please also compare Current consumption of different ESP32 boards and bare WROOM board.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I probably will not do that extensively, because deep-sleep together with development boards, in my opinion, is not a good idea. Too many parts which just consume current and are not useful during operation...
@SamuelCarreira
@SamuelCarreira 7 жыл бұрын
Very interesting video as always. Please on the next video measure the current when the ESP leave sleep mode and connects to internet (like ping to custom website). I think that will be the main use of this uC and it will serve as reference for some people that want to use this device to send periodic data to a server and have to power the uC with batteries.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
We will see. I think, I will not be able to use the ULP for quite some time, because it has to be programmed in assembler... I did not do this for years.
@Ed19601
@Ed19601 7 жыл бұрын
Assembler... now there is a name from the past. Must have been early 90s i did that last. Now i cant even understand my own programs from those days anymore
@cruepprich
@cruepprich 6 жыл бұрын
Excellent video! Thanks Andreas!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
You are welcome!
@Kevin192291
@Kevin192291 4 жыл бұрын
Your Videos are Gold
@AndreasSpiess
@AndreasSpiess 4 жыл бұрын
Thank you!
@dinakrishnamoharana6494
@dinakrishnamoharana6494 5 жыл бұрын
Thanks Andreas, your videos are more informative ,
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You are welcome!
@MushFarmer
@MushFarmer 7 жыл бұрын
these videos are gold
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thank you!
@shubhamadtp
@shubhamadtp 7 жыл бұрын
Waiting for ulp Great video as always
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I am not sure how long you have to wait because for the moment, we would have to leave the Arduino IDE. And for the moment, this channel is not ready for that...
@timobilalis1129
@timobilalis1129 7 жыл бұрын
Bravo Andreas, much more fun and educational in such hot Greek summer. Your ESP32 pinout spreadsheet and deep sleep tips will be of tremendous help after my ouzo session... keep up your excellent work. BTW have you done any work on multicore esp32 programming?
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
1. Please drink an ouzo for me and enjoy life! 2. No, I did not do any multi-core work. But I only started...
@andrewrowbottom7251
@andrewrowbottom7251 7 жыл бұрын
eagerly awaiting the results! I have 2 boards and both were disappointing.. After I hacked the cheapest one to remove the UART and LM1117 connection to the 3v3 line I got good results ~20 microAmps
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Usually I use bare boards for deep sleep experiments.
@jwracingteam
@jwracingteam 2 жыл бұрын
I got caught out with GPIO and RTC_GPIO confusion, thanks for explaining boss
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
:-)
@deangreenhough3479
@deangreenhough3479 7 жыл бұрын
My ESP32 is up and running Thank you.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
🙂
@onurson4000
@onurson4000 7 жыл бұрын
great video as usual, vielen dank.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Bitte, gern geschehen!
@jix177
@jix177 7 жыл бұрын
Great video, you're saving us from having to read through all the documentation, thanks!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome! You are probably right ;-)
@PhG1961
@PhG1961 7 жыл бұрын
Interesting to know that it can go into deep sleep for several years and that it hardly consumes any power. Great video !
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thanks!
@roygilby4513
@roygilby4513 7 жыл бұрын
Once again, a very good and instructional video. Looking forward to your next episode. Now, go and get some sleep. :-)
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Back again after breakfast...
@dachoeks3
@dachoeks3 7 жыл бұрын
Great video again. I have used sprakfun ESP32 Thing and like you said, in one the previous videos, compiling time is much faster. Pricing is coming down as well so I think now is a good time to start working on esp32.
@aspuzling
@aspuzling 7 жыл бұрын
dachoeks3 Which board is faster to flash? The Sparkfun Thing or another? Which other board are you comparing the Sparkfun to?
@dachoeks3
@dachoeks3 7 жыл бұрын
Compiling for ESP32 Thing is much faster compared to regular esp8266.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
That is also my impression. This is why I started the coverage now.
@fuzzie4755
@fuzzie4755 7 жыл бұрын
Hi Andreas, great again. The 150mA current seems to limit the usage on Battery mode a bit. Also using pull-up resistors must be handled with care because a 100kOhm resistor on 3.3V also draw a current of 33mA. Again I was laughing because I missed the info of the max sleep time of the esp8266 and was wondering about some strange wake-up times. Thanks again.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I think, you mixed milli with micro (or I made an error in the video). Then, everything is a factor of thousand smaller...
@venkateshe7506
@venkateshe7506 7 жыл бұрын
Very very nice. Thank you.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@AdminTuber
@AdminTuber 5 жыл бұрын
Thank you ! very interesting
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
Thank you!
@paulkirchhof9546
@paulkirchhof9546 3 жыл бұрын
Very interesting, but wake up from internal RTC is a very good feature I miss in your video.
@AndreasSpiess
@AndreasSpiess 3 жыл бұрын
Thank you. Saying "no" is the most important thing for interesting KZfaq videos. Otherwise they get too long.
@eddyfontaineyoutu100
@eddyfontaineyoutu100 7 жыл бұрын
Thank you Andreas !
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You are welcome!
@AbiChess.tricks
@AbiChess.tricks 7 жыл бұрын
Well explanatory
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Thanks!
@sanjaybhatikar
@sanjaybhatikar Жыл бұрын
Great, thank you 👍
@AndreasSpiess
@AndreasSpiess Жыл бұрын
You are welcome!
@Passco666
@Passco666 4 жыл бұрын
Andreas thank you for video
@AndreasSpiess
@AndreasSpiess 4 жыл бұрын
You are welcome!
@avejst
@avejst 7 жыл бұрын
Thanks for sharing.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
:-)
@ricardomariz2941
@ricardomariz2941 6 жыл бұрын
Very very good!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Thanks!
@johnhoubolt7672
@johnhoubolt7672 6 жыл бұрын
Great video of a professional work, well done! Can you give us a hint which ESP32 dev-board is best for deep sleep (ultra low energy consumption near to ESP32 datasheet)?
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
No, not yet. A video should come...
@JerryEricsson
@JerryEricsson 7 жыл бұрын
Watching this video made me want to dig out my ESP32 once more and see if I could make it do something. For about an hour, I messed with things trying to get the computer to recognize the blasted thing, and in the end I tossed it in the pile of junk I keep for parts to repair other items. I dug through my drawer and found one of the other ones I ordered at the the same time, (usually buy things in groups of 3) and behold, I have connection to the computer. Now I have spent the last two hours just running example sketches on the device, and giggling like a child when it actually does something. Now if I can figure out how to use the bluetooth to do something and how to use the wifi better then just making an led blink. Should not be hard to do, just have to adjust my mind from using the 8266.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Wi-Fi should be no problem. Bluetooth seems to be harder with the Arduino IDE...
@Ed19601
@Ed19601 7 жыл бұрын
thats good to know. Was considering a switch from 8266 to 32 especially for bluetooth. Maybe i should wait
@MPElectronique
@MPElectronique 6 жыл бұрын
Hi Andrea! I removed the led, the current in deep sleep drops from 16 mA to 4 mA. Do you think it would be better with the LM1117 instead of the AMS1117 on the board? Tell me what do you think? Your opinion is very valuable to my eyes. Thanks a lot! :) Marc.
@ursmii_
@ursmii_ 7 жыл бұрын
I tried to measure real current usage, but unfortunately my board (AnalogLamb) and others hve as usual a "power led" on it. So I could not realy measure ESP's sleep current without removing it. The board uses 15.7mA with a short peak at wakeup (timer sketch) up to 58mA driven by 3V3 bypassing the LDO. Waiting for your measurements with the bare board :)
@JerryEricsson
@JerryEricsson 7 жыл бұрын
Oh on a different note, the Rally in Sturgis is warming up, thousands of Harley's are pouring in from all directions. We live 175 miles due North of Sturgis and see a lot of bike traffic through our small town.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Great for you. I will go to a smaller event in Austria in September... But one day, I will make it to Sturgis.😀
@filzli
@filzli 7 жыл бұрын
Awesome!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
:-)
@widget623
@widget623 6 жыл бұрын
I'm not sure when it changed but under the newest esp32 code you have to declare "esp_deep_sleep.h" for the sketch to work. add "#include " at the begining of the sketch and all will be ok.
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Thanks for the tip!
@MPElectronique
@MPElectronique 6 жыл бұрын
still the error: 'esp_deep_sleep_get_ext1_wakeup_status' was not declared in this scope :-( thanks
@MPElectronique
@MPElectronique 6 жыл бұрын
I found the solution: esp_sleep_get_ext1_wakeup_status() :-)
@MPElectronique
@MPElectronique 6 жыл бұрын
I found the solution here actually: www.lucadentella.it/en/2018/01/22/esp32-29-deep-sleep/
@Jhinsydney
@Jhinsydney 7 жыл бұрын
Brilliant
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
:-)
@norberthartmann5075
@norberthartmann5075 7 жыл бұрын
top! bin auf die fortsetztung gespannt ... ggf gibt es ja ein wenig zum thema WPS. einen schönen sonntag
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Ich hab noch nie mit WPS gearbeitet. Mal sehen...
@norberthartmann5075
@norberthartmann5075 7 жыл бұрын
:-) wäre super !
@josecampino7476
@josecampino7476 7 жыл бұрын
Grüezi Andreas ! Sorry to bother you, but the thing is locked again ... (Another) Great video !
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Should be unlocked now...
@user-rt5mm3ee4k
@user-rt5mm3ee4k 5 жыл бұрын
Спасибо! Дякую!
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
будь ласка
@devonspurway7380
@devonspurway7380 6 жыл бұрын
Hi this is a great tutorial is there any documentation on how to get the bitmask for different pins
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
I do not know.
@electrobob
@electrobob 7 жыл бұрын
Getting that ULP core to work with 1% DC and burn 25uA would be absolutely great. Might be able to get real world sensors on batteries for more than a year.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Many new possibilities with this chip to explore...
@markostojanovic6935
@markostojanovic6935 5 жыл бұрын
I know this video is 2 years old, but after all this time, very few people actually used any deep sleep timer example longer than a few minutes. The problem is that with default code, changing the time to longer than 2 hours, it breaks the code, and overflows the variable. In deep sleep example: #define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */ #define TIME_TO_SLEEP 3600 /* Time ESP32 will go to sleep (in seconds) */ Both values are saved as 32bit integer, yet esp_sleep_enable_timer_wakeup(uint64_t time_in_us) expects the 64bit value. So, you have a 70ish minutes limit before overflowing. There are 2 solutions, add ULL suffix to uS_TO_S_FACTOR value: #define uS_TO_S_FACTOR 1000000ULL /* Conversion factor for micro seconds to seconds */ OR Define all variables as uint64_t const uint64_t OneMinute = 60000000LL; // 6000000 uS = 1 minute const uint64_t MinutesInAnHour = 60LL; // 60 min = 1 hour const uint64_t SleepTimeMicroseconds = OneMinute * MinutesInAnHour * 2LL; esp_sleep_enable_timer_wakeup(SleepTimeMicroseconds); esp_deep_sleep_start(); Sources: github.com/espressif/arduino-esp32/issues/572 www.reddit.com/r/esp32/comments/95zuht/esp32_fails_to_deep_sleep_over_1_hour/ docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/sleep_modes.html
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You are right. Maybe somebody reports it as an error in the ESP32 Github?
@pranaystarkjr
@pranaystarkjr 7 жыл бұрын
That's cool! So I can control multiple buttons buy using IFTTT
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Yes!
@spreeuferberlin
@spreeuferberlin 6 жыл бұрын
great!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Thank you!
@eriklaken1025
@eriklaken1025 6 жыл бұрын
For that look at Birds work, have a Nice Day.:)
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
:-))
@feliceferri
@feliceferri 6 жыл бұрын
Hi, thank you for these videos! they are amazing! I'm facing a challenge with the ESP32 Dev Module, if I don't have the sensors connected to it, I can flash it from Arduino just fine, then I connect the sensors and everything is ok. But If I already soldered the ESP32 Dev Board to the sensor I cannot flash it anymore from Arduino. Is there any way around this behavior? How do people do upgrades after they have soldered their ESP32 to their pcbs? thanks!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
You can do OTA downloads.
@Hamal86
@Hamal86 6 жыл бұрын
Hi Andreas, First of all great video. Been following your content for a couple of months now and it is very helpful. I tried to compile the example, however I get "not declared in this scope error for" esp_deep_sleep_wakeup_cause_t. Is there a lib I need to include or something. I am a huge nood, so question might be very basic, however I already spent several hours googling around with no success so I thought asking might help. Thanks and keep up the nice vdeos
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
I think this command was changed in one of the newer releases. Maybe you look at the deep-sleep example of the IDE. There you should find how it works now if I remember right.
@Hamal86
@Hamal86 6 жыл бұрын
Thank you for the feedback. I will look at the examples, hopefully I find out how it works.
@woodd1000
@woodd1000 4 жыл бұрын
This is a particularly useful video tutorial Thank you very much. But were do we find the API definitions for these type of functions? (new guy here) No header files, no library info... Where do I go - I see we can create object Serial call begin, on the 8266 wakeup there is an ESP object that we can call deep sleep on - where are the headers or library definitions for these objects?
@woodd1000
@woodd1000 4 жыл бұрын
There we are - arduino-esp8266.readthedocs.io
@GabrielSallum
@GabrielSallum 7 жыл бұрын
Hey, can't find the xls sheet. Actually am evaluating the esp32 for an industrial/iot application, that info seems pretty neat.
@RomanPittroff
@RomanPittroff 7 жыл бұрын
Go to the GitHub link under Sketches:
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I added a direct link to the comments
@windowofwords
@windowofwords Жыл бұрын
I am using esp32 with three pzem004t sensors but when I am writing Serial3 at that time it showsSerial3 is not declared in your scope but I have defined it already so how to solve this problem?
@AndreasSpiess
@AndreasSpiess Жыл бұрын
If I remember right, I made a video about Serial on the ESP32. You have to pay attention if you want to use many Serial connections. Also check the video about the "safe" ESP32 pins. Some pins are forbidden.
@warperone
@warperone 6 жыл бұрын
great excel. But a simple question(s). Which pins support OneWire and which pins support Interrupts for Wemos LOLIN32 ? I can't seem to find any info online.
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Here is the Onewire library for the ESP32: github.com/stickbreaker/OneWire And here the info concerning interrupts: techtutorialsx.com/2017/09/30/esp32-arduino-external-interrupts. Both one google search ;-)
@babakhallajian684
@babakhallajian684 7 жыл бұрын
Hi Andreas would you please guide us about overclocking over esp32 and esp8266 specially in 160Mhz Thanks
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
AFAIK the ESP boards run already at 240MHz
@minepro1206
@minepro1206 4 жыл бұрын
What does RTC stand for? P.S.: Sweet video as always
@AndreasSpiess
@AndreasSpiess 4 жыл бұрын
Real time clock
@minepro1206
@minepro1206 4 жыл бұрын
@@AndreasSpiess Thanks!
@ernestorivero9909
@ernestorivero9909 Жыл бұрын
Hello I have a program that turns on and off a led by bluetooth and the delay is by bluetooth too but when I send the signal so that the led begins to blink and send the signal to give the delay, I want to disable the common radio block for bluetooth and wifi so that the battery lasts longer, nothing more than that block so that the led keeps flashing, what command would use and where in the program would put it
@AndreasSpiess
@AndreasSpiess Жыл бұрын
I do not know because your setup seems to be quite complex.
@ernestorivero9909
@ernestorivero9909 Жыл бұрын
Hello I made the program to turn on and off an LED by Bluetooth in this case I use the same LED that has the ESP32 in pin2, I added a stretch of code for the ESP32 to enter a state of deep sleep. Well, when I send the 'A' the LED will turn on and off and when I send the 'B' it goes into deep sleep, however, I still consume the same as I could send the program to see where the error is.
@AndreasSpiess
@AndreasSpiess Жыл бұрын
Unfortunately, I cannot do remote debugging. First, check if your MCU stays in deep sleep for a time. Then you have to check what development board you use. Because many boards consume a lot of energy even if the ESP32 is in deep sleep (I made some videos about it).
@wilianpasternak2010
@wilianpasternak2010 4 жыл бұрын
Congrats for tutorial. Do you know how much is current on deep sleep? Sorry my English.
@AndreasSpiess
@AndreasSpiess 4 жыл бұрын
It depends which board you use. The ESP32 alone needs a few microAmpere in deep sleep.
@BitesandGo
@BitesandGo Жыл бұрын
Hi I connected an external RTC (That is very low power) to the esp32. I wanna keep the external RTC runnning while ESP is on deep sleep (To save power). Can the RTC via I2C still run while the ESP is on sleep mode? How could I do that? Thank you!!
@AndreasSpiess
@AndreasSpiess Жыл бұрын
You need to use interrupt pins to wake the ESP. Or you can try to use the ULP (not easy). Google should be able to help you
@aspuzling
@aspuzling 7 жыл бұрын
Great video. I'm very interested in seeing what kind of power usage you see in deep sleep on your Lolin32 board. On my Sparkfun ESP32 Thing, I could only get around 950uA (after disabling the power led); apparently the SPI Flash chip consumes around 860uA unless you add a pull up resistor to it. I would love to see what figures you get on your board.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
These boards are never good for deep-sleep because they have many other components like USB to Serial chips and some sort of pull-up or - down resistors and transistors. They are not optimized for that. I will use a "bare" WROOM-32 module on a simple PCB
@aspuzling
@aspuzling 7 жыл бұрын
Andreas Spiess Then the mystery to me when using a wroom32 without usb-serial how do you flash your program to it? I also understand that without a battery power regulator you are limited to battery sources with a natural ~3.3v supply, correct?
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
You have to add whatever is necessary to a barebode WROOM-32. For a first flashing a USB to serial converter (later, you can use OTA update), and also a LDO for power supply. But you only add what is necessar for the operation, not more and not less. The development boards usually have "more".
@aspuzling
@aspuzling 7 жыл бұрын
Andreas Spiess thanks for the helpful information! I look forward to your next video!
@botletics
@botletics 6 жыл бұрын
Hi there, great video! However, I can't seem to get "esp_deep_sleep_enable_ext1_wakeup(BUTTON_PIN_BITMASK, ESP_EXT1_WAKEUP_ANY_HIGH);" to compile in Arduino IDE. It says "'esp_deep_sleep_enable_ext1_wakeup' was not declared in this scope". The EXT0 line works but EXT1 won't. Any ideas?
@botletics
@botletics 6 жыл бұрын
Ahhh, I found out I had to use "esp_sleep_enable_ext1_wakeup" instead of "esp_deep_sleep_enable_ext1_wakeup". Note the "deep" part is deleted. They must've changed the function names! Even the built-in deep sleep example is wrong then. :)
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Thanks for the info!
@luissantiagoyaurikacyacuri4160
@luissantiagoyaurikacyacuri4160 5 жыл бұрын
Hello! I plan to use this mcu for a project in deep sleep mode, but Im worried if I will be able to use libraries desgined for arduino, is it possible? I want to use max31865,library for sd module and maybe some library to use accelerometers.I wait your answer with hope. Thank you for the information.
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You always have to check if the library also works for the ESPs and sometimes you find one which works.
@das250250
@das250250 7 жыл бұрын
I didn't see a current comparison between the deep sleep modes of 8266 Vs ESP32. Does the 32 use less during deep sleep?
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I will do real measurements in a later video.
@casualrider9435
@casualrider9435 Жыл бұрын
I'm a big fan of our projects. I've been trying to incorporate deep sleep into ESP32 to wake, take sensor readings, send them via a webhook to google sheets, then go to sleep, but can't get the code to work. Are there any books/media you could suggest for me to get study to solve the problem? Thanks.
@AndreasSpiess
@AndreasSpiess Жыл бұрын
I do not know of books. I would first try to understand where in the code the problem occurs and then search for a solution.
@Jones12ax7
@Jones12ax7 7 жыл бұрын
Nice video! Do you know something about light sleep on ESP32? It seems not available yet. I need that because I'm building a smartwatch with a GPS module, and active mode is too hungry. Deep sleep is too inconvenient, because it doesn't seem a good idea to reset the module every second. Light sleep would be a good compromise.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
I never worked with light sleep. Not with the ESP8266 and not with the ESP32. Why do you think, it is not good to reset a board every second. Nothing wears out. It is just code.
@Jones12ax7
@Jones12ax7 7 жыл бұрын
As my application has a user interface and a lot of functionalities, it will take time booting and setting it up, and will take more energy than keeping it active. Maybe if I use RTC mem to keep my variables. Anyway, I dont know if I can wake it up when serial data gets in without loosing data.
@Jones12ax7
@Jones12ax7 6 жыл бұрын
Update: newer versions of the tools now include light-sleep functions. It works just like deep-sleep, but do not boot the chip and have a faster recovery time.
@trp79
@trp79 5 жыл бұрын
Hi, I'm pretty new to micro controllers and electronics, but have been playing a bit around with ESP32 and really enjoys it. Have got great inspiration by all the video posted by Andreas - highly appreciated. I do however not completely understand how the schematics should be for respectively interrupt wake-up with respectively the EXT0 and the EXT1 approach. In my case I would like, if possible, to use a doorbell button (no voltage) to wake it up (then I will use a relay and some arduino logics to trigger the actual doorbell post wake-up). Hope someone can help providing me a bit of input on the schematics for the wake-up part.
@trp79
@trp79 5 жыл бұрын
I better take a look at this lastminuteengineers.com/esp32-deep-sleep-wakeup-sources/ :-)
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You found the right link!
@henridumonttadja8975
@henridumonttadja8975 5 жыл бұрын
your videos are very interresting and I thank you for it. Thank you very much for all. I live in Germany. I would like to deep sleep and wake up my esp 32 through a simple remote control (with a single button) based on Bluetooth. Do you have a video about this?
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
BLE does not work during deep sleep
@henridumonttadja8975
@henridumonttadja8975 5 жыл бұрын
@@AndreasSpiess thank you for your reply. If not another question, how to activate a PIN and disable it by Bluetooth. Because I made a device based on ESP 32 and I would like to put the motion detector (connected to the pin 22) in stop and activate it using a remote control (having a single button) through the Bluetooth.
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
You have to have an external BLE receiver which is capable to listen and switch the pin. Quite complicated, I think.
@joseguilhermeamuchastegui9970
@joseguilhermeamuchastegui9970 5 жыл бұрын
I am developing a vibration sensor where I am using ESP8266. My main problem right now is the power consumption, and for that reason I will have to change the communication to BLE. I need to read vibration data every 15minutes, and the battery life (1000mAh) has to be more than 1 year. From what I read from ESP32 datasheet, power consumption is high and I am not sure if I will be able to achieve my goal. I would like to know your opinion about that, and also if there is another microprocessor that is more suitable for this application.
@AndreasSpiess
@AndreasSpiess 5 жыл бұрын
Maybe you watch my deep sleep videos? If you need less power consumption you probably find chips from Nordic (NRF51/52. But they do not have the same community support as the ESPs.
@botletics
@botletics 6 жыл бұрын
Does the ESP32 completely turn off WiFi when you use "WiFi.mode(WIFI_OFF)"? It doesn't compile with "WiFi.forceSleepBegin()" like the ESP8266. Also, how to turn WiFi back on? I used "WiFi.mode(WIFI_OFF)" and since then my WiFi hasn't been able to connect to a network anymore. Also, you mentioned that RTC memory only survives deep sleep but not hard reset. Is there a way to make it survive reset like it did on ESP8266? Thanks!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
1. I would assume you just use WiFi.begin to start WiFi again. But I did not investigate. 2. RTC does not survive power down. AFAIK it survives a reset.
@botletics
@botletics 6 жыл бұрын
Hmmmm as far as I can tell the "RTC_DATA_ATTR" variables are not surviving hard reset but they are surviving deep sleep wake up.
@ernestorivero9909
@ernestorivero9909 Жыл бұрын
Hola yo tengo un programa que enciende y apaga un led por bluetooth y el delay es por bluetooth tambien pero ya cuando yo mando la señal para que el led empiece a parpadear y mande la señal para darle el delay,yo deseo desahabilitar el bloque de radio comun para el bluetooth y el wifi para que la bateria me dure mas,nada mas que ese bloque para que el led se mantenga parpadeando,que comando usaria y en que lugar del programa lo pondria
@AndreasSpiess
@AndreasSpiess Жыл бұрын
desafortunadamente, no puedo ayudar con tales preguntas. tomaría mucho tiempo
7 жыл бұрын
ESP32 is so superior, I bought one for just 3 dollars... so amazing little thing
@4.0.4
@4.0.4 7 жыл бұрын
Dominik Mičuta $3? I remember when it was much more expensive than an ESP8266, now it's almost on par. That's awesome!
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
That is why I started my videos...
@chimpofm
@chimpofm 4 жыл бұрын
hello its me again, the guy with the welsh accent, another great video, Quick question, what is the best way to wake up and Esp32 from Deep sleep, using an FZR sensor, could i use it as a touch but reverse the threshold?
@AndreasSpiess
@AndreasSpiess 4 жыл бұрын
I do not know FZR sensors. The ESP32 has many wake-up possibilities. Maybe you google to find the right one for you?
@chimpofm
@chimpofm 4 жыл бұрын
@@AndreasSpiess thankyou sir. I resolved this issue. I ment ''fsr'' force sensing resistors. It worked with the ext0. Thankyou for your time.
@MPElectronique
@MPElectronique 7 жыл бұрын
Andreas, i don't quite understand the bitmask, what if i want to wake up the pins 32 & 33 ? thank you. Marc.
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
Each pin has its own "mask". If you want 32/33, you have to set bit 32 and 33 in this mask to high (0x600000000 if I did not a miscalculation).
@MPElectronique
@MPElectronique 7 жыл бұрын
Andreas Spiess thank you Andreas. YOU are my hero :)
@MPElectronique
@MPElectronique 7 жыл бұрын
Andreas Spiess the bits 0000 0000 (what are gpio from bit 7 to 0) please ?? :) thank you. Marc.
@omaryanas435949
@omaryanas435949 7 жыл бұрын
Great video, and am really looking forward for the next one, I have a question, is there any way ,what so ever, to connect two serial devices (for example, a nextion and an A6) to ESP32? any suggestions?
@jasonmhite
@jasonmhite 7 жыл бұрын
Anas Omary Yes, it has three hardware serial ports and they can be routed to almost any of the pins. You have to look at the docs to see how to use them.
@omaryanas435949
@omaryanas435949 7 жыл бұрын
nobodybodybody I made a lot of research and the conclusion was that there is one hardware serial(Tx0 and Rx0) , and an additional RX1 only pin. Do u have any link on this subject to get me going in the right direction?
@AndreasSpiess
@AndreasSpiess 7 жыл бұрын
The WifiTelnetToSerial example shows how you can do it (HardwareSerial Serial1(2); // UART1/Serial1 pins 16,17)
@jasonmhite
@jasonmhite 7 жыл бұрын
Anas Omary I believe you are confusing it with the ESP8266, which has one available hardware serial port + one TX only port (you can still use software serial however to get more). The ESP32 has three. The Arduino port has weak documentation at the moment, the link Andreas gave is the best starting point.
@omaryanas435949
@omaryanas435949 7 жыл бұрын
Thanks alot for the info, I will definitely check that out as I need it for an upcoming project. Cheers!
@claytonsulivan
@claytonsulivan 6 жыл бұрын
How to make Socket Server communication between two ESP32?
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
I do not know, I am not very good at network protocols.
@Magic-Smoke
@Magic-Smoke 6 жыл бұрын
Since we're due for a video on power consumption, I thought I'd add this comment. Of course the amount of power used during sleep is important but so, also is the power used during the 'awake' period. I was doing some research on multi-tasking with FreeRTOS and found a tutorial which compared using FreeRTOS commands vs Arduino IDE commands (both written within the Arduino IDE) and the conclusion was this: Conclusion: the Arduino program is about 65% slower than the lower level FreeRTOS program. So, for the awake part of the program further power savings might be made by using more efficient commands. (Citation: blob.tomerweller.com/esp32-first-steps) See Ring Oscillator section. HTH!
@AndreasSpiess
@AndreasSpiess 6 жыл бұрын
Thank you for the information. For connected devices, connecting to Wi-Fi takes the longest time. And for that, I do not know if there is a big time difference. So, if anybody has information about the differences there would also be interesting.
@Magic-Smoke
@Magic-Smoke 6 жыл бұрын
Andreas Spiess maybe I will take a look! I will have some time to experiment in the coming weeks
#328 ESP32 Secrets: Interrupts, and Deep-Sleep under the Hood
18:57
Andreas Spiess
Рет қаралды 174 М.
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 34 МЛН
Heartwarming Unity at School Event #shorts
00:19
Fabiosa Stories
Рет қаралды 23 МЛН
Эффект Карбонаро и нестандартная коробка
01:00
История одного вокалиста
Рет қаралды 10 МЛН
Inside Out 2: Who is the strongest? Joy vs Envy vs Anger #shorts #animation
00:22
#363 Which ESP32 pins are safe to use?
11:53
Andreas Spiess
Рет қаралды 128 М.
ESP8266 as Window Sensor with years of battery life
17:57
MakerMeik
Рет қаралды 177 М.
The ESP32 Wake-Up Call: Exploring External Triggers in Deep Sleep Mode (ext1)
26:32
Programming Electronics Academy
Рет қаралды 7 М.
Beyond the Zzz's: ESP32's External Wake-Up in Deep Sleep Explored
14:05
Programming Electronics Academy
Рет қаралды 7 М.
#332 ESP32  OTA tutorial with tricks (incl. OTA debugging)
10:17
Andreas Spiess
Рет қаралды 133 М.
Best power saving mode - Much Deeper Deep Sleep ESP8266
10:30
DIY TECH BROS
Рет қаралды 96 М.
Какой ноутбук взять для учёбы? #msi #rtx4090 #laptop #юмор #игровой #apple #shorts
0:18
Хакер взломал компьютер с USB кабеля. Кевин Митник.
0:58
Последний Оплот Безопасности
Рет қаралды 1,6 МЛН