Will ** single or one Qorvo DWM3000EVB ** be able to interact with multi several iphones 11 SIMULTANEOUSLY ? 🤔

Will single or one Qorvo DWM3000EVB ** be able to interact with multi several iphones 11 SIMULTANEOUSLY ?? :thinking:
i never found it even in nearby interaction framework video, documentation in wwdc 2021

strong text

1 Like

Hi Andrew,
Apple Nearby Interaction protocol is designed for 1:1 connections, it is for building a new “user interaction experience” in-between objects. Then my guess is that it’s not possible to interact with multiple iphones.

3 Likes

thanks ,well ** but why single or one iphone11 will be able to interact or range to multi several DWM3000EVB :thinking:regarding to the Apple Nearby Interaction framework documentation and video of wwdc 2021*** → regarding to the nearby interaction framework at 19:43 Explore Nearby Interaction with third-party accessories - WWDC21 - Videos - Apple Developer

and in contrast → that why i am asking → Will ** single or one Qorvo DWM3000EVB ** be able to interact with multi several iphones 11 SIMULTANEOUSLY ?? :thinking:

1 Like

thanks ,well ** but why single or one iphone11 will be able to interact or range to multi several DWM3000EVB :thinking:regarding to the Apple Nearby Interaction framework documentation and video of wwdc 2021*** → regarding to the nearby interaction framework at 19:43 Explore Nearby Interaction with third-party accessories - WWDC21 - Videos - Apple Developer

and in contrast → that why i am asking → Will ** single or one Qorvo DWM3000EVB ** be able to interact with multi several iphones 11 SIMULTANEOUSLY ?? :thinking:

1 Like

Hello :slightly_smiling_face: everyone , please take a look as my 2 questions below ( as Andrew 's post in this thread / article above )

In case of scenario as attach figure below–> if there are several (5) of u1 equipped iPhone has been grouped together , 5 of DWM3000EVB has been located around 5 iPhones as figure below

Question number 1.) → 5 of DWM3000EVB simultaneously start interacting / ranging to the red color iPhone number 1 , but only Simultaneous interacting / ranging to only specific single / one red iPhone no.1 , right :slightly_smiling_face: , however , there are still remain of 4 iPhones ( no. 2 - no.5 ) Need to be interacting / ranging to 5 DWM3000EVB , right ? :thinking:

Question number 2. )regarding to my Question number 1.) above → there are still remain of 4 iPhones ( no. 2 - no.5 ) Need to be interaction / ranging to 5 DWM3000EVB , how to do ? because right now during DWM3000EVB simultaneously start interacting / ranging to the red color iPhone number 1 , as the same time , the rest of 4 iPhone (no.2 - no.5 ) need to be interacting / ranging to the same 5 of DWM3000EVB which have been interacting / ranging to red color iPhone no.1 simultaneously ,too , so how the same 5 of DWM3000EVB will be able to interacted or ranged to the rest of 4 iPhones ( no.2 - no.5 ) SIMULTANEOUSLY during have been ranging / interacting to red color iPhones no.1 ?? :thinking:

cheer

1 Like

Depends on what you call “simultaneous”. Short answer: no, the DW3000 (like most other radio technologies) is not able to transmit while receiving or to receive multiple frames at the same time, so it is not able to range with multiple devices at the same time. Most likely the Apple U1 chip also does not support this, but it is not our product so I don’t know for sure.

It is however possible to use e.g a TDoA scheme to range with multiple devices sequentially, and since UWB radio is fast this can be done quickly which is typically good enough to appear as simultaneous ranging. The IEEE802.15.4 spec allows sending broadcast messages so the same frame can be received by multiple devices, and the DW3000 has special feature such as frame filtering to facilitate creating a IEEE802.15.4 RTLS system.

E.g a ranging initiating message could be sent from the DWS3000, picked up by all the iPhones at once, which could then sequentially send a response with their timing information.

I don’t know what RTLS schemes are supported by the Apple Nearby Interaction system, though afaik BLE is also required to perform some out of band communication.

