System_ON_Sleep of XIAO BLE

I have considered a method to advertise a small amount of data (up to 24 bytes) added to the MSD(Manufacturer Specific Data) without connecting to Central. Peripheral advertises with data on them unilaterally, and Central retrieves it from the scan data without connection.

The experimental conditions were
BSP : Seeed nRF52 Boards 1.1.1
Board : Seeed nRF52 Boards / Seeed XIAO nRF52840 Sense
System ON Sleep : Using RTOS delay()
Task : Send 8 bytes of data every 10 seconds
Current reduction measure : Turn off the blue LED used for BLE, On-chip regulator is in DCDC mode, On-board Flash is OFF
Measurement: 3.00V applied from pppk2 to 3V3 pin of XIAO

The current consumption for normal connection and transmission was 261uA, and a significant reduction of 20uA when transmitting only by advertisement.
In this experiment, Peripheral advertises 10 times every 10 seconds to ensure that Central captures Peripheral in a reliable scan. The number of times is a tradeoff between reliability of data transfer and current consumption.

In the previous experiments I have posted, I used WFI() and TRC interrupt for System ON Sleep, but from this experiment, I used RTOS’s delay(), which consumes much less current.
While delay(), Peripheral consumes almost no current other than RTOS current since there is no BLE connection.
I think 4uA is comparable to Deep Sleep.

nRF52_XIAO_LightSleep_AdvScan.zip (4.4 KB)

2 Likes