8 years ago.

LifeTime Battery in BLE_EddystoneBeacon_Service

Hi,

I am using the BLE_EddystoneBeacon_Service of mbed on a nrf51-Dk board. Using the original setup of the Eddystone the advertising interval must be 1000 msec = 1 sec. Whit this the power cosumption on nrf51-DK is 1.23 mA. So, the lifetime of CR2032 (240 mAh) is the 195 hours = 8.1 days aprox. Whit defaul_beacon_period_msec = 5000 the power consumtion was of 1.16 mA.

1- How can I improve the battery lifetime? 2- Which are the criteria to move the parameters AdvPowerLevels , radioPowerLevels and startBeaconService?

Original setup of the Eddystone:

file > EddystoneService.h

static const uint32_t DEFAULT_CONFIG_PERIOD_MSEC = 1000; static const uint16_t DEFAULT_BEACON_PERIOD_MSEC = 1000;

file > main.cpp

/* Initialize a EddystoneBeaconConfig service providing config params, default URI, and power levels. */

Values for ADV packets related to firmware levels, calibrated based on measured values at 1m static const PowerLevels_t defaultAdvPowerLevels = {-47, -33, -21, -13};

Values for radio power levels, provided by manufacturer. static const PowerLevels_t radioPowerLevels = {-30, -16, -4, 4}; eddyServicePtr->startBeaconService(5, 5, 5);

Thanks and best regards, Leonardo

1 Answer

8 years ago.

If you see power consumption > 1mA, then something is definitely leaking. BLE_Beacon should consume about 35 uA (source) with 1 advertisement per second.

Some tips:

  1. Are you measuring with a release build?
  2. Are you powering the board from battery, not USB?
  3. Are there peripherals attached that draw power?
  4. Are all pins floating?

Note that the latest version of EddystoneBeacon is here. It's used by Google on their Eddystone beacons and they get >1 yr of battery life out of a coin cell.