#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...
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.
You are welcome!
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.
Thank you for your nice words and your support!
The master tutor does it again. Thanks Andreas.
Thank you for your nice words!
Great jobs as always. Thank you so much for your efforts. YOU ARE THE MAN!!
Thanks!
This has been the best video on ESP32 and deep sleep I have found. Thank you Andreas
You are welcome!
You are going to need a spreadsheet to cross reference the videos soon. Nice job again!
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.
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
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!
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.
"is... like that."
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
I hope, you enjoyed your WE. I was also late this morning. Had to get some sleep after working long last night...
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👍👍
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" ;-)
Quality reply, I laughed a lot at that
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
You are welcome! I think, it is really a step-up compared to the ESP8266, at small additional cost.
I got caught out with GPIO and RTC_GPIO confusion, thanks for explaining boss
:-)
Looking forward to the current measurements in the next video! Hopefully it will run for years and years to come
Depends on the battery size ;-)
Good morning Andreas! Woke up early to see your latest video. Thanks and have a nice day!
It is more "good night"... Just finished the video at 4 am
Andreas Spiess - here it's not even 4am ;-)
Sleep well then...
P.S. Touch button wake-up looks quite useful.
Going to sleep now...
Interesting to know that it can go into deep sleep for several years and that it hardly consumes any power.
Great video !
Thanks!
Very interesting, but wake up from internal RTC is a very good feature I miss in your video.
Thank you. Saying "no" is the most important thing for interesting UA-cam videos. Otherwise they get too long.
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!
You are welcome!
Thank you master! You are very generous sharing your amazing knowhow with us.
You are welcome!
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.
:-)
Thank you for the great videos on the ESP32! Please keep them coming.
:-)
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!
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.
these videos are gold
Thank you!
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!
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---
Großartiger Inhalt, tolle, durchdachte Präsentation.
Danke!
As always, that was a great tutorial. Thanks for taking the time to make such great videos.
You are welcome! It is my pleasure.
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.
Thanks for the tip!
still the error: 'esp_deep_sleep_get_ext1_wakeup_status' was not declared in this scope
:-( thanks
I found the solution: esp_sleep_get_ext1_wakeup_status()
:-)
I found the solution here actually: www.lucadentella.it/en/2018/01/22/esp32-29-deep-sleep/
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
Usually I use bare boards for deep sleep experiments.
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.
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.
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
Thank you so much. I have a esp32 on the way to me, and this information is very interesting.
So, you can try it right away when it arrives!
it's nicely done. in the next video please also compare Current consumption of different ESP32 boards and bare WROOM board.
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...
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
You are right. Maybe somebody reports it as an error in the ESP32 Github?
Your Videos are Gold
Thank you!
Very informative and a great spreadsheet.
:-)
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.
Wi-Fi should be no problem. Bluetooth seems to be harder with the Arduino IDE...
thats good to know. Was considering a switch from 8266 to 32 especially for bluetooth. Maybe i should wait
Great video, you're saving us from having to read through all the documentation, thanks!
You are welcome! You are probably right ;-)
My ESP32 is up and running Thank you.
🙂
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)
This is not surprising. The same as with the ESP8266 boards...
Thanks for the insights Andreas!
You are welcome!
0:22 yes, we are very interested! :D
Thanks for posting this, Andreas!
You are welcome!
Very informative. Thank you for making these videos. Greatly appreciated :)
Thanks!
Thanks Andreas, your videos are more informative ,
You are welcome!
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.
I think, you mixed milli with micro (or I made an error in the video). Then, everything is a factor of thousand smaller...
Andreas, i have got the rev.1 and the deep sleep works perfect!!! Thank you...
+Marc Paradis :-)
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.
dachoeks3 Which board is faster to flash? The Sparkfun Thing or another? Which other board are you comparing the Sparkfun to?
Compiling for ESP32 Thing is much faster compared to regular esp8266.
That is also my impression. This is why I started the coverage now.
Excellent video! Thanks Andreas!
You are welcome!
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.
Great for you. I will go to a smaller event in Austria in September... But one day, I will make it to Sturgis.😀
Just found your channel. Excellent stuff, thanks and subscribed!
Welcome aboard the channel!
Great, thank you 👍
You are welcome!
Andreas thank you for video
You are welcome!
Franchement, toujours aussi passionnant. J'apprend beaucoup grâce à toi. Merci pour tout ce temps passé. Cheers.
Pas de quoi
Bonjour
Waiting for ulp
Great video as always
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...
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.
Many new possibilities with this chip to explore...
ESP32 is so superior, I bought one for just 3 dollars... so amazing little thing
Dominik Mičuta $3? I remember when it was much more expensive than an ESP8266, now it's almost on par. That's awesome!
That is why I started my videos...
Thank you Andreas !
You are welcome!
Once again, a very good and instructional video. Looking forward to your next episode. Now, go and get some sleep. :-)
Back again after breakfast...
Very very nice. Thank you.
You are welcome!
Thank you ! very interesting
Thank you!
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?
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.
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)?
No, not yet. A video should come...
great video as usual, vielen dank.
Bitte, gern geschehen!
top!
bin auf die fortsetztung gespannt ... ggf gibt es ja ein wenig zum thema WPS.
einen schönen sonntag
Ich hab noch nie mit WPS gearbeitet. Mal sehen...
:-) wäre super !
What does RTC stand for?
P.S.: Sweet video as always
Real time clock
@@AndreasSpiess Thanks!
Bad review. At 4:45 you didn't take into account leapyears. Now I'm 388 years short. I really needed them, you know.
are right: 388 year is a lot. Sorry for that ;-)
Well explanatory
Thanks!
Thanks for sharing.
:-)
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 :)
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.
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).
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?
I do not know FZR sensors. The ESP32 has many wake-up possibilities. Maybe you google to find the right one for you?
@@AndreasSpiess thankyou sir. I resolved this issue. I ment ''fsr'' force sensing resistors. It worked with the ext0. Thankyou for your time.
Grüezi Andreas ! Sorry to bother you, but the thing is locked again ... (Another) Great video !
Should be unlocked now...
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.
Thank you for your tip. I did not know that. So we have to use GPIO12 as an output only, I think.
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.
Very very good!
Thanks!
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?
After calling deep sleep the ESP goes to sleep. At wake up it boots.
@@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?
For that look at Birds work, have a Nice Day.:)
:-))
Your don't have to sort your spreadsheet Andreas, just use the Filter button to see the particular rows you require
I use filter and sort for different reasons. If I want the column in order, I think, I have to use sort.
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 :-)
Hey Andreas. Just watching your ESP32 playlist, and I suspect you got ordering of videos wrong :) This episode is listed before the #147 one.
I changed the sorting now. Hopefully right this time
Now they're in reverse order, #152 listed first and #103 last. Sorry for the nagging :)
Changed
Thanx
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.
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.
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.
YYou are right.
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.
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.
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.
That's cool! So I can control multiple buttons buy using IFTTT
Yes!
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.
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.
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.
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
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?
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".
Andreas Spiess thanks for the helpful information! I look forward to your next video!
Hey, can't find the xls sheet. Actually am evaluating the esp32 for an industrial/iot application, that info seems pretty neat.
Go to the GitHub link under Sketches:
I added a direct link to the comments
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?
There we are - arduino-esp8266.readthedocs.io
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?
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.
@@AndreasSpiess Dear Andreas, I would be grateful if you could share a link to one of those videos, where you test ESP32.
Awesome!
:-)
Brilliant
:-)
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!
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.
Andreas Spiess maybe I will take a look! I will have some time to experiment in the coming weeks
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
I do not know because your setup seems to be quite complex.
Hi this is a great tutorial is there any documentation on how to get the bitmask for different pins
I do not know.
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
desafortunadamente, no puedo ayudar con tales preguntas. tomaría mucho tiempo
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
Thanks. They changed the commands in the Espressif code.
@@AndreasSpiess alright, that's kind of community thinking. If you find an issue, make it public 😉
You can also create a pull request if you want. Then the root cause would be fixed ;-)
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?
BLE does not work during deep sleep
@@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.
You have to have an external BLE receiver which is capable to listen and switch the pin. Quite complicated, I think.
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.
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 ;-)
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?
I have just found the missing lbrary in Andrears program (Simple Deep Sleep with Timer Wake Up)
it is :
"#include "
;o)
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
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.
Thank you for the feedback. I will look at the examples, hopefully I find out how it works.
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.
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...
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).
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.
The variable has to be 32 bit if I remember right
@@AndreasSpiess It's actually an Unsigned Int 64 (unit64). a very very large number.
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!!
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
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.
I better take a look at this lastminuteengineers.com/esp32-deep-sleep-wakeup-sources/ :-)
You found the right link!
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
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.
@@AndreasSpiess thank you very much for your help
Congrats for tutorial. Do you know how much is current on deep sleep? Sorry my English.
It depends which board you use. The ESP32 alone needs a few microAmpere in deep sleep.