ESP32 deep sleep current too high

zazas321
Posts: 231
Joined: Mon Feb 01, 2021 9:41 am

ESP32 deep sleep current too high

Postby zazas321 » Wed Feb 23, 2022 1:23 pm

For our custom project we use ESP32-WROOM-32UE device. The project involves measuring various ADC inputs, we use

The code we used for testing:

Code: Select all

  CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"

#include "esp_sleep.h"
#include "driver/rtc_io.h"
#include "soc/rtc.h"


void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
            CONFIG_IDF_TARGET,
            chip_info.cores,
            (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
            (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");

    printf("silicon revision %d, ", chip_info.revision);

    printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
            (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
     
                                   
        esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0);
        vTaskDelay(2000/portTICK_PERIOD_MS);
        esp_deep_sleep_start();

}


We have tested power consumption of 3 different boards:
  • 1. ESP32 Devkitv1
To measure the current consumption of the ESP32 Devkitv1 we used 3.3 Power supply in series with ampermeter (UNI-T UT70A). The result was 9.7mA

  • 2. ESP32 S3 dev board
To measure the current consumption of the ESP32 S3 dev board we have also used the same method as above. The results were quite good 615uA

  • 3. Our custom ESP32 board with ESP32-WROOM-32UE chip.
To measure our custom board power consumption we supply the 4.2V battery input to the voltage regulator IC (MYRGP330100W21RATR) . The output of this IC is connected in series with Ampmeter and powers the ESP32 device as well as all other peripherals that we use (SPI EEPROM memory, I2C gpio expander and etc). We have checked the datasheets of the SPI EEPROM memory, I2C expander and their current consumption in standy modes are very small (in uA range). Measured current in deep sleep mode of our device : 5.1mA




Questions

I think the reason why ESP32 Devkitv1 is using so much current is because they use bad voltage regular that is leaking a lot of current.

We are trying to understand the reason why our custom device is drawing so much current in the deep sleep mode. Anything above 1-2mA is not acceptable for us. According to the ESP32 documentation, it is possible to achieve even lower than 100uA consumption which is would be more than ideal.
According to the components we use and their datasheets, the current consumption we expect:

MYRGP330100W21RATR Max Quiescent Current - 800uA
I2C expander - 200uA
SPI eeprom standy current - 5uA

These 3 above are main components that should draw current, we dont use much else apart from 3 ADC inputs. Is it possible that they leak so much current through the voltage dividers?
Attachments
My_device.drawio.png
My_device.drawio.png (34.13 KiB) Viewed 4486 times
ESP32_S3_DEV2.jpg
ESP32_S3_DEV2.jpg (1.9 MiB) Viewed 4487 times
ESP_DEV_BOARD1.jpg
ESP_DEV_BOARD1.jpg (2.12 MiB) Viewed 4496 times

ESP_Sprite
Posts: 9746
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32 deep sleep current too high

Postby ESP_Sprite » Thu Feb 24, 2022 1:31 am

I can confirm that that ESP32 devboard is not optimized for low power use; the LDO has a pretty high quiescent current and from memory, current can leak away through the USB-serial chip. (Also note that the board you show is some unnamed third party board, I don't think Espressif made it.)

The block diagram doesn't really allow us to say what the issue is in your case, sorry; if you could post something more detailed, that would help.

Remyhx
Posts: 23
Joined: Thu Jun 17, 2021 8:22 pm

Re: ESP32 deep sleep current too high

Postby Remyhx » Tue Mar 01, 2022 9:07 pm

Had same problem here. Now at 1-2 mAh in deepsleep, use the SPX3819M5-L-3-3 now.

For current usage i use the joulescope, a multimeter isn’t precise enough (performs bad at small currents because of the multimeter resistor).

And like already said: the ser com chip can be a leak. Like for the cp2104 it was advised to pull down the D- (10-47k)

Also check your pull-up resistors. The total sum can be a major part of power usage in sleep.

Who is online

Users browsing this forum: No registered users and 87 guests