FiRa applications on DWM3001C


I have several DWM3001CDK dev boards and would like to use the FiRa ranging library in my application. I have some questions:

  1. Can I send custom UWB messages while the FiRa ranging task is active?
  2. Can I receive/listen to UWB messages (i.e. receive the raw data) while the FiRa ranging task is active?
  3. How can I put a FiRa responder into low power mode (i.e. a tag device operating from a cell battery) but still wake up and respond when required?
  4. Does the FiRa task work with multiple initiators and responders? (sorry I dont have access to the FiRa standard so I’m not familiar with how the FiRa devices share air time)
  5. Is the source code for the uwbstack and FiRa library available?


1 Like

Hi @ryanharm ,

For 1st and 2nd question:
FiRa is only focusing on the ranging aspect and not optimised for the transfer data functionality.
So I would say it will be hard to adapt the FiRa task to exchange raw data.

3/ In the SDK, the ultra wide band low power functionality is already implemented. This is implemented in dw3000_lp_mcu.c. So the device will sleep between ranging round and even between slots if there is enough to wake up after.

4/ The FiRa task in the SDK wokrs with one initiator and multiplse responders (One To many), but multiple initiators and multiple responders is not implemnted in the actual version (many to many).

You need to enable Multi node mode, and add the second reponder address to the command.

5/ No the source code of the uwbstack and FiRa library is not available.

Hope it helps,

Hi @wassim ,
I am a little confused with some of the concepts in FiRa ranging, and how they articulate with each other:

  • DeviceType {Controller, Controlee}
  • DeviceRole {Initiator, Responder}
  • MultiNodeMode {Unicast, OnetoMany, ManytoMany}
  1. What is the difference between the DeviceType and the DeviceRole?
  2. Can an Initiator also respond to a ranging request?
  3. I did not understood in your previous message if the mode ManyToMany is implemented or not in the DWM3001C?
  4. And if it is implemented, what does it do?
  5. For my application, I have multiples drones that I will equip with DWM3001C. I want each drone to have the distance with all other drones. Is that possible? And what configuration should I choose?


Hi @Fabien-B ,

These questions are more related to FiRa.
You need to be a FiRa member in order to access their documentation and understand more in details how it’s working.

Controller: Defines and controls the ranging features by sending control message.
Controlee: utilizes the ranging features as configured via control message from the controller

Initiator: Initiates a ranging exchange by sending the first ranging frame.
Responder: Responds to the ranging initiation message received by the initiator.

6/ Then device type will define which device is controlling the ranging features.
And device role will define which device will initiate the ranging exchange.

7/ From the definition above, no it cannot.

8/ The many to many mode is not yet well defined in FiRa and not available in the package release on the website.

9/ Now it’s only possible to do the one to many mode.
In this mode, we’ll have one ranging initiator and multiple ranging responders participating in a ranging round.

I hope it’s more clear for you now,