Note that the DWM3000 module is just the DW3000 IC with an antenna, crystal and other components required for RF operation. It does not have it’s own microcontroller or UWB stack. What is possible in terms of ranging with multiple devices almost wholly depends on the UWB stack, i.e the firmware. The DW3000 radio chip can be quickly reconfigured to communicate with different devices in sequence, but the firmware needs to tell it to do so. It’s just a radio module, to make s full fledged Apple Nearby Interaction compatible product a microcontroller, firmware and afaik a BLE radio chip need to be added.

1 Like

very appreciate :+1: for your answer ,

regarding about what you ask about my mean of "Simultaneous " ,–> so i will describe to you about my question that i already posted in my thread above about my mean of "SIMULTANEOUS " to be more clearer

note → i already tested ranging 1 to 1 → 1:1 about 1 of DWM3000EVB range to 1 of iPhone 11WITH DWM3000EVB MOUNT ON nRF52840DK (nordic board) *. and after ranging 1:1. the result of ranging has been displayed on jLinkRttViewer , eg. → as the some of images below



above is image of ranging DWM3000EVB to iPhone11

nRF52840DK. -----> nRF52840DK

→ DWM3000EVB mount on nRF52840DK
—> jLinkRttViewer monitoring dashboard

question number 1.) my mean of " simultaneous" is as the attach image below → (( 1 of DWM3000EVB that mount on 1 of nRF52840DK )) simultaneously range to 2 or more than 2 iPhones 11 then display the ranging result to the **jLinkrttViewer ** monitoring dashboard

above image is the single result of ranging 1:1 → between 1 of DWM3000EVB to 1 of iPhone11 as the displaying of 1 object result (TWR–> “a16”:"0x4ae2 ") that display on jLinkrttViewer monitoring dashboard as the **white highlight in the image above

** regarding to this image above with my description of my question 1. ) , —> *once 1 of DWM3000EVB mount on nRF52840DK then will it be possible to simultaneously range to 2 or more than 2 iPhone 11 then display the 2 simultaneous ranging 's result to the jLinkrttViewer ?? :thinking: yes or no ??

question number 2 .) regarding to the question from the thread of 1 guy (Matthew ), i am interested what matthew posted his thread in image below

In case of scenario as attach figure above–> if there are several (5) of u1 equipped iPhone has been grouped together , 5 of DWM3000EVB has been located around 5 iPhones as figure above

→ 5 of DWM3000EVB simultaneously start interacting / ranging to the specific red color iPhone number 1 as the image above , **but only Simultaneous interacting / ranging to only specific single / one red iPhone no.1 , right :slightly_smiling_face: so i want to send the results from 5 of DWM3000EVB as the figure above to jLinkRttViewer , will the jLinkRttViewer be possible to display 5 results of ranging between 5 DWM3000EVB to 1 of specific red iPhone number 1 ?? :thinking:

Question number 3. )regarding to my Question number 2.) above → there are still remain of 4 iPhones ( no. 2 - no.5 ) Need to be interaction / ranging to 5 DWM3000EVB , how to do ? because right now during DWM3000EVB simultaneously start interacting / ranging to the specific red color iPhone number 1 , as the same time , the rest of 4 iPhone (no.2 - no.5 ) need to be interacting / ranging to the same 5 of DWM3000EVB which have been interacting / ranging to red color iPhone no.1 simultaneously ,too , so how the same group of 5 of DWM3000EVB will be able to interacted or ranged to the each of the rest of 4 iPhones ( no.2 - no.5 ) SIMULTANEOUSLY during have been ranging / interacting to red color iPhones no.1 ?? :thinking:

question number 4.) regarding to apple nearby interaction framework to display 3D AOA as the iPhone 11 SIDE as figure below , you will be able to see **ANGLE OF ELEVATION AND AZIMUTH

however → image above ,currently Decawave/Qorvo has no UWB chip or any chip serie of DWM3000 that can get 3D AOA from Iphone11 then display the result of the 3 angles XYZ to the jLinkRttViewer , am i right ? :thinking:

