DWM1000 anchor vs tag


I’m new to the UWB sensor and maybe I’m asking a noob question.

My question is it seems the DWM1000 can be used as a tag (e.g, attached to a robot). How about the hardware that can play the anchor role?

It would be great if you can share your setup in detail. I’m looking for a solution to localize robots and moving people inside the lecture hall.


Hey there!
Well DWM1000 is a module responsible for the communication in UWB technology.
So in this case if you have 2 devices and use the principle of ToA (Time-of-Arrival), for exemple, you can measure the time that your communication takes to travel from device A to device B. And then the principle of localization shows up here and you probably already know about this. They can be used in tag devices and in anchors devices.
So, for a “simple hardware” you only “need this module and a MCU”. Depending the way you want to use this system, you can try to integrate with our robot, but you will need to have anchors.
If you really want build your hardware from the beggining many aspets should be considered like calibrations, antenna,…so on.
In the case of the anchors it will depend the way you really want to used them, with this i mean, imagine if you put an altimeter to try an improvement on Z axis on case of localization in 3D. So a lot of options can be done.
You can use the datasheet and user Manual from DecaWave to actually learn all about this things.
Hope I could help.

The most common way of building a system like you want would be TDoA.
The tag is a dwm1000 with a small mcu controlling it. It is transmit only* sending out a single packet with it’s ID and any other status information at a fixed interval.

Anchors are a dw1000 devices with their clocks synchronized. The easiest way to do this is by connecting a reference clock between the anchors so that they all have exactly the same clock frequency. Or you could use the DWM1000 and estimate the clock differences between each anchor (less cable requirements but more complex firmware and less accurate).

Anchors all timestamp the arrival time of the packet from the tag. These values are passed to a central server that calculates the location based on the differences in the times.

* Only transmit is needed for positioning but two way communication may be beneficial for setup or other uses.

1 Like

Thanks @AndyA and @ruigomes!

I’m reading in the last few days and have learned a lot more from your answer.

I think the MDEK1001 Development Kit - Decawave kit is the best choice for me now.

My question now is can we get the orientation of the Tag from the DW1000?

Thanks in advance!

No. Position only.

It is possible to use two DW1000 devices to create a PDoA receiver (Phase Difference of Arrival) which allows you to calculate the direction that a signal arrived from. This would allow you to calculate rotation about one axis but not full orientation.
Decawave did have a development kit for this but I can’t see it listed anywhere now so I don’t know if it was discontinued or not.

The system I have combines the UWB with an IMU to give orientation information.

Thanks, @AndyA!

Could you please elaborate more about combining UWB with an IMU to give orientation information?

The short answer is that you use a Kalman filter to combine the two sets of measurements.

The long answer involves a lot of very nasty maths and a fair amount of number crunching.
At the end of it you can get something like this: Simulcam demo using VIPS indoor positioning system - YouTube The left screen is the live camera output, the right is calculated camera view based on UWB and IMU data.

1 Like

Thanks a lot @AndyA! I’m checking it now.