Maximum range for DWM3001CDK

We have bought the DWM3001CDK to measure the maximum distance between two objects.
Sameware around 70 meters, we lose the signal.
The following configuration is applied:
Channel 5
Preamble length: 4096
RX PAC size: 32
TX Preamble code: 9
Rx Preamble code: 9
SFD type: 4Z 8-bit
Data rate in Kbps: 850
PHR mode: Standard
PHR rate: 850kbps (Standard)
SFD timeout: 4073
STS mode: OFF
STS length: 2048
PDOA mode: OFF
We use the default configuration for the FiRa ranging session.
How can we increase the maximum distance?
Thank you for the help.

Hi dark_knight,

The configuration that you shared is not FiRa-compatible but using an increased preamble length would improve the sensitivity and improve the maximum range at the same TX power. However, that would increase the RMS power level and you need to decrease the TX power setting to transmit a power level below -41.3dBm/MHz value.

Maximum range can be improved by using an LNA to improve receiver sensitivity.

Kind regards,

Hello Emre,

thank you for your reply.
We dropped the FiRa compatibility, so we only need to fit the FCC/CE regulation.
How do I change the tx power setting on the DWM3001CDK for maximum range (free line of sight)?
I found the following command: txpower 0x<POWER_HEX> 0x<PGDLY_HEX> 0x<PGCOUNT_HEX>

Hello @dark_knight ,

Changing the txpower for maximum range is to use 0xffffffff value. But in this case, you’ll not be compliant to FCC.
You need to change txpower using the command you mentionned, and verify that you’re transmitting at FCC regulation (-41.3 dBm / MHz), and then type “save”. And you’ll have this value saved for txpower even after reboot.

1 Like

Hello @Wassim_Qorvo ,

How can I change transmitted power and UWB configuration with code?
I am using scan_fira_params(“respf 4 2400 100 25 2 42 01:02:03:04:05:06:07:08 1 0 0 3”, false); for fira ranging but can’t find a similar function for Tx power and UWB cfg.


Hi @Miguel ,

You can use this commanfs from the CLI build.

To change radio parameters, you can use this command:

Hi @Wassim_Qorvo!

Thank you for your reply. I am working with the boards in standalone mode with no access to CLI so I would need to access those commands in C code.

This is what I am doing so far:
f_uwbcfg(uwbcfg_cmd, NULL, NULL, NULL);
f_power(tx_power_cmd, NULL, NULL, NULL);

f_uwbcfg() is working but not f_power()
Both functions are defined in the cmd_fn.h header.