BLE Proximity detection using rssi. Xiao nRF52840


The question to the forum is do you think the below is possible? and is this the right way to go about solving this project?

I’m looking to make a system of devices using multiple Xiao nRF52840 boards, there will be two types of devices(different mainly by software) the first is the “parent” the second is the “child”

key design features:
Low power (must have a non human contact design life of 10+years)
must be small and light weight, so small battery. ideally smaller than 1000mah

Firstly for the child device I wish to advertise a unique id once per second or so. However to save battery for large times of the year it can be switched to full deep sleep with no advertising at all. this switching needs to be done over BLE or Bluetooth.

secondly the Parent device will have two active modes first will be the same at the child giving unique id. the second mode will listen for the children and if the rssi indicates they are within a fixed distance of say approx. 2m then that childs id is recorded.

any further guidance and or examples of something similar would be appreciated


Sounds like a fun Project…

Hi there, and welcome. At first blush I would say NO. to this part.
and this.

You can do this though easy enough;

That’s my .02 worth.
GL :slight_smile: PJ

Hi @PJ_Glasso,

thanks for your comments, what are the main reasons for for your two NO’s?
Xiao nRF52840 is not low power enough? or not reliable?


for switching modes, it’s not possible to have it listen for a message to say mode 1,2or3? this switching would likely only happen 3-4 times per year?


Hi there,
Mainly the TEN years , have you put the numbers in the online battery life sizer?

Xiao nRF52840 is plenty Powerful enough. That’s not a concern, nothing in the scenario you provide is outside the realm of the chip.
There is no way I know of or have seen to be able to turn on a BLE receiver via the remote BLE radio. That being said you could just advertise a beacon or some such when the IO is dictating it (broadcasting if you will the data).
Typically You would start at the Sensor Node and work backwards.
The Heartbeat is good for keep alive status, adding a watchdog timer if logic goes off-line.
We had similar WIRED life Safety in the FAB’s in OR. built into the SCADA systems monitoring hydrogen and other UHP gases to a master display.
GL :slight_smile: PJ

you could institute Deep sleep and via RTC wakeup interrupt and have pre determines times & date window for system to come on-line and transmit (+/- some drift time) or connect to a central or master. The RTC batteries are closer to lasting years BTW, so that would be one approach you could take.