Page 1 of 1

Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Tue Jan 21, 2020 11:01 am
by rkeith
Hi,

I am hoping to use the ESP32-Solo-1 to do some product development and prototyping. I have been looking at the Silicon Labs EFR32 series of BLE modules but hope to avoid the expense and learning curve required to utilize these devices.

I am working on a concept BLE device that runs on batteries. The power consumption in the ESP32 devices given in the datasheet is up to 130 mA using "BT/BLE" which is just absurd. It is more than 10 times the power consumption of other BLE devices. I assume it is an error.

I realize I am doing development and prototyping, and I can tolerate poor battery life with initial "proof of concept" devices. I could tolerate maybe 25 mA but the batteries required to supply 130 mA would be totally impractical.

Can anyone please help with an indication of the actual power consumed by the ESP32-Solo-1 under BLE only, beacon and GATT, operation and without standard Bluetooth or WiFi.

Thanks in advance,

Rob

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Sun Jan 26, 2020 8:49 pm
by chegewara
Hi
there is a lot posts about power consumption, but i think that best answer you find here:
https://github.com/espressif/esp-idf/is ... -500312453

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Mon Jan 27, 2020 11:35 am
by rkeith
Thank you. That has shed some light on the problem. I think I need to experiment myself to get some real data.

Rob

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Wed Jan 29, 2020 11:04 am
by OctopusPrime
Hello Rob :)

I am having the same problem as you. I am using an ESP32-PICO-KIT V4 in Arduino IDE and I could verify that when the BLE is active but there is not connection established with an other device, the power consumption (in terms of current) is about 70mA and it jumps to 130-140mA as soon as I am establishing a connection by opening a serial port to send data... which is absurd.

In my case I am streaming a lot of data continuously, so it would be fine for me to have few tens of mA, as the device should run on a battery.

I thought that the BLE itself should not sink so much current, so I guesses it was because Wifi and BLE share the same radio and so keeping the Wifi active would justify the high power consumption. Or am I wrong? :?

I have tried to disable the wifi:

#include "WiFi.h"
WiFi.mode(WIFI_OFF);

OR

#include <esp_wifi.h>
esp_wifi_stop();

but nothing changed, power consumption is still very high :(

If I try to enter in sleep mode:

esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_OFF);
esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_OFF);
Serial.println("Going to sleep now");
Serial.flush();
esp_deep_sleep_start();

current now is in the order of 10mA, but then BLE is not working anymore... which is ok, but the point would be to put only the Wifi to sleep (if this is the problem) and I have no idea on how to do it.

Did you (or someone else) find a solution to this problem? So by using only BLE communication with low power consumption?

Thank you very much to all the community for any feedback on the topic :)

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Sun Feb 02, 2020 6:23 pm
by chegewara
If you need only BLE then this is my recommendation:
https://devzone.nordicsemi.com/cfs-file ... mption.PNG

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Tue Feb 04, 2020 11:48 am
by OctopusPrime
Hello and thank you for your reply.

I know other solutions exists (like the one you suggested me), but it's not so intuitive to write a code as for the esp32 which offers the possibility for example to use also a simple IDE such as the Arduino one (thanks to the existence of simple libraries). Don't you agree on this point?

I like the esp32, especially for its simplicity, so I just would like to understand if it's possible to transmit a stream of data only with BLE in low power or if it's impossible. So, is it possible or not?

Thank you for everyone feedback on this topic

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Wed Feb 05, 2020 8:03 am
by chegewara
Then please read this post one more time
https://github.com/espressif/esp-idf/is ... -500312453

There is explained everything you need to know about how to use bluetooth light sleep mode. As you can see you need to setup a lot settings in menuconfig and i think if you compare it with sdkconfig from arduino-esp32 you will realize that required options are not enabled.

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Fri May 08, 2020 9:47 pm
by bobo1974
Hi,
From the above post on BLE consumtion in light sleep, I have spent 3-4 days just to rebuild my librairies for arduino-esp32 to take advantage of all the menuconfig additionnal options. That is now done, but I don't see much improvement.

I am testing on ESP-WROOM-32. Which do not have external cristal for modem sleep in light sleep. OK.
My program need to be beaconning and scanning at all time so no light sleep anyway.
I have enabled modem sleep, reduced power level to N12, increased interval to 500ms, and decreased core freq to 80Mhz.

I still use 100mA with no light sleep. Any idea what I can do to decrease this?

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Fri Jul 09, 2021 8:09 pm
by expresspotato
So I'll report back here with light sleep what the consumption is like... I too found the power consumption of basic bluetooth on the ESP32-D0WD-V3 absurdly high when compared to basically any Qualcomm chip. ESP32 -> 110 mA idle, QC5144 -> 6mA, it's more than 10x.

My WiFi with light sleep power consumption is very low, and the nice thing is the power mode can be changed dynamically so normal when there is customer activity and back to power save to maintain the connection (and be reachable).

Hopefully light sleep fixes this or we may have to consider a different solution all together. We liked the ESP for this specific project because of it's large out of the box number of examples, libraries and vibrant community.

Going to be ready to try light sleep this week.

Re: Actual power consumption of ESP32 using only Bluetooth Low Energy

Posted: Mon Oct 04, 2021 3:55 pm
by kwinzman
Have there been any improvements to BLE power consumption with the new ESP32-S3?