question number 5. ) Regarding to the image below from the official apple nearby interaction video wwdc2021 at 19:43 Explore Nearby Interaction with third-party accessories - WWDC21 - Videos - Apple Developer


regarding to the information , apple bought decawave then rename it to Qorvo and Decawave/Qorvo make u1 chip to Apple iphone ,so what i want to ask →

**do you know why the apple u1 chip will be able to simultaneously range to 5 or multiple DWM3000EVB , in contrast , → will single or one DWM3000EVB be possible to range to 2 or more 2 iPhone11 and display the multiple ranging results to jLinkRttViewer simultaneously as the thread that i posted ??

thanks

You still haven’t answered what you mean by simultaneously except in the most literal meaning which you’ve already been told isn’t possible.

It isn’t possible to range two two devices at exactly the same time. You can however range to two different devices one after the other. How long after depends on the exact protocol used but can be a very short time period. If these two measurements are taken close enough together than you can treat them as if they were performed simultaneously. How long “close enough” is in terms of time depends on the accuracy needed and the speed at which things are moving.

So when you say simultaneously how long a time period can your application cope with between two measurements to still treat them as being effectively simultaneous?

For example my initial system measured range to 8 anchors. It took 10 ms to make all of these measurements. For stationary or slow moving objects assuming these measurements were simultaneous worked fine. Once I started driving at 30 mph the resulting path would show a speed dependent offset from the correct location depending on when each measurement was last updated. So if all I wanted to track was a person walking I could consider the measurements to be simultaneous even through they technically weren’t. For higher speed objects while it still worked the accuracy decreased significantly due to the simultaneous measurement assumption no longer being effectively true.

As to whether a specific application like jLinkRttViewer can display the results is a different matter. No display application or even device firmware will expose every possible capability of the radio. That is why they supply drivers, source code and documentation, so you can create your own application and firmware to do exactly what you want. The supplied system is indented as a basic demonstration platform not an end product, you may well have to modify some code to get the functionality you want.

On question 2, Yes this is possible with the correct firmware. See previous comments on the potential need to modify software/firmware. The further you get from a simple point to point demo application the more likely you’re going to need to start changing things.

On question 3, see previous comments on “simultaneous”. Only one DWM can talk to one iphone at a given time. But you can cycle through these possible combinations fairly quickly. So how long a time period can you cope with before you can’t consider it simultaneous? This is entirely dependent on your application and how fast you expect things to be moving.

1 Like

:+1:
very thanks , it is very clear answer
i recap your answer in order to correct my understanding with you

Tracking the movement of object as human with iPhone11 up , it will be almost simultaneous , by cycling the anchor (DWM3000EVB each to each from DWM3000EVB number 1 to DWM3000EVB number 5 as my image below)
5DWM3000EVB

question 1 → as you said , you totally set 10 ms to initiate or start ranging 8 anchors , so you must range to tags , right ? so how many tags do you have ?

question 2 → as you said , you totally set 10 ms to initiate or start ranging 8 anchors , so the cycle of each anchor should be 10ms divide by 8 anchors then each of anchor must take duration time for broadcasting the signal about 1.25 ms , so you start broadcasting from anchor number 1 to anchor 8 with broadcasting time of each anchor 1.25 ms, once the first anchor 1 start broadcasting until 1.25 ms then stopping broadcast → then anchor 2 start broadcasting , then loop or do cycling as like this until complete until anchor 8 , then start the anchor 1 broadcasting again , am i understanding what you did or explain the about " cycle" correctly ?

question 3 → for the Simultaneous as i said , i understood clearly about your answer , that it is impossible that DWM3000EVB can broadcast / transmit while receiving , so if setting up each anchor ( 8 anchor ) at the same time of start transmitting / broadcasting the signal → the iPhone11 won’t be able to connect or interact to 8 anchor at the same SPECIFIC TIME , am i understanding what you explain correctly ?

question 4. -->regarding to my question 3. , my mean of simultaneous is → setting up the transmitting time at the same time of all anchor , so i already answered you , and it won’t be possible to do it , am i right ?

