Clarification needed: Controller vs. Controlee roles (Initiator/Responder) and Log Interpretation using QM33120W DK

Hi everyone,

I am currently working on my Master’s Thesis using the Qorvo QM33120W DK, and I am trying to clarify some terminology for the final documentation. We have a setup involving an Anchor (fixed) and a Tag (mobile), but we are facing a contradiction between the documentation, our assumptions, and the log outputs regarding the “Controller” and “Controlee” roles.

Here is the situation:

  1. The Documentation vs. Our Assumptions
    According to the Developer Manual: “There can be at most one initiator (the controller) and rest of the devices are configured automatically as responders (the controlees).”
    Initially, we assumed that the Anchor acts as the Initiator (and therefore the Controller), while the Tag acts as the Controlee.

  2. The Log Outputs
    However, our serial logs output lines like this: controller distance: 5.26 m angle: 0

In our QM33120W hardware setup, the Tag does not measure the Angle of Arrival (AoA), so its angle measurement is always 0. This log implies that the Tag is actually the Controller.

My questions to the community are:

Question 1 (Role Mapping): In a standard Anchor-Tag architecture using the QM33120W DK (e.g., FiRa standard / TWR), which physical device is supposed to be the Controller (Initiator) and which is the Controlee (Responder)? Is it standard practice for the mobile Tag to be the Initiator/Controller?

Question 2 (Log Interpretation): How should we strictly interpret the log string controller distance: 5.26 m angle: 0?

Option A: Does it mean “The Controller performed the measurement and calculated an angle of 0”? (Which would confirm the Tag is the Controller).

Option B: Does it mean “The Controller is located at a distance of 5.26m and an angle of 0 relative to the device making the measurement”?

Having an official clarification on this will greatly help us accurately describe the system architecture in our academic research.

Thank you very much in advance for your support!

In FiRa TWR, we are typically talking about initiators (which are usually controllers) and responders (which are usually controlees).

Anchors and tags are referring to fixed objects (anchors, usually some sort of infrastructure) and mobile objects (tags, usually some small battery powered device).

As an example, sometimes customers use anchors as initiators to range to multiple tags (1 to many ranging) and other times customers will use tags as initiators to save on battery as the responder role requires to be in RX mode for a longer period of time which also consumes current. It is up to you to decide which role makes more sense as a function of scheduling, battery life, etc.

Both initiators and responders can do AoA as long as they have a design with an AoA antenna.

To answer your question about the log interpretation, it will be helpful if you can share such logs.

I am interested in the choices in the anchor/tag topologies

Can multiple anchors range 1-many with the same tags concurrently?!

This is magnified on the tag based scenario, as one would expect more tags than anchors, so can multiple tags range with the same set of anchors 1-many concurrently?

Hi again,

Thank you for the explanation regarding the Anchor/Tag and Initiator/Responder roles. That clarifies our system architecture documentation.

Regarding my second question about the log interpretation, forum restrictions for new users prevent me from attaching the full zip log files. Instead, I have extracted the specific system configuration and a single ranging sequence from our testing at a 5-meter distance operating on Channel 5.

For context on this specific test:

  • Initiator (Controller): QM33120 (Node 0xb8894211) - Configured as our Tag (no AoA measured here).
  • Responder (Controlee): QM33110 (Node 0x23422481) - Configured as our Anchor.
  • FiRa Configuration: Qorvo UWB Explorer Default Settings + Channel 5.

Here is the console output demonstrating the discrepancy during a single measurement cycle:
FiRa configuration
Session ID: 42
Session Type: 0 RangingSession
UWB Channel: 5
Preamble Code: 10
Ranging Frame: SP3
Peer Mode: OneToMany
Block Duration: 200
Slot Duration: 2400
Num Of Slots: 25
Vupper64: 0x0605040302010807
Ranging Round Usage: 2 DS_TWR_Deferred
PRF Mode: 0 BPRF
SFD: 2
Round Hopping: 0
Report Angle: 1
Schedule Mode: 1 TimeScheduled
Link Layer Mode: BypassMode
CAP Size Range: 1304
Num Of STS segments: 1
STS Length: 1 StsLength64
PSDU Rate: 0 DataRate_6_81Mbps

Device 0 information & configuration
Device Name: Node 0xb8894211
Serial Port: COM5
Role: Initiator

Device 1 information & configuration
Device Name: Node 0x23422481
Serial Port: COM4
Role: Responder

Ranging
2026-05-18 11:14:18:876 COM4 Device ID: 0xdeca030423422481 Name: Node 0x23422481 session ID: 2 seq: 43 interval: 200 measurement type: Twr count: 1
0. addr: 1 status: 0 (Ok) controller distance: 5.3 m angle: 0 deg x,y: 0,5.3 m
2026-05-18 11:14:18:876 COM5 Device ID: 0xdeca0314b8894211 Name: Node 0xb8894211 session ID: 1 seq: 44 interval: 200 measurement type: Twr count: 1
0. addr: 0 status: 0 (Ok) controlee distance: 5.3 m angle: 1.82031 deg x,y: 0.168355,5.29733 m

If you look at the Responder’s side (COM4) in the snippet above, you will see the recurring output line I mentioned: controller distance: 5.3 m angle: 0

Based on this specific log output, how should we interpret this string?

Does it mean “The Controller performed the measurement and calculated an angle of 0”? Or does it mean “The Controller is located at a distance of 5.3 m and an angle of 0 relative to the device printing the log”?

Thanks in advance!

I would respond this way

because the initiator/controller is on COM5, the controlee distance: 5.3 , is as seen from the controller
and vice versa on the responder/controlee being on COM4, the controller distance: 5.3 m, is as seen from the controlee.

because the device on COM4 has no AOA support, it cannot tell you where the controller is located relative to itself, other than distance

the device on COM5 DOES have AOA support, and can tell you where the controlee is located relative to itself, in addition to distance

1 Like

This would be my interpretation as well.

@diebaqsan, do you see an issue with this?