I was curious about the actual current draw and duration of an advertisement on the WICED Sense board with the 20737S chip so I did some testing and thought I'd share since I couldn't find any similar information on the forums. Tests were done with only advertising, no scanning.
Current is calculated by measuring the voltage over a known resistance of 10 ohms in the power path.
I found that given a normal ADV packet size (shown below) and an advertising interval of 100ms, the device drew approximately 25mA of current during the advertisement event for a duration of approximately 2.5ms. It drew roughly 4.5mA on average.
Typical ADV packet setup and payload
// total length should be less than 31 bytes BLE_ADV_FIELD adv; // advertisement // flags adv.len = 1 + 1; adv.val = ADV_FLAGS; adv.data = LE_LIMITED_DISCOVERABLE | BR_EDR_NOT_SUPPORTED; adv.len = 16 + 1; adv.val = ADV_SERVICE_UUID128_COMP; memcpy(adv.data, &test_uuid_main_vsc_service, 16); // Tx power level adv.len = TX_POWER_LEN + 1; adv.val = ADV_TX_POWER_LEVEL; adv.data = bleprofile_p_cfg->tx_power_level; // name adv.len = strlen(bleprofile_p_cfg->local_name) + 1; adv.val = ADV_LOCAL_NAME_COMP; memcpy(adv.data, bleprofile_p_cfg->local_name, adv.len - 1); bleprofile_GenerateADVData(adv, 4);
The scope is set to 100mV/div with 2.5ms/div.
Single ADV pulse, 2.5ms duration.
Multiple pulses, 2.5ms in duration at intervals of 100ms.
The smaller pulses located between the larger pulses are most likely due to other operations being run. The ramp up and ramp down shown just before and after a single pulse is most likely caused by the Bluetooth stack forcing the device to sleep when not advertising.
I've attached the Excel sheet for reference, here are the images of the graphs converted from voltage samples to actual current values. The scope's ADC measures 8 bit samples which are converted using the equation in the Excel document.
Current Draw Results.xlsx 71.7 K