question 5 .–> if in the case as the attach image in my comment in this thread , with **the stationary 5 DWM3000EVB to track or range the movement of 5 of iPhone11 with the speed of human movement , it must be almost simultaneous tracking , when i run the cycle of broadcasting from DWM3000EVB number 1 to number 5 , as you said , so should i set up 10 ms to cycle all 5 DWM3000EVB as you did with 8 anchor ?

question 6.–> if the group of 5 DWM3000EVB is moving as 10 to 20 mph and 5 of iPhone11 move as 5 to 10 mph , in this case , once the 5 of DWM3000EVB start running cycle of transmitting in 10 ms, is it still almost simultaneous tracking ?

question 7.–> regarding to your answer , as you said , the only one of DWM3000EVB can talk to one iPhone at a given time → however i wonder that why the only one iPhone 11 can talk to many / several accessories (DWM3000EVB ) at the given time ( same time ) , according to the wwdc 2021 official video documentation at time 19:43 in the attach link Explore Nearby Interaction with third-party accessories - WWDC21 - Videos - Apple Developer.
at the image below

do you know about it ? please let me know ( maybe the difference between U1 chip of iPhone 11 and UWB chip in DWM3000EVB )

Keep in mind I was talking about my specific application and general capabilities. I’m not using iPhones and so have a lot more flexibility in the radio protocol used.
For my specific system the largest we’ve put together is 58 anchors (not all used at once, it covers a big area) and 5 tags. Due to our required update rate 5 is the maximum number of tags but that’s a design choice due to other constraints rather than a fundamental limit.

I think you’ve got it about right. Tag 1 ranges to anchor 1 (1.25ms). Tag 1 ranges to anchor 2 (1.25ms) … This repeats until tag 1 ranges to anchor 8 which finishes 10ms after the first range started. That is what I term 1 cycle. I run a couple of these cycles and then tag 2 gets a turn. The reason for running several cycles is that it gives you a chance to detect and throw out bad range measurements. At the simplest level you could take 3 measurements and only use the middle (or median) result of the 3. It’s a very quick and simple way to reject the occasional bad data point. Or at least it is if stationary or close to it, when moving you need to switch to some more complex ways to allow for the fact you expect the ranges to change.
Again this is simply the approach we chose to take for our non-iPhone application.

If one device is transmitting then no other device on the same channel can be transmitting at the exact same time. It doesn’t matter which device or who it’s talking to, only one transmitter at a time.
If using a two way range system this normally means that once a range measurement has started then nothing else can happen until that measurement has finished (or failed / timed out).
You can use a radio protocol that allows a single packet to be used to initiate ranges to multiple devices at fixed time offsets, this improves radio efficiency but requires the ranging protocol to be designed to allow for this.

Correct. They can all receive the same packet but only one can transmit at a time. They can all reply but there needs to be a mechanism in the radio protocol for taking turns to do this.

It depends on how fast you can measure the ranges given the limitations of the iphone protocol. But you should aim to cycle through them as fast as possible to minimise the possible movement between ranges.

That’s a maximum relative velocity of 30mph or around 13 m/s. So in 10 ms you’d have a potential range change of up to 13 cm. So very roughly your accuracy is going to be up to around 10 cm worse when moving than when stationary. Is this acceptable?
If not then you either need to measure faster (if possible) or you keep some history for each range measurement and then use interpolation and filtering to adjust for the time differences between measurements.

Again it depends what you mean by the same time. Apple could mean same time in terms of user perception. Or they could mean a uni-directional broadcast, the phone can talk to thousands of things at the same time, that doesn’t mean they can all reply at the same time. As indicated above it is possible for a single transmission to initiate multiple ranges as long as the protocol allows for a way to determine who gets to reply when.
I use both a group range start message and a message I call roll call, every device in the system who hears it will send a reply. They allow me in theory to talk to over 200 devices simultaneously. But they include a structure that ensures that those devices don’t all try to reply at the same time.

1 Like

great ,very thanks , your all answers are very clear about all of my 7 questions :+1:

I recap your answer in order to correct my understanding with you with only 1 question

QUESTION .*** —> regarding to the attach image below

