KB: RSL15 Power Consumption Evaluation Guide


[RSL15 - Knowledge Base]


Table of Contents


Power Profiler

The spreadsheet tool included in the topic link below was designed to allow people using the RSL15 for its Ultra-Low Power BLE capabilities to generate an estimated average current/power consumption and battery life, given the user’s specific operating conditions and our models, created using samples captured from a functional RSL15 firmware implementation.

This tool will allow users to specify the Operating Mode, Advertising/Connection Interval, VBAT Voltage, Tx Payload, and Tx Power, which will then be fed into our models to generate an estimate of the average current and power consumption that will be observed during firmware execution.

RSL15 Power Consumption & Battery Estimator


Measurement Equipment Setup

It is important to ensure that the Source Meter you are using has the required specifications to accurately capture and profile the advertising/connection events and sleep current.

The RSL15 can reach a minimum current of ~50nA while in BLE Sleep mode, and a maximum current of ~24mA while performing Transmit operations. This means that the Source Meter should be able to seamlessly auto-range its measurements to ensure properly captured data points, as well as capture current fluctuations as low as 50nA.

It is also important that the sampling rate of the Source Meter should capture an appropriate resolution to ensure that the advertising/connection events are characterized in their entirety.

Once execution of the firmware is started, the Source Meter can be configured to the expected VBAT voltage, and used to capture the current consumption waveform over at least one advertising/connection interval. This waveform can then be analyzed and dissected to determine the relationship between the various model inputs.


Hardware Setup

To achieve the optimal current consumption, the following jumper configurations and hardware setup can be used on an RSL15 QFN Evaluation Board:

Jumper Connection
VBAT-SEL Removed
VDDO-EN 1 + 2
DEBUG-EN All Off
VBAT Source Meter
GND Source Meter


Software Setup

The sample firmware used to build the models within the RSL15 Power Consumption & Battery Estimator was “ble_peripheral_server_sleep”, available within the RSL15 Software CMSIS Pack. The sub-sections below provide an overview regarding how the sample source code can be changed to achieve various operating conditions, allowing user to run real-world tests that align with the estimate configurations in the models.

Advertising Type

The sample application is by default configured to make use of Legacy Advertising type (None). To enable the Extended Advertising Type, you must set the ‘type’ variable within the ‘struct gapm_adv_create_param advParam’ structure to the ‘GAPM_ADV_TYPE_EXTENDED’ macro. To select the Physical Rate at which the Extended Advertising will occur, you must add the ‘second_cfg’ variable within the ‘struct gapm_adv_create_param advParam’ structure, and assign the ‘phy’ variable to the respective macro value.

Connected Physical Rate

While operating as a Peripheral device in a peer connection, the Central device will decide the default Physical Rate that is used (although it may consider the Peripheral’s preferred rates if provided). The Peripheral can request an update the the Physical Rate by sending the ‘GAPC_SET_PHY_CMD’ to the BLE Stack, ensuring to include the respective structure and Physicals Rate macros as the command parameters.

Advertising Interval

The Advertising Interval can be set by specifying a value within the ‘struct gapm_adv_create_param advParam’ structure, specifically within the internal ‘prim_cfg’ structure’s ‘adv_intv_min’ & ‘adv_intv_max’ variables. It should be noted that these values define the Interval in steps of 1.25ms

Connection Interval

While operating as a Peripheral device in a peer connection, the Central device will decide the default Connection Interval that is used (although it may consider the Peripheral’s preferred interval if provided). The Peripheral can request an update the the Connection Interval by sending the ‘GAPC_PARAM_UPDATE_CMD’ to the BLE Stack, ensuring to include the respective structure and Connection Interval values within the command parameters.

Advertising Payload

The Advertising Payload can be configured within the ‘void PrepareAdvScanData(void)’ function of the sample project. The arrays prepared within this function will be passed to the BLE Stack during configuration via the ‘GAPM_SET_ADV_DATA_CMD’ command and parameters.

Connected Payload

The Connected Payload can be setup by redefining the characteristic size of the Custom Service that is defined within the GATT Database of the sample project. After updating the sizes as appropriate, the notifications that are sent will conform to the new parameters.

If you would like to send a Characteristic update in a single TX Packet that is larger than 27bytes, you will also be required to negotiate the Data Length Extension feature with the Central device.

TX Power

The TX Power of the application is set by changing the variable that is passed into the ‘uint32_t Sys_RFFE_SetTXPower(int8_t target, uint8_t lsad_channel, bool pa_en)’, specifically the ‘target’ value.

It should be noted that the TX Power set within this function will affect both the Advertising and Connected TX Power.


Evaluating Current Measurements

Each of the model input parameters has a direct impact on the current consumption and duration of certain parts of the advertising/connection events. To generate each of the model components, these events were dissected and a linear equation was generated for each of its dependent inputs. The estimates provided by each part of the model will then be combined to create an overall average current/power estimate for the specific operating conditions.

A graphical representation of each of the events (Connectable/Non-Connectable Advertising & Connect) and their given dependencies is available below, as well as in the respective sheet of the spreadsheet.


2 Likes