Longer range distance measurement synchronisation.

NRF52833 with NCS 2.4.0

I've added basic Distance Measurement support by adapting the nrf_dm example, but I'd like to get rid of the scanning and I also want to extend the range to a reliable 100ft (33m).

I found the RTT (round trip time) option which looks useful. My distance measurement doesn't need to be precise. But I would like to find a more long distance communication method to to set up the DM synchronisation.

My product currently uses periodic adverts with CODED phy to send 12 periodic adverts per second which gives me an amazing range of over 300m. (see pic below)

Since periodic adverts are sent with a fixed interval, they seem like an ideal way to maintain DM synchronisation between senders and receivers. However I can't find a way to get a callback on the sender when the periodic advert is sent. 

I get a callback when the periodic advert is received, so maybe I can use this to call dm_request_add on the receiver, but I also need to call dm_request_add on the sender at the same time.

I tried using the bt_le_ext_adv_cb.sent callback. But it's never called (It actually fires when the advertising set ends, rather unhelpfully, and rather poorly named!)

Is there a way to get a callback when a periodic advert is sent? 

Or is there another way to setup the DM synchronisation with a similar range to CODED periodic adverts?

My receiver is pre-installed to know the address of it's sender. And it's only the receiver that needs to know the distance. 

There are callbacks that look promising for PAWR (periodic advertising with responses) which I've not tried yet. 

Is there an easy way to do this that I've just not considered?

Thanks for your help (and for making this fantastic library!)

Kind regards,

-Jason

  • So for the Bluetooth range, we test several 100 meters with the standard DKs in line of sight,  Comparing range with Bluetooth Low Energy of the nRF21540 DK and the nRF52840 DK. The range will be highly depending on the environment so walls and similar will shorten it. Same for the PCB design and the antenna.

    Don't use phase based to estimate the range of the RTT as that will be overly pessimistic.

    You can use other synchronization mechanisms if you want, proprietary protocols will also work as long as you can get the synchronization good enough. We only offer the Bluetooth scanner/advertising sample but as the ranging is proprietary running in the timeslot API you can use any radio standard for the synchronization.

  • Thanks, I'd not seen those range tests before. Unfortunately I cannot use the nrf21540. I ordered the (hopefully) final PCBs this week. So I have to work with what I have.

    I repeated the test. This time being more careful to maintain line of sight. and got results upto 50m. Which is probably as far as I walked. It was too bright to use my laser pointer to verify the figures unfortunately.

    I will continue testing but I think it's unlikely I can promise my customers any more than 10m (30ft) reliably. Assuming they put it in their pocket etc. But it's still a useful feature, so I will try to include it.

    Thanks again for your help. It's much appreciated. 

    -Jason

Related