Regarding to attach image above , if 5 iPhone11 as the group of 5 tags and ** STATIONARY 5 DWM3000EVB as the group of 5 anchors that surrounding the group of 5 iPhone11

in order to range all 5 of iPhone11 with all 5 of DWM3000EVB regarding to the description / demonstration of your answers

for exampleif it took 10 ms to range with 5 DWM3000EVB to 1 iPhone11 ( or i set the 10 ms to range from all of 5 DWM3000EVB to 1 iPhone11 , so for ranging from 1 DWM3000EVB to 1 iPhone11 , it will take 2 ms ( 10 ms divide by 5 DWM3000EVB )

i will make the cycle of broadcasting as below

cycle one no 1. (first cycle ) {
-DWM3000EVB number 1 start ranging to red iPhone number 1 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 2 start ranging to red iPhone number 1 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 3 start ranging to red iPhone number 1 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 4 start ranging to red iPhone number 1 ( with duration time 2 ms ), after finish this then -->,
-DWM3000EVB number 5 start ranging to red iPhone number 1 ( with duration time 2 ms ), now , this is complete of 10 ms or complete 1 cycle after 5 time of ranging
}
after finishing (first cycle ) cycle one no 1. , i should be repeating 3 times of (first cycle ) in order to the average result as the median as your answer → then

i start the cycle two no.2.( second cycle ) {
-DWM3000EVB number 1 start ranging to green iPhone number 2 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 2 start ranging to green iPhone number 2 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 3 start ranging to green iPhone number 2 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 4 start ranging to green iPhone number 2 ( with duration time 2 ms ), after finish this then -->,
-DWM3000EVB number 5 start ranging to green iPhone number 2 ( with duration time 2 ms ), now , this is complete of 10 ms or complete 1 cycle after 5 time of ranging
}
after finishing ( second cycle ) cycle two no 2. , i should be repeating 3 times of ( second cycle ).in order to the average result as the median as your answer → then

i start the cycle three no 3.( third cycle ) {
-DWM3000EVB number 1 start ranging to red iPhone number 3 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 2 start ranging to red iPhone number 3 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 3 start ranging to red iPhone number 3 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 4 start ranging to red iPhone number 3 ( with duration time 2 ms ) , after finish this then -->,
-DWM3000EVB number 5 start ranging to red iPhone number 3 ( with duration time 2 ms ), now , this is complete of 10 ms or complete 1 cycle after 5 time of ranging
}
after finishing ( third cycle ) cycle three no 3. , i should be repeating 3 times of ( third cycle ). in order to the average result as the median as your answer → then

i start the cycle four no 4.(fourth cycle ) {
-DWM3000EVB number 1 start ranging to blue iPhone number 4 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 2 start ranging to blue iPhone number 4 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 3 start ranging to blue iPhone number 4, ( with duration time 2 ms ) after finish this then → ,
-DWM3000EVB number 4 start ranging to blue iPhone number 4 ( with duration time 2 ms ), after finish this then -->,
-DWM3000EVB number 5 start ranging to blue iPhone number 4 ( with duration time 2 ms ), now , this is complete of 10 ms or complete 1 cycle after 5 time of ranging
}
after finishing (fourth cycle ) cycle four no 4. , i should be repeating 3 times of (fourth cycle ) in order to the average result as the median as your answer → then

i start the cycle five no 5.( fifth cycle ) {
-DWM3000EVB number 1 start ranging to black iPhone number 5 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 2 start ranging to black iPhone number 5 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 3 start ranging to black iPhone number 5 ( with duration time 2 ms ), after finish this then → ,
-DWM3000EVB number 4 start ranging to black iPhone number 5 ( with duration time 2 ms ), after finish this then -->,
-DWM3000EVB number 5 start ranging to black iPhone number 5 ( with duration time 2 ms ), now , this is complete of 10 ms or complete 1 cycle after 5 time of ranging
}
after finishing ( fifth cycle ) cycle five no 5. , i should be repeating 3 times of ( fifth cycle ) in order to the average result as the median as your answer

after finishing of 5 cycles above, then repeating back to do the same task from cycle one ( first cycle ) to → until cycle five ( fifth cycle ) again and looping or cycling as like this ,infinitely

so , ** regarding to this QUESTIONam i right about " cycle " ? or am i understanding what you explain correctly in order to range 5 DWM3000EVB with 5 iPhone11 regarding to the attach image above ?

Yes, that’s the basic idea. How long this will actually take I have no idea, that will depend on the protocols that the iPhone uses for ranging.

Also keep in mind that my system was designed around this method of measuring ranges so doing things in that order was efficient. Depending on the iPhone protocol it may be more efficient to instead measure the range from phone to DWM 3 times in a row and then move on to the next DWM rather than measuring once to each DWM and then repeating 3 times. This isn’t as good for dynamics but if there is a large setup time to establish which range to measure next then it could be significantly more efficient.

Someone previously mentioned that the iPhone needs to use bluetooth as a side channel to configure the ranging process between a phone and target. If this is the case then one potential improvement could be to interleave phones. e.g. at the same time as phone 1 is ranging to DWM1 you could be using bluetooth to set up phone 2 ranging to DWM3, Phone 2 then ranges to DWM3 while phone 1 is set up to range to DWM2 etc…
Assuming this bluetooth setup is needed then a system like this could potentially give a significant performance boost at the cost of increased complexity. I’d start off without it but it may be something worth keeping in mind if a more simple approach isn’t good enough.

1 Like

great ,very thanks :+1:
regarding to your answer → yes , the iphone11 need to deploy the bluetooth to configure the ranging process between a iPhone11 and target (DWM3000EVB)


regarding to the attach image above, your answer ,and to correct my understanding with you

first cycle {
DWM3000EVB number 1 range to red iPhone11 number 1 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 2 range to red iPhone11 number 1 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 3 range to red iPhone11 number 1 ( keep ranging 3 time to get median value) ,then ,
*DWM3000EVB number 4 range to red iPhone11 number 1 ( keep ranging 3 time to get median value) ,then *
DWM3000EVB number 5 range to red iPhone11 number 1 ( keep ranging 3 time to get median value) ,and finish ranging first cycle
}

second cycle {
DWM3000EVB number 1 range to green iPhone11 number 2 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 2 range to green iPhone11 number 2 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 3 range to green iPhone11 number 2 ( keep ranging 3 time to get median value) ,then ,
*DWM3000EVB number 4 range to green iPhone11 number 2 ( keep ranging 3 time to get median value) ,then *
DWM3000EVB number 5 range to green iPhone11 number 2 ( keep ranging 3 time to get median value) ,and finish ranging second cycle
}

third cycle {
DWM3000EVB number 1 range to red iPhone11 number 3 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 2 range to red iPhone11 number 3 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 3 range to red iPhone11 number 3 ( keep ranging 3 time to get median value) ,then ,
*DWM3000EVB number 4 range to red iPhone11 number 3 ( keep ranging 3 time to get median value) ,then *
DWM3000EVB number 5 range to red iPhone11 number 3 ( keep ranging 3 time to get median value) ,and finish ranging third cycle
}

fourth cycle {
DWM3000EVB number 1 range to blue iPhone11 number 4 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 2 range to blue iPhone11 number 4( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 3 range to blue iPhone11 number 4 ( keep ranging 3 time to get median value) ,then ,
*DWM3000EVB number 4 range to blue iPhone11 number 4 ( keep ranging 3 time to get median value) ,then *
DWM3000EVB number 5 range to blue iPhone11 number 4 ( keep ranging 3 time to get median value) ,and finish ranging fourth cycle
}

fifth cycle {
DWM3000EVB number 1 range to black iPhone11 number 5 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 2 range to black iPhone11 number 5 ( keep ranging 3 time to get median value) ,then ,
DWM3000EVB number 3 range to black iPhone11 number 5 ( keep ranging 3 time to get median value) ,then ,
*DWM3000EVB number 4 range to black iPhone11 number 5 ( keep ranging 3 time to get median value) ,then *
DWM3000EVB number 5 range to black iPhone11 number 5 ( keep ranging 3 time to get median value) ,and finish ranging fifth cycle
}

after finishing of 5 cycles above, then repeating back to do the same task from first cycle to → until fifth cycle again and looping or cycling as like this ,infinitely

QUESTION → am i understanding what you explained correctly ??

regarding to your answer as attach image above ,i do not understand clearly the way , you guide me to range DWM and phone , however *** yes , the bluetooth is needed to establish the data link from iPhone and DWM3000EVB regarding to nearby interaction Apple framework

Yes, you have that correct. But please keep in mind that this is simply one possible way of doing this. Don’t tie yourself into a system just because some random person on the internet suggested it, If you think of a change or different way of doing this that works better for you or seems more logical for your use case then do that.

With regards to my suggestion at the end - You can only have one UWB communication at a time but bluetooth is a completely different radio technology and frequency band and so you can have UWB and bluetooth both operating at the same time. The idea was to exploit this to gain a speed up, have one pair of devices perform the bluetooth setup while a different pair was performing the UWB range measurement.
Without this your time for n ranges one at a time would be n*(bluetooth setup time + UWB range time).
Or for sets of 3 ranges n*(bluetooth setup time + 3UWB range time).
With this trick the time needed would be reduced to bluetooth setup time + n
UWB range time. (Assuming UWB range time is longer that bluetooth setup time, if not then swap the two over)

1 Like

Great ,very thanks , AndyA :+1:
have a nice day :+1:

Great discussion, thanks Andy!

About the NI protocol, of what i have understood so far: an accessory is declaring and advertising itself over BLE. For example Accessory can indicate its “preferred update rate”, but no guarantee iphone would follow. IPhone is collecting those advertisements over BLE or it can also collect that info from other out-of-band mechanism and then, it is the iPhone who decides the set of parameters and to which accessory it will range. Iphone transmits this set of parameters over BLE and then TWR begins.

It is very important to understand, that in terms of configuration, accessory is always getting instructions from iPhone. It is also important to understand the target of this Apple program: the target is to bring physical user-experience in between iPhone an accessory. Nothing more.

Attempts to use the NI with 3rd party accessories program for something which it was not designed for would fail or would not give your customers a desired user-experience.

I think potentially rotation can be done on the iPhone side, so all iphones application synced and do ranging to accessories in order.

I do not see too much problems if all iphones would select different single accessory and would start ranging, then will rotate ranging to those accessories. The reason for that is different sessions, different encryption keys etc which iPhones would randomly select. But this shall be an applications on iphone which would do that logic.
Good luck

1 Like

hello :slight_smile:
you

yes , and you too , yes , very great , thanks for the answers from AndyA and you :slight_smile:

regarding to image above ,very thanks from your guideline answer from other thread as well :+1:

regarding to image above , i start having the questions
, i am trying to look for the" preferred update rate" in the code in segger embed studio , the code from Qorvo contains many folders and many files in order to build the accessories interacting to iPhone , i am trying to see where is it ? ,–> ***because i only flash or upload the Qorvo 's pre compile HEX file to 1 of DWM3000EVB+nRF52840DK then only ranging 1:1 iPhone :DWM3000EVB ,–> however when needing to start writing the code for ranging or rotate or cycle the ranging from 5 iPhone to 5 DWM3000EVB as the image below ,—> need a to understand the demo Qorvo code and also code of bluetooth iPhone side to delay or set time to cycle ranging to the 5 DWM3000EVB as well
5DWM3000EVB

question 1 , as the demo download accessories 's Qorvo code has contains many folders and files , where is the “preferred update rate” code line or file on the side of Qorvo accessories as the photo above ?

question 2. as the photo above , as you said —>" but no guarantee iphone would follow , IPhone is collecting those advertisements over BLE or it can also collect that info from other out-of-band mechanism and then " ---- my question 2. → what is the " other out-of-band mechanism " ?

as you said as photo below , →

yes , maybe can not range from DWM3000EVB to iPhone because as you said → “accessory is always getting instructions from iPhone” , so it should range from iPhone to DWM3000EVB

question 3 . regarding to 2 photos below
5DWM3000EVB

as you said in the photo above about user experience

so the question 3.–> do you think as test ranging 5 iPhone to DWM 30000EVB ,it should be in -->“bring physical user-experience in between iPhone an accessory” ?

question 4. regarding to photo above
yes , as your guideline answer . it should range from iPhone to DWM3000 in the order because Apple already gave the instructions to range from iPhone to multiple Accessories from the WWDC2021 demonstration Apple official video ,

it should be like this below

regarding to the attach image above, your answer ,and to correct my understanding with you

first cycle {
Red iPhone 1 number 1 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Red iPhone 1 number 1 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Red iPhone 1 number 1 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Red iPhone 1 number 1 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Red iPhone 1 number 1 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging first cycle
}

second cycle {
Green iPhone11 number 2 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Green iPhone11 number 2 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Green iPhone11 number 2 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Green iPhone11 number 2 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Green iPhone11 number 2 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging second cycle
}

third cycle {
Red iPhone11 number 3 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Red iPhone11 number 3 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Red iPhone11 number 3 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Red iPhone11 number 3 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Red iPhone11 number 3 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging third cycle
}

fourth cycle {
Blue iPhone11 number 4 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Blue iPhone11 number 4 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Blue iPhone11 number 4 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Blue iPhone11 number 4 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Blue iPhone11 number 4 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging fourth cycle
}

fifth cycle {
Black iPhone11 number 5 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Black iPhone11 number 5 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Black iPhone11 number 5 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Black iPhone11 number 5 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Black iPhone11 number 5 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging fifth cycle
}

after finishing of 5 cycles above, then repeating back to do the same task from first cycle to → until fifth cycle again and looping or cycling as like this ,infinitely

am i understanding the rotation / cycle as what you explained correctly* ??**

very great ,thanks AndyA :slight_smile:

it should range from iPhone11 to DWM3000EVB as your guideline answer as below in order to understand and repeat my understanding and correct it as your guideline answer

first cycle {
Red iPhone 1 number 1 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Red iPhone 1 number 1 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Red iPhone 1 number 1 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Red iPhone 1 number 1 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Red iPhone 1 number 1 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging first cycle
}

second cycle {
Green iPhone11 number 2 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Green iPhone11 number 2 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Green iPhone11 number 2 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Green iPhone11 number 2 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Green iPhone11 number 2 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging second cycle
}

third cycle {
Red iPhone11 number 3 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Red iPhone11 number 3 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Red iPhone11 number 3 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Red iPhone11 number 3 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Red iPhone11 number 3 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging third cycle
}

fourth cycle {
Blue iPhone11 number 4 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Blue iPhone11 number 4 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Blue iPhone11 number 4 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Blue iPhone11 number 4 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Blue iPhone11 number 4 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging fourth cycle
}

fifth cycle {
Black iPhone11 number 5 range to DWM3000EVB number 1 ( keep ranging 3 time to get median value) ,then ,
Black iPhone11 number 5 range to DWM3000EVB number 2 ( keep ranging 3 time to get median value) ,then ,
Black iPhone11 number 5 range to DWM3000EVB number 3 ( keep ranging 3 time to get median value) ,then ,
*Black iPhone11 number 5 range to DWM3000EVB number 4 ( keep ranging 3 time to get median value) ,then *
Black iPhone11 number 5 range to DWM3000EVB number 5 ( keep ranging 3 time to get median value) ,and finish ranging fifth cycle
}

after finishing of 5 cycles above, then repeating back to do the same task from first cycle to → until fifth cycle again and looping or cycling as like this ,infinitely

i only flash or upload the Qorvo 's pre compile HEX file to 1 of DWM3000EVB+nRF52840DK then only ranging 1:1 iPhone :DWM3000EVB ,–> however when needing to start writing the code for ranging or rotate or cycle the ranging from 5 iPhone to 5 DWM3000EVB as the image below ,—> need a to understand the demo Qorvo code and also code of bluetooth iPhone side to delay or set time to cycle ranging to the 5 DWM3000EVB as your guideline answer :slight_smile: