![]() The power consumption of the Firebeetle ESP32 board in Deep-Sleep mode is extremely low. If you have discovered any board that can achieve similar or better results than the Firebeetle board, please let me know in the comments section below, I would love to try it. The 0.05mΑs of current that the board requires in Deep-Sleep mode is the lowest current draw I have ever seen in a fully featured ESP32 board, with USB to serial driver, regulator, and battery circuit. If we power the board with the same battery pack we used before, which outputs around 4.8V, we can see that the current draw is 48mAs in active mode and just 0.05mAs Deep Sleep mode! Impressive isn’t it! We can further reduce the power consumption of the board if we use a 3.3V battery or power supply. Luckily there are better designed ESP32 boards out there.įor example, the Firebeetle ESP32 board by DFrobot is better designed and can achieve a deep-sleep current of just 0.01mΑs when powered by a 3.3V power supply. The design of the board is not optimized for power consumption so, even in deep-sleep mode, it needs a lot of current. I am using a DOIT ESP32 board, the first ESP32 board that appeared on the market about a year ago. When the ESP32 is in Deep Sleep mode it draws around 19mAs of current! This is a big reduction in current draw, but the creators of the chip claim that it needs 0.01mA of current in deep-sleep mode. When the ESP32 is in active mode, it draws around 60mAs of current from the battery. Let’s now see the power consumption of the board. As always you can find the code of this example attached to this instructable. In this example, I save the bootCount int variable into the RTC memory in order the program to know if it is the first time it runs and turn on the correct LED. All the variable values are lost, except if we save them in the RTC memory using this prefix. When we use the deep-sleep function, each time the ESP32 wakes up, it executes the setup function again. There is a small difference with the execution of the code though. #define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */ #define TIME_TO_SLEEP 3 /* Time ESP32 will go to sleep (in seconds) */ We enable the timer with the esp_sleep_enable_timer_wakeup function, we enter the time to sleep in seconds, and then we call the esp_deep_sleep_start function. In order to put the ESP32 into Deep-Sleep mode, all we need is two lines of code.Įsp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR) esp_deep_sleep_start() Let’s take a quick look at the code of this project. From now on it will only blink the green LED, so the chip remembers that it is not the first time it boots up because we are using the RTC memory to store an integer value. When it wakes up, it lights up the Green led for 3 seconds and goes back to sleep. When the ESP32 boots up it light up the yellow LED for three seconds, and then it goes into Deep-Sleep mode for 3 seconds. I have connected two LEDs to this ESP32 board. ![]() It just needs 0.01 mAs of current in Deep Sleep mode and that’s why we are going to try today. In Deep Sleep mode the ESP32 offers the lowest power consumption. There is a light sleep mode and the Deep – Sleep mode. We are going to put the ESP32 to Deep – Sleep mode where it disables everything except the RTC module. So, if we want to conserve power we have to disable them when don’t use them. The WiFi modules, the Processing Cores, and the Bluetooth module require a lot of current to operate. Also note, even the RTC memory of the ESP32 chip is 4 times larger than the memory of the Arduino Uno. This small amount of memory is very useful as you are going to find out in a moment. Inside the RTC module, we can find a PMU (Phasor measurement unit) a small and very low power 32-bit co-processor, and 8Kbs of RAM memory. Inside the ESP32 chip, we can find the two processing cores, the RAM and ROM memory, the WiFi module, the Bluetooth Module, a hardware acceleration module for cryptographic applications, the RTC module, and a lot of peripherals.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |