#149

Поділитися
Вставка
  • Опубліковано 21 сер 2024
  • 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/Sen...
    Excel sheet: github.com/Sen...
    Instructables: www.instructab...
    ESP32 Deep-Sleep Details:
    esp-idf.readthe...
    media.readthed...
    github.com/esp...
    Other ESP32 boards (from video #143):
    TTGO ESP32 Module www.aliexpress...
    ESP32 (NodeMCU type) Board bit.ly/2sOMR3E
    ESP32 Development Board (Yellow Pins) www.aliexpress...
    ESP32 X-Shield www.aliexpress...
    ESP32 Lolin Board with LiPo www.aliexpress...
    ESP32 OLED Board bit.ly/2tosirM
    ESP32 Board with 18650 www.aliexpress...
    D1 mini ESP32 board www.aliexpress...
    WeMos Arduino like ESP32 Board bit.ly/2tUZVnC
    Cheapest ESP32 board (source not tested by me): www.aliexpress...
    WEMOS Official Store: s.click.aliexpr...
    Supporting Material and Blog Page: www.sensorsiot.org
    Github: www.github.com...
    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.aliexpr...
    / sensorsiot
    / spiessa
    www.instructab...

КОМЕНТАРІ • 345

  • @CrazyA9999
    @CrazyA9999 7 років тому +24

    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.

  • @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!

  • @alanmcoll101
    @alanmcoll101 7 років тому +6

    The master tutor does it again. Thanks Andreas.

  • @AA3WK
    @AA3WK 7 років тому +11

    Great jobs as always. Thank you so much for your efforts. YOU ARE THE MAN!!

  • @mksmurff
    @mksmurff 5 років тому +1

    This has been the best video on ESP32 and deep sleep I have found. Thank you Andreas

  • @richard_wenner
    @richard_wenner 7 років тому +23

    You are going to need a spreadsheet to cross reference the videos soon. Nice job again!

    • @AndreasSpiess
      @AndreasSpiess  7 років тому +6

      Thanks! For the moment, I try with playlists. And I think, UA-cam Search also can help because I try to include good search terms.

    • @richard_wenner
      @richard_wenner 7 років тому +2

      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

  • @six4two1
    @six4two1 7 років тому +3

    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 років тому +1

      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 років тому +1

      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

  • @asiw
    @asiw 7 років тому +1

    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 років тому +1

      You are welcome! I think, it is really a step-up compared to the ESP8266, at small additional cost.

  • @jwracingteam
    @jwracingteam 2 роки тому

    I got caught out with GPIO and RTC_GPIO confusion, thanks for explaining boss

  • @Brutaltronics
    @Brutaltronics 7 років тому +3

    Looking forward to the current measurements in the next video! Hopefully it will run for years and years to come

  • @MaxintRD
    @MaxintRD 7 років тому +2

    Good morning Andreas! Woke up early to see your latest video. Thanks and have a nice day!

    • @AndreasSpiess
      @AndreasSpiess  7 років тому +3

      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...

  • @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 !

  • @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 UA-cam videos. Otherwise they get too long.

  • @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!

  • @pliniobass
    @pliniobass 6 років тому +1

    Thank you master! You are very generous sharing your amazing knowhow with us.

  • @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.

  • @tomg8817
    @tomg8817 6 років тому

    Thank you for the great videos on the ESP32! Please keep them coming.

  • @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.

  • @MushFarmer
    @MushFarmer 7 років тому +1

    these videos are gold

  • @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---

  • @Hessijames79
    @Hessijames79 7 років тому +1

    Großartiger Inhalt, tolle, durchdachte Präsentation.

  • @Perspectologist
    @Perspectologist 7 років тому

    As always, that was a great tutorial. Thanks for taking the time to make such great videos.

  • @widget623
    @widget623 6 років тому +4

    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/

  • @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.

  • @SamuelCarreira
    @SamuelCarreira 7 років тому +1

    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 років тому +1

      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

  • @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!

  • @nomadic_rider42
    @nomadic_rider42 7 років тому +2

    it's nicely done. in the next video please also compare Current consumption of different ESP32 boards and bare WROOM board.

    • @AndreasSpiess
      @AndreasSpiess  7 років тому +2

      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...

  • @markostojanovic6935
    @markostojanovic6935 5 років тому +1

    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?

  • @Kevin192291
    @Kevin192291 4 роки тому

    Your Videos are Gold

  • @alanlovett3412
    @alanlovett3412 7 років тому

    Very informative and a great spreadsheet.

  • @JerryEricsson
    @JerryEricsson 7 років тому +1

    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 років тому +1

      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

  • @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 ;-)

  • @deangreenhough3479
    @deangreenhough3479 7 років тому

    My ESP32 is up and running Thank you.

  • @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!

  • @hydroUNI
    @hydroUNI 7 років тому

    0:22 yes, we are very interested! :D
    Thanks for posting this, Andreas!

  • @maao86
    @maao86 7 років тому

    Very informative. Thank you for making these videos. Greatly appreciated :)

  • @dinakrishnamoharana6494
    @dinakrishnamoharana6494 5 років тому

    Thanks Andreas, your videos are more informative ,

  • @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...

  • @MPElectronique
    @MPElectronique 7 років тому

    Andreas, i have got the rev.1 and the deep sleep works perfect!!! Thank you...

  • @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 років тому +1

      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.

  • @cruepprich
    @cruepprich 6 років тому

    Excellent video! Thanks Andreas!

  • @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.😀

  • @wojomojo
    @wojomojo 5 років тому

    Just found your channel. Excellent stuff, thanks and subscribed!

  • @sanjaybhatikar
    @sanjaybhatikar Рік тому

    Great, thank you 👍

  • @Passco666
    @Passco666 4 роки тому

    Andreas thank you for video

  • @jeremiecuadrado5607
    @jeremiecuadrado5607 7 років тому +1

    Franchement, toujours aussi passionnant. J'apprend beaucoup grâce à toi. Merci pour tout ce temps passé. Cheers.

  • @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...

  • @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...

  •  7 років тому +1

    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 років тому +1

      That is why I started my videos...

  • @eddyfontaineyoutu100
    @eddyfontaineyoutu100 7 років тому

    Thank you Andreas !

  • @roygilby4513
    @roygilby4513 7 років тому

    Once again, a very good and instructional video. Looking forward to your next episode. Now, go and get some sleep. :-)

  • @venkateshe7506
    @venkateshe7506 7 років тому

    Very very nice. Thank you.

  • @AdminTuber
    @AdminTuber 5 років тому

    Thank you ! very interesting

  • @windowofwords
    @windowofwords Рік тому +1

    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  Рік тому +1

      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.

  • @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)?

  • @onurson4000
    @onurson4000 7 років тому

    great video as usual, vielen dank.

  • @norberthartmann5075
    @norberthartmann5075 7 років тому

    top!
    bin auf die fortsetztung gespannt ... ggf gibt es ja ein wenig zum thema WPS.
    einen schönen sonntag

  • @minepro1206
    @minepro1206 4 роки тому

    What does RTC stand for?
    P.S.: Sweet video as always

  • @14OF12
    @14OF12 5 років тому +1

    Bad review. At 4:45 you didn't take into account leapyears. Now I'm 388 years short. I really needed them, you know.

    • @AndreasSpiess
      @AndreasSpiess  5 років тому +1

      are right: 388 year is a lot. Sorry for that ;-)

  • @AbiChess.tricks
    @AbiChess.tricks 7 років тому

    Well explanatory

  • @avejst
    @avejst 7 років тому

    Thanks for sharing.

  • @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 :)

  • @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).

  • @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.

  • @josecampino7476
    @josecampino7476 7 років тому

    Grüezi Andreas ! Sorry to bother you, but the thing is locked again ... (Another) Great video !

  • @shkhamd
    @shkhamd 6 років тому

    one thing i figured that GPIO12 is also more or less unusable. It needs to be low during the ESP32 boot up from the flash with external reset.
    But if you have something connected with it that may keep the voltage at GPIO12 more than 1.8V and try to flash the chip, than instead of flashing the chip, the ESP enters into ROM console mode.
    This in turn leads to a MD5 checksum error of the flush during sketch upload.
    The issue is discussed here :
    esp32.com/viewtopic.php?f=2&t=322&sid=13419f5a55e80e26a67598b206ef9e02&start=20
    It was supposed to have a software bug fix recently, but so far have seen no progress on this.

    • @AndreasSpiess
      @AndreasSpiess  6 років тому

      Thank you for your tip. I did not know that. So we have to use GPIO12 as an output only, I think.

    • @shkhamd
      @shkhamd 6 років тому

      yes, actually GPIO12 has to be floating (probably internally pulled low) or pulled low only during sketch upload period. After that, it can be used anyway we want.
      For a breadboard circuit, I just disconnect the pin from external circuit during sketch upload, which is okay 90% of the time.
      But for an custom PCB, this may become more complex.
      So yes, easiest work around is to either use it as an output pin or may be avoid using it as much as possible.

  • @ricardomariz2941
    @ricardomariz2941 6 років тому

    Very very good!

  • @axa.axa.
    @axa.axa. 5 років тому

    Could you expand on why you seem to imply things need to be written "differently". Of course lower power programming has to be adhered to but, stating you wont or can't enter the loop section confuses me. Can't deep sleep be called from out of the setup section?

    • @AndreasSpiess
      @AndreasSpiess  5 років тому

      After calling deep sleep the ESP goes to sleep. At wake up it boots.

    • @axa.axa.
      @axa.axa. 5 років тому

      @@AndreasSpiess understood, but aside from your particular example, is there anything preventing moving the deep sleep call from the end of the setup loop to anywhere in the main loop?

  • @eriklaken1025
    @eriklaken1025 6 років тому

    For that look at Birds work, have a Nice Day.:)

  • @neatodd
    @neatodd 7 років тому

    Your don't have to sort your spreadsheet Andreas, just use the Filter button to see the particular rows you require

    • @AndreasSpiess
      @AndreasSpiess  7 років тому

      I use filter and sort for different reasons. If I want the column in order, I think, I have to use sort.

    • @abyssunderground
      @abyssunderground 7 років тому +1

      You can use filter then click the drop down for the column you want to arrange and select A-Z or Z-A for column ordering. Much quicker for the same result :-)

  • @ribicb
    @ribicb 7 років тому

    Hey Andreas. Just watching your ESP32 playlist, and I suspect you got ordering of videos wrong :) This episode is listed before the #147 one.

    • @AndreasSpiess
      @AndreasSpiess  7 років тому

      I changed the sorting now. Hopefully right this time

    • @ribicb
      @ribicb 7 років тому

      Now they're in reverse order, #152 listed first and #103 last. Sorry for the nagging :)

    • @AndreasSpiess
      @AndreasSpiess  7 років тому

      Changed

    • @ribicb
      @ribicb 7 років тому

      Thanx

  • @lhxperimental
    @lhxperimental 7 років тому

    Why didn't you try the Hibernate Mode? You did not use the ULP processor anyway. RTC functionality does not require ULP processor. RTC is supported in Hibernate mode too. Power consumption is 4 times less than Deep Sleep and you can still wake up with RTC alarm.

    • @AndreasSpiess
      @AndreasSpiess  7 років тому

      The data sheet was not completely clear which number applies. So, I took the (cautious) bigger one. We will see when we measure it in reality.

  • @WibovanNoort
    @WibovanNoort 3 роки тому

    ughh... most boards have crippled this functionality because they do not let you disconnect the ESP32 power domain from usb to serial, power leds etc.. A few jumpers would have been nice.

  • @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.

  • @MPElectronique
    @MPElectronique 7 років тому

    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.

  • @pranaystarkjr
    @pranaystarkjr 7 років тому

    That's cool! So I can control multiple buttons buy using IFTTT

  • @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 років тому +1

      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.

  • @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 років тому +2

      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!

  • @GabrielSallum
    @GabrielSallum 7 років тому +1

    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 років тому +3

      I added a direct link to the comments

  • @woodd1000
    @woodd1000 5 років тому

    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 5 років тому +1

      There we are - arduino-esp8266.readthedocs.io

  • @analyticalsolution
    @analyticalsolution 3 роки тому

    I like most of your videos, but in this one a very important topic is omitted. What about not nominal but real power consumption of ESP32? E.g. DevKit1 consumes much more in deep sleep than it is documented, I was never able to get better than 10mA with it. DevKit1 costs roughly EUR 7.9, but the best one with surely low consumption from DFRobot costs almost EUR 32. There should be other choices in between. Could you please test them?

    • @AndreasSpiess
      @AndreasSpiess  3 роки тому

      Most boards are not good for deep sleep because they use too much current. I made quite a few videos about that topic and we even started the "Superpower" project because of this fact.

    • @analyticalsolution
      @analyticalsolution 3 роки тому

      @@AndreasSpiess Dear Andreas, I would be grateful if you could share a link to one of those videos, where you test ESP32.

  • @filzli
    @filzli 7 років тому

    Awesome!

  • @Jhinsydney
    @Jhinsydney 7 років тому

    Brilliant

  • @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 років тому +1

      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

  • @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.

  • @devonspurway7380
    @devonspurway7380 6 років тому

    Hi this is a great tutorial is there any documentation on how to get the bitmask for different pins

  • @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

  • @lernenmitrobin
    @lernenmitrobin 5 років тому

    Update for those, who get an error by using the linked example on github:
    TimerWakeUp:32:3: error: 'esp_deep_sleep_wakeup_cause_t' was not declared in this scope
    There are 3 lines to update:
    // esp_deep_sleep_wakeup_cause_t wakeup_reason; // old
    esp_sleep_wakeup_cause_t wakeup_reason; // new
    //wakeup_reason = esp_deep_sleep_get_wakeup_cause(); // old
    wakeup_reason = esp_sleep_get_wakeup_cause(); // new
    //esp_deep_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); // old
    esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); // new

    • @AndreasSpiess
      @AndreasSpiess  5 років тому +1

      Thanks. They changed the commands in the Espressif code.

    • @lernenmitrobin
      @lernenmitrobin 5 років тому

      @@AndreasSpiess alright, that's kind of community thinking. If you find an issue, make it public 😉

    • @AndreasSpiess
      @AndreasSpiess  5 років тому +1

      You can also create a pull request if you want. Then the root cause would be fixed ;-)

  • @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 років тому +1

      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 років тому +1

      You have to have an external BLE receiver which is capable to listen and switch the pin. Quite complicated, I think.

  • @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 ;-)

  • @777horus
    @777horus 6 років тому

    I get the error
    "exit status 1
    'esp_deep_sleep_wakeup_cause_t' was not declared in this scope"
    and so it is not possible for me to upload your "Simple Deep Sleep with Timer Wake Up" program to my ESP32 with ESP-WROOM-32 chip.
    " Why is esp_deep_sleep_wakeup_cause_t and esp_deep_sleep_enable_timer_wakeup not declared in your program Is there any Libary I do not have?

    • @777horus
      @777horus 6 років тому +1

      I have just found the missing lbrary in Andrears program (Simple Deep Sleep with Timer Wake Up)
      it is :
      "#include "
      ;o)

  • @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.

  • @ursmii_
    @ursmii_ 7 років тому

    UPDATE: I used another script initalizing WiFi and connecting to somewhere then I measures 1.7mA while sleeping !!!
    124mA WiFi on & running , 1.72mA connection closed and sleeping. (LED still on)
    Strange - it seems that uninitialized or not disabled WiFi draws 13mA.

    • @AndreasSpiess
      @AndreasSpiess  7 років тому

      1. There is probably still the USB-to-Serial chip up
      2. 1.7 mA seems to be very low. Usually, the LED needs more...

    • @ursmii_
      @ursmii_ 7 років тому

      I'll send you the program and a picture of my DMM
      there was no usage of the USB in both cases (otherwise the supply would comt from there).

  • @Dralsoft
    @Dralsoft 2 роки тому

    I can't deep sleep the esp32 for more than 35 minutes, I suspect is something about the size of the int variable but changing it it sleeps forever.

    • @AndreasSpiess
      @AndreasSpiess  2 роки тому

      The variable has to be 32 bit if I remember right

    • @bluefocused8036
      @bluefocused8036 2 роки тому

      @@AndreasSpiess It's actually an Unsigned Int 64 (unit64). a very very large number.

  • @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

  • @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!

  • @andresceballos4128
    @andresceballos4128 2 роки тому

    hello excellent video
    I have a question about the ESP32 and it is not related to the video
    How can i create new custom memory partitions?
    Greetings from Colombia

    • @AndreasSpiess
      @AndreasSpiess  2 роки тому

      You should find the answer using Google (eg. iotespresso.com/how-to-set-partitions-in-esp32/ ). Plus: The Arduino IDE supports already many different configurations.

    • @andresceballos4128
      @andresceballos4128 2 роки тому

      @@AndreasSpiess thank you very much for your help

  • @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.