BLE low power status

wobblyboots
Posts: 19
Joined: Mon Sep 18, 2017 4:48 pm

BLE low power status

Postby wobblyboots » Sun Jul 22, 2018 1:09 pm

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.

User avatar
hassan789
Posts: 154
Joined: Thu Jun 29, 2017 2:15 am

Re: BLE low power status

Postby hassan789 » Mon Jul 23, 2018 7:10 pm

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.

wobblyboots
Posts: 19
Joined: Mon Sep 18, 2017 4:48 pm

Re: BLE low power status

Postby wobblyboots » Mon Jul 23, 2018 8:07 pm

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.

User avatar
billiam
Posts: 5
Joined: Tue Jul 24, 2018 8:20 pm

Re: BLE low power status

Postby billiam » Tue Jul 24, 2018 8:54 pm

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.

wobblyboots
Posts: 19
Joined: Mon Sep 18, 2017 4:48 pm

Re: BLE low power status

Postby wobblyboots » Sat Sep 08, 2018 9:46 pm

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.

sensboston
Posts: 1
Joined: Fri Sep 14, 2018 4:08 pm

Re: BLE low power status

Postby sensboston » Fri Sep 14, 2018 4:19 pm

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?..

Who is online

Users browsing this forum: Baidu [Spider] and 56 guests