Page 1 of 1

ESP32 WROVER pSRAM Quiescent current

Posted: Thu Nov 16, 2017 12:27 pm
by kilobyte_ch
Hello

I'm just asking if and how big the difference of the quiescent current between the ESP32 WROVER and ESP32 WROOM Module should be in deep sleep mode.

Thanks

Kilobyte

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Thu Nov 16, 2017 2:57 pm
by loboris
Maximal standby current of ESP-PSRAM32 is 50 uA, but it is powered by VDD_SDIO and is powered down before entering deep sleep (same as Flash chip).
As a result, there is no difference in current consumption in deep sleep between ESP32 WROVER and ESP32 WROOM Module.

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Wed Dec 20, 2017 9:43 pm
by ginodecock
Hi,

I measure when using the same code the esp-wroom-32 uses 7uA and the esp32 wrover uses 80uA. The underlying pcb is also the same.

I wonder what is extra needed for the esp32 wrover to get to the low current usage.

Thanks,

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Fri Dec 22, 2017 5:15 pm
by loboris
ginodecock wrote:Hi,

I measure when using the same code the esp-wroom-32 uses 7uA and the esp32 wrover uses 80uA. The underlying pcb is also the same.

I wonder what is extra needed for the esp32 wrover to get to the low current usage.

Thanks,
At the moment I only have esp32-wrover on ESP-WROVER-KIT board which is not suitable for deep sleep power consumption measurement.

I've tested deep sleep power on ALB32-WROVER module (with 8MB Flash & 4MB psRAM) which probably has the same internal schematics as ESP32-WROVER and the results are:

- 5.5 uA when only RTC timer wake-up & wake-up from GPIO are enabled
- 32 uA when ULP wake-up is also enabled
- 300 uA when touch wake-up is enabled

Tested with deep sleep example from latest esp-idf.

To get this power consumption I had to configure some GPIOs at the begining of app_main():

Code: Select all

void app_main()
{
    gpio_pad_select_gpio(12);
    gpio_set_direction(12, GPIO_MODE_INPUT);
    gpio_set_pull_mode(12, GPIO_FLOATING);
    for (int i=32; i<34; i++) {
        gpio_pad_select_gpio(i);
        if (i < 34) {
            gpio_set_direction(i, GPIO_MODE_INPUT);
            gpio_set_pull_mode(i, GPIO_PULLUP_ONLY);
        }
    }

    struct timeval now;
    gettimeofday(&now, NULL);
...
...

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Sat Dec 23, 2017 6:48 am
by WiFive
loboris wrote:

Code: Select all

    for (int i=32; i<40; i++) {
        gpio_pad_select_gpio(i);
        gpio_set_direction(i, ***GPIO_PULLUP_ONLY***);
        if (i < 34) gpio_set_pull_mode(i, GPIO_PULLUP_ONLY);
    }
Hmm

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Sat Dec 23, 2017 10:24 am
by loboris
WiFive wrote: Hmm
Just leftovers from testing, I'm aware it is "Hmm" code...

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Sat Dec 23, 2017 11:15 am
by WiFive
loboris wrote: Just leftovers from testing, I'm aware it is "Hmm" code...
Now that you shared it at least fix the starred argument

Re: ESP32 WROVER pSRAM Quiescent current

Posted: Sun Dec 24, 2017 2:11 pm
by ginodecock
This seems to do the trick. :D

These GPIO pins are not used in the schematic of the ESP32 Wrover.

Is the underlying cause the difference between hardware version REV0 en REV1 of the ESP32 chip? :?: