A momentus day!   It’s actually 2.2 meters on the tape measure.
The first time it actually worked… and then it died.
There are two BLE peers.  We are looking at the advertising side of the transaction.  The advertiser offers a ranging service.  


  1. The client-side notices the advertisement and connects to the advertiser.  
  2. If the connection succeeds, the client fires up its DW in listening mode,
  3. Then it uses BLE to ask the ranging service to range it.
  4. The advertiser fires up it’s own DW and performs a ranging cycle.
  5. It then shuts down it’s ranger.
  6. Then it updates the “range” property of the connection, which notifies the client
  7. The client now has the range

Attempt #2

After some cleaning up, and further work, it started to work.   This is only doing single-sided ranging, i.e. 1 round trip.
In the following example:
  • White   is main controller thread activity (the app)
  • Cyan is BLE activity
  • Green   is DW activity

Leave a Reply