PDoA with 2 DWM1001c


I’m new to DW1000 chip and for my company project we’re interest in UWB. So i bough 3 DWM1001c to test it out. We want that each system with DW1000 is aware of other system and knows their relative position (x,y). That’s mean calculating distance and Angle of Arrival.

For calculating distance, i understand that Symetric Double-sided Two Way Ranging do the trick. I found a single sided TWR example hereon the Decawave github that work for me.

It’s a different story for AoA. I’ve read the whitepaper about it, and they all said i need a array of antenna. Decawave have a beta kit with “DWM1002” (aka “Mona Lisa”) and “DWM1003” that implement the Phase Difference of Arrival and i think it’s what i need.

Knowing this, i have several questions :

  1. Is it possible to have a topology where all DW1000 act as node and anchor ?
  2. Is it possible to code both TWR and PDoA ?
  3. Is a range of 100 meter and 30cm accuracy outdoor ok ?
  4. If i want to design my own board with 2 DW1000 and PCB antenna like DWM1002, can i have recommandations ?



I forgot, if i want to test PDoA with 2 DWM1001c side by side like a testbench, even with clock drift, is it possible ?

The answer to your questions will mainly come down to how much firmware work you put in.

The supplied PANS positioning system is a generic solution that aims to work for most people most of the time but isn’t open source, if it doesn’t do what you want then you can’t use it.

The supplied library source code allows you build your own system for most applications without getting too involved with the internals of the ranging system if you don’t mind using the decawave data structures and the API they define. Or you can read the IC user manual and write your own library (or modify theirs) and talk directly to the DW1000 with your own API and function calls.

I think that the answer to your questions will be No if you use PANS. If you use the supplied libraries then I think that what you want to do is possible. If you write your own or modify the supplied library then it is all possible.

100 meter range outdoors is possible but is pushing it, we obtain 80 meters reliably most of the time and 100 meters under the correct conditions (mainly antenna height above the ground). That is with the data rate at 850 kb/s. We started to hit issues at around 60 m at the full 6.8 Mb/s rate. The lower 110kb/s data rate should make longer ranges possible.
This is all keeping the transmit power to the regulatory limits and no external amplifiers but we do have out own hardware with a custom antenna. From what other people have said here typical ranges for the DWM1001 is somewhat less. Obviously if you are in a situation where you can crank up the transmit power then you can get far more range. We did see over 250 m before going to the test house and finding out how much we had to turn the power down by.

Assuming your system is designed correctly and you have enough measurement points then 30 cm is easily obtainable. 3 cm is obtainable with a bit of work.

Copy the DWM1002 as much as you can. :slight_smile:

No you can’t rig a PDoA system together using two DWM1001c systems. The relative antenna placement and tightly synchronised clocks are critical to getting good results.

Also keep in mind that for any commercial system that isn’t a DWM1001c running PANS you will need to perform regulatory testing in order to sell it.

Hi Andy,

Thanks for the reply. I want to understand the whole thing.

PANS are meant to be used for RTLS, and the API documentation help for that. But, in my case i need a specific network they didn’t implement so i cannot use PANS, right ?
exctract from “DMW1001 Formware User Guide” v1.3

i’m having trouble in understading what’s in the git repo of Decawave link. At first sight, i though it was only driver for DW1000 + example but they talk about myNewt OS. Is it an other OS in place of eCosRTOS (above)? I don’t know if i should start by install the toolchain (uwb-DW1000 + uwb-core + uwb-app) and compile with newt ?

There is an exemple which don’t use PANS in the git here, right ?

I don’t intend to exchange a lot of data, i was thinking of using the lower bit rate.

Do you have resource about the DWM1002 ?



Sorry, can’t help with that level of detail. We went the full custom route of a DW1000 on our own PCB with our own drivers so I only know the basics of the supplied systems.
PANS is supplied as is in order to maintain the certification of the module, as soon as you start to change the DW1000 settings, packet sizes or UWB protocol used the certification becomes invalid.

It’s ok, you help me to clarify some point. i’m a bit curious, how much time you need to design your system ? PCB + soft + certification ?

With 1 person working on it less that 50% of the time it took about 1.5 years to get a working proof of concept. My that I mean to design a prototype consisting of an ARM based dev board hooked up to a DWM1001 with a replacement antenna hacked on (there was a somewhat iterative design process as we slowly found and eliminated error sources). Initially the firmware only ran the radio and log ranges. Position calculation was then done on desktop based software to post process those logs. The bulk of that time was getting the performance where we needed it to be, getting it working to give a crude position (30 cm or so) was actually very quick.
Once we got to that point it was around 6 weeks to design and built a more representative piece of hardware (custom DW1000 & antenna board, 3d printed housing) and port the desktop position code to an embedded system (1 HW engineer, 1 part time mechanical engineer plus me filling the gaps).
Once everything was running in real time we then spent a month or two refining the system to improve accuracy etc. And then probably 6 months with 3 people (with other things to do at the same time) productising the electronics and firmware, designing moulded housings, creating user friendly setup software etc. Basically all the things that separate a thrown together prototype from a commercial end product.
Approvals took a month or so once you allow for creating the tools needed for the correct radio modes, shipping the equipment off (not may places can do the testing), waiting for a test slot etc…

So not a quick process. But at that point we had a marketable product that would give <5cm accuracy positions.

Since then we’ve spent over a year (mostly my time plus others as needed) tweaking the system slowly improving accuracy, speed of setup, integrating a Kalman filter with inertial measurements etc.

That is valuable info, thanks a lot.

In my case, i’m full time on the project but i start from 0 like you years ago. I contact Decawave to have info on their DWM1002 board but no reply so far. I’ll realy like to see how they design their board.