DWM3000 range issues (total newb)

I’m a total newbie to the DWM devices. I’m using the Qorvo DWM3000 module with built in ceramic patch. I have just got the driver library running with our processor and I’ve started experimenting with the basic TX and RX application examples. I’m testing this indoors in a wooden frame house with normal plasterboard walls. At this point I can’t get more than perhaps 5m away before I no longer see any packets on ch5 or 9. Eg I have the RX on my workbench and the TX almost LOS in the hallway and I lose signal. I was hoping to at least be able to extend into the adjacent room.
Are there some newbie “gotchas” that I may have missed that would critically impact range?

Antenna orientation and polarisation can have a big impact. If you take a look at page 17 of the module datasheet here you can see that the antenna gain can vary by up to 20 dB depending on orientation.
As a very crude rule of thumb every 6 dB more gain allows you to double the range, 20 dB represents around a factor of 10 increase in range going between the worst and the best antenna orientations.

If you keep the modules pointing up as shown in the first picture on that page then you’ll get close to the best performance no matter how it rotates around the vertical axis.
Laying the units down with the two antennas towards each other, something I could easily see someone doing when starting out, would represent an angle of 0 on the second plot, not the worst possible orientation but not good. If you need to lay the units down rather than standing them up then it looks like having them roughly side on to each other would give the best results.

Also any metal or conductive material anywhere close to the antenna will have an impact on the antenna performance, almost always a bad one. Non-conductive things near the antenna will also have an impact but less so. As a general rule you want as much empty space as much as possible around the antenna.

1 Like

Hi Andy,
Thanks for the excellent RF advice, I forgot to mention that I have about 42 years of RF under my belt :slight_smile:
The loss due to cross polarisation is often overlooked by beginners in RF systems, great advice.
I did try various orientations of the modules during my tests with no significant improvement so I guess the next thing I will try is running in CW mode and measuring the frequency of each module to see if that may be the issue. I also have a couple of older DW1000 modules so I might do up a couple of more test boards and see if the lower operating frequency (3.5GHz) might help. Essentially I need to have enough reliable range to cover a hotel room in various configurations (i.e. some with a separate bedroom).
Thanks again,


Thanks for the excellent RF advice, I forgot to mention that I have about 42 years of RF under my belt :slight_smile:

Then you could probably post a few corrections to what I said :slight_smile:

You didn’t mention what firmware stack you are running but general tricks to increase range would be to switch to 850kb/s rather than 6.8Mb/s, increase the pre-amble length and try changing SFD_TYPE to the decawave proprietary 16 bit pattern.

I’ve not looked into the DW3000 startup process in detail, on the DWM1000 the correct clock trim values for each module were stored in their OTP memory but the user code needed to read that value and load it into the correct register. I don’t know off hand if this is still the case for the DWM3000.

And there is always the good old fashioned solution of turning the transmit power up. Due to the oddities of the way the regulations are set the limit for a given product will depend on the protocol used over the air. e.g. our system we need short packets and so run with a very short preamble. This costs us range. But since we then have a worst case of 250 us active in any given ms period we can turn the power up higher than we could if the preamble was longer which partly compensates for this.


Haha thanks again. I’ll look at those things. I have (very roughly) ported the provided driver/API from Qorvo to the RP2040 and my test so far has been with the included basic TX and basic RX examples. The devices seem very promising but with a considerable learning curve. It will keep me occupied for a while.

1 Like