DW1000 Multi Tags and Multi Anchors

Hello Guys. recently I have bought 4 DW1000 modules for my project.
I wanted to connect them to ESP32 module for its micro controller and sent distance to Main Server over WIFI.
I found thotro’s library that is programmed for my hardware and work.
This: https://github.com/thotro/arduino-dw1000

I tested it with 3 Anchors and 1 tag, it seems to work great.
after testing I run it with more tags. but it sucks. as I research about dw1000 Two ranging protocol and its limitation, I found out there is a multi-stage session in a popular way.
someone said that:

  • Anchor receives two BLINKs from TAG1 and TAG2
  • Anchor sends one Ranging_INIT to both of them (broadcast)
  • Anchor receives two Poll messages from each of Tags
  • Anchor sends one PollAck message (broadcast to all Tags)
  • Anchor receives first Range(from TAG1 for example) msg and calculates the distance
  • Anchor receives second Range(from TAG2 for example) msg and calculates the distance
    Measurement starts from third point.

in this lib there is a limitation for receiving and timing and syncing. as i know each anchor can be received data or Poll at a time.
for doing this with many anchors, for example 12 Anchors (maybe more needed) and 5 Tags we faced to many complexity. i saw a decawave product mdek1001 and I realized there is limitation about scenario(tags+anchors numbers) if anchors/tags numbers are changed our library and algorithm must be changed. it is totally dynamic. can’t be done once for any scenario.
We want to implement indoor positioning for a place about 4000 meter. 40x100.

and I guess we need implementation from zero? writing a library ? is there a simple way or a ready development tool for my goal and related to my hardware?

Hi, I am currently experiencing the same problem. Did you find any solutions?

There are lots of ways to do this but generally they come down to three options:

  1. Using DWM1001 hardware or some variation on that and run the PANS firmware that is supplied.
  2. Write your own system to control all of the radio communications and calculate positions.
  3. Hire some other company to do option 2 for you, ideally one who has DW1000 experience and already has most of the building blocks and expertise.

Option 1) is by far the best option if the system can do what you need. 2) is more flexible and can give better performance for your specific application but is a lot more work. 3) is faster and easier but will be expensive.

I went with option 2 and can get accuracies of a few cm over a 40x700m indoor area with a 100Hz output rate. But it took years to get to that point.

Yes you can do that with any of the modules. The DWM1000 gives you more choice of processor since it’s just the radio while the DWM1001 and MDEK give you all the required hardware. If large areas you can either build one of the modules into your own system that adds any power supply or IO requirements you have or go fully custom. Fully custom hardware gives you control over the antenna and so more flexibility but is a more complicated task.

By your own system I mean creating your own radio protocol to measure ranges, your own smoothing and filtering logic and your own position calculation method. You will also need to create configuration and setup tools and data display and output tools.
As I said, a lot more work.

Also for any commercial system unless you are using DMW1001 hardware running PANS you are going to need to perform FCC/IC/EC conformity testing to certify it for whichever countries you wish to legally sell it in. This will be in the 10’s of thousands of dollars.

Hi Can you help me how to use 3 anchors and 1 tag?

Hello. You need to assign a different ID to each anchor, and you also need to use a different ID for the tag. Then, you can use ranging to find the distance between each anchor and the tag.