Can I use only 2 DWM1001-dev and see their relative distance?

Hi everybody, I’m a newbie about DWM1001 and I would really appreciate some help.

Currently, I have 2 DWM1001-dev modules and I would like to see their relative distance somewhere (TeraTerm, Arduino or Rpi). I used the DRTLS app to set one of them as active tag, the other one either as active anchor or as passive anchor (both cases initiator), but I did not receive anything (neither in TeraTerm, nor in Arduino nor using Rpi).

I’m starting to wonder whether it is even possible doing something like this. Do you have any suggestion?

Just for completeness, here the resources I used:

  • As far as Arduino is concerned I followed this topic: UART communication with Arduino
  • As far as Rpi is concerned I followed the Firmware user guide.
  • As far as TeraTerm is concerned I followed the Gateway guide: here pressing ENTER twice nothing happens (blank window).
3 Likes

I’ve figured it out. It may be useful for the community, so I share it.

I’m starting to wonder whether it is even possible doing something like this.

The answer is yes, it is possible, and this is the setup I’m using:

  • Arduino MEGA
  • 2 DWM1001-dev modules

Following the firmware user guide set the network up so that one module is an active tag, the other one is an active anchor (initiator). Before doing this, make sure to flash the base firmware version on both modules (page 15 and 16 of this guide).
Arduino Tx and Rx channels (serial1) cannot be directly hooked to the module since it needs 3.3V, not 5V, so create a voltage divider.
Arduino should be connected with the active TAG (not anchor) such that:

  • Arduino TX - DWM TX
  • Arduino RX - DWM RX

If you don’t know which the pins are, refer to the DWM1001-dev datasheet, or to this topic: UART communication with Arduino.
As ar as the code is concerned, I “merged” the suggestions coming from two different topics, because none of them directly worked for me (How to connect DWM1001-DEV to Arduino? - #14 by Esperanto and UART communication with Arduino). The result is the following one: GitHub - francimala/Arduino-MEGA-to-DWM1001.

Hope you will find it helpful.

3 Likes

Hi Francimala,
I followed all of your steps to the letter and it still doesn’t work for me …
In my Serial I get all the sentences like “Sending SHELL command” … But after “Command succefully passed” I no longer have any values ​​displayed Did you have this problem?
Sorry for my english, I’m French.

1 Like

Hi! Just to be sure we are on the same page:

  1. Have you already tried connecting the tag to the pc through USB cable opening a serial communication to program it? I mean without Arduino, just connecting the USB cable then using putty or teraterm to open a serial communication to see whether you are able to see data and program the board (you may need to press enter once, then after 1 or 2 second press again enter twice and then send the Lec command)?
  2. Are you sure the ground is connected between Arduino and the module? Because it seems that you are not seeing anything on the serial port…

Nevertheless, I’m not an expert, so I’m guessing the possible solution

Yes when I connect a tag directly to the PC I can see the position data by typing the command “lec”. But as soon as I use Arduino nothing more …
I also checked that the ground was well connected …
I’m trying to attach a photo of my montage
Maybe I have a problem with Tx and Rx connection. You connect Tx and Rx of the Decawave with Tx and Rx or Tx1 and Rx1 of the ArduinoMega?
Have you unsoldered J13 to access Rx on the Decawave?
Thanks for your help

1 Like
  1. I used Tx1 and Rx1.
  2. I haven’t unsoldered J13.

Try to do the following things:

  1. Instead of powering the DWM module by means of Arduino, connect it through USB to the PC and test the code in this way. Leave the Arduino connection as is, remove only the red and black cables. (this is the scenario I tested).
  2. If you have it, try the same scenario using a power bank instead of the pc to see what happens to the serial monitor (this is something I could do).

It works !
I don’t know why in the documentation it was said to desolder j13 … But by letting j13 solder it worked!
Thank you very much !

1 Like

You are wellcome! Just to share it with the community: have you just soldered J13 leaving red and black cable (powered with Arduino)?

I just soldered j13 and yes I kept the power supply with Arduino with the red and black cables.

1 Like

Wonderful! Hope the community will leverage this discussion :slight_smile:

1 Like

Hello
I tested the same scenario, measured distance between one anchor and one tag. How are your results when compared to true distance measured by tape measure? On my side, I saw distance between them is changing throuh TERATERM and take average of that data and conmpared to real distance measured by tape measure but I got large error as shown below. Any recommendations?

S/N True distance (cm) Measured average distance (cm) Error (cm)
1 50 26 24
2 60 37 23
3 80 58 22
4 100 81 19
5 150 137 13
6 200 180 20
7 250 241 9
8 300 286 14
9 350 330 20
10 400 380 20
11 450 430 20
12 500 480 20

image

1 Like

And why when placed two anchors less than 35cm apart, it shows zero distance?

Hi, this works very well for me when the DWM1001 is connected to a PC. However it doesn’t work when I power the DWM1001 via a 3.7 LIPO battery. DO you know if I can make something to solve it ? Thanks :slight_smile:

Yes, here is a post talking about that is capable of doing it for n nodes.

Hi ! Did you apply directly 5V from the mega into the J1 (+/-) in the dmw1001-dev ?