Hi team,
Just a quick check to see where we are up to with BLE low power consumption modes. The last time we checked, about 6 months ago, there wasn't a way to get our favourite chip doing BLE on battery power alone. Has this changed? We would love to use the ESP32 for our next product with the fabulous ESP-IDF + FreeRtos which we know and love, rather than going back to bare metal on some pesky BLE specific chip.
Your thoughts and experiences are very welcome.
kind regards
Ian.
BLE low power status
Re: BLE low power status
If you wan't always on BLE advertiser, the theoretical lower limit of the ESP32 is ~0.8mA (per section 30.3.9 in the TRM). This the lowest it can ever go. In reality, my estimate is on the order of 1mA. For most BLE applications, this is insanely high.
-
- Posts: 19
- Joined: Mon Sep 18, 2017 4:48 pm
Re: BLE low power status
Our tests show an ESP32 with active bluetooth module runs at around 100mA, which is several orders of magnitude greater than a similar BLE focused chip, at least, when we played with this 6 months ago. I know reducing power consumption was a priority, so hoping some progress has been made in the mean time.
kind regards
Ian.
kind regards
Ian.
Re: BLE low power status
I am in the same boat. Our application sends up to 1K/second of data via BLE indications when it is active. I am evaluating ESP32 for our next gen platform and have noticed the RSSI/Range/Current consumption indicate the TX power level is quite high. We would sure like a way to turn it down and save battery. We could live with a range of 10m. At the moment, I can see the WROVER module on the other side of the building.
Answering my own question I see 3.1 beta 1 documentation references functions to enable sleep mode and set tx power. Will try soonish.
Assuming your esp-idf supports it (I am running a 3.2 dev version) :
To enable ble modem sleep, run make menuconfig and under components->bluetooth enable modem sleep. I am seeing a drastic reduction in power consumption. down from around 80ma to around 20ma. Not sure about reliability yet.
There is no need to call esp_bt_sleep_enable(). If you select it in menuconfig it sleeps by default. Hope this helps somebody.
Answering my own question I see 3.1 beta 1 documentation references functions to enable sleep mode and set tx power. Will try soonish.
Assuming your esp-idf supports it (I am running a 3.2 dev version) :
To enable ble modem sleep, run make menuconfig and under components->bluetooth enable modem sleep. I am seeing a drastic reduction in power consumption. down from around 80ma to around 20ma. Not sure about reliability yet.
There is no need to call esp_bt_sleep_enable(). If you select it in menuconfig it sleeps by default. Hope this helps somebody.
-
- Posts: 19
- Joined: Mon Sep 18, 2017 4:48 pm
Re: BLE low power status
Thanks billiam. While 80-100 is crazy, 20mA is still very high for a BLE device. It sure would be nice to get closer to 1.5mA, which other devices are doing quite effectively.
kind regards
Ian.
kind regards
Ian.
-
- Posts: 1
- Joined: Fri Sep 14, 2018 4:08 pm
Re: BLE low power status
I turned on (in menuconfig) "bluetooth->enable modem sleep" for the gatt_server example but it doesn't help much: my ESP32 drains 4 AA batteries overnight (very same result I've got with https://github.com/espressif/arduino-esp32 ).
So, looks like BLE-enabled ESP32 still have an issues with power savings It's a pity; I like this SOC (especially with arduino-esp32) but need a proper BLE implementation. Currently, there is no "L" (i.e. "Low").
Any advice, especially with working example, will be very appreciate! I believe, I'm doing something wrong, and ESP32 can work as a real BLE device. But how?..
So, looks like BLE-enabled ESP32 still have an issues with power savings It's a pity; I like this SOC (especially with arduino-esp32) but need a proper BLE implementation. Currently, there is no "L" (i.e. "Low").
Any advice, especially with working example, will be very appreciate! I believe, I'm doing something wrong, and ESP32 can work as a real BLE device. But how?..
Re: BLE low power status
Any Progress regarding this topic?
Re: BLE low power status
This guy gets the best battery numbers. His ESP32 “Trig Board” spends its time off and is triggered on (by a RTC or sensor) sends a message, then turns off.
https://www.tindie.com/products/kdcircu ... -platform/
https://www.tindie.com/products/kdcircu ... -platform/
Who is online
Users browsing this forum: Bing [Bot] and 103 guests