This article discusses the current consumption during advertising with different Tx power setting. We measure the current consumption of the Blue Gecko device EFR32BG13, and the test result can be used as a rough guideline for how to set the Tx power level in a current consumption sensitive system.
Use the default SoC-iBeacon example running on EFR32BG13 radio board (BRD4104A) to perform the test since it sets the device to broadcast in a non-connectable mode which means that only TX and sleep events will be observed in the Energy Profile.
The total current consumption of a Bluetooth Low Energy (BLE) device consist of three parts, current consumed by CPU, peripherals (e.g. USART, RTCC, PTI, etc ) and the current consumption of radio.
According to the datasheet of the EFR32BG13, the current consumption of the CPU in EM0 mode with all peripherals disabled and DCDC in low noise CCM mode (default setting of DCDC in the test application) is 97uA/MHz. So the active CPU core driven by 38.4 MHz HFXO will consume total around 97*38.4 = 3.72mA.
Also, the test application initializes lots of peripherals, such as RTCC, LDMA, PRS, USART, MSC, CRYPTO, GPIO etc. Currently, we do not have the detailed typical current consumption of each peripheral for EFR32BG13, however, we can use the characteristics of EFM32LG as a rough reference. Below is the electrical characteristics of digital peripherals from datasheet of EFM32LG, they may contribute hundreds of microamps(uA) in total current consumption.
The power consumption of the radio depends on the Tx power level and the amount of time that radio is active for transmitting, and the active radio time affected by the PHY selection and the payload size.
The Tx power level setting is always a trade-off between the required transfer range and current consumption. The distance of the radio signal can travel increases as a result of increasing of Tx power level, however, the current consumption will also rise. Note that, for improving the range performance of a bidirectional communication, both devices in the communication should increase the Tx power level.
Take the EFR32BG13 as an example, the current consumption of the device (MCU in EM1) with 3 dBm Tx output power is around 16.5 mA, and the value rises to around 26.0 mA while setting the Tx power as 8 dBm.
The Energy Profiler in Simplicity Studio is a software tool that works together with the Advanced Energy Monitoring (AEM) circuitry built into the WSTK main board. It allows us to measure the current consumption of the test device in real-time.
Program the test device with the SoC-iBeacon example that will broadcast a beacon every 100 ms with 0 dBm Tx power level by default, and the device will enter sleep mode (EM2) between each two broadcasting events.
The screenshot of the Energy Profiler below shows the active portion of the test device EFR32BG13. The measured average current consumption for the active portion is around 6.69 mA, and the average current consumption of the device is 181.30 uA.
The table below gives a summary of the current consumption measurements for different Tx power level.
The two-line charts below illustrate the current consumption reduced with the reducing of the Tx power level. However, there are much different about the decreasing slope for positive range and negative range. There is no notable current decreasing while reducing the Tx power from 0 dBm to -26 dBm.
As described above, the CPU core and the initialized peripherals contribute more than 4mA current consumption. Wakeup the CPU periodically with a software timer, and the measured average current of the active mode is around 4.71mA.
Based on the measured result, we can draw a conclusion that the Tx current does not affect the system current consumption significantly if Tx power setting goes low enough.
It may enough to set the Tx power level to around 0 dBm for saving power, going below that will no longer affect the system current consumption significantly.