To figure out how to properly configure these devices, I used the DecaWave Android application. I powered both devices and connected to them with the app. I linked them both to the same network and configured one as an anchor and one as a tag.
I connected to the each device and ran the function 'nmg' to get the node mode that the device had been configure to.
For the anchor I got the following:
mode: ani (act,-,-)
For the Tag I got the following:
mode: tn (act,twr,np,le)
At this point I turned off the Android application. I sent the command 'lec' to the Tag to get the measurement and distance as in CSV.
This returns the distance between the two devices.
My next goal is to reset both devices and use purely the shell commands to properly configure the devices for measurement. I also want to look into the using TLV protocol for setting these devices up using a microcontroller.
A while back I ordered several PCBs and two DWM1001 modules for testing and evaluating. I have linked the designs for the PCBs in GitHub, but I wanted to update what I had to do to get the boards working.
First I hand-soldered the components to the PCB. I found an error with the default signal level of the RESET pin which I fixed by excluding the push button and putting a pull-up resistor in its place there.
This board has a 10 pin right-angled connector on it, because it is intended to be mounted upright so there is an even radiation pattern around the device.
Connecting to the module via UART
The connections to this device are rather simple. Power the device with 3v3 and connect TX, RX, and GND to a USB to TTL Serial converter.
I then use an application like CoolTerm to connect to the device. The DWM1001 has a shell interface that can be useful for testing. The settings for connecting to the device can be seen below.
The ones that I want to highlight are a baud rate of 115200 and line endings being CR.
To enter the shell, all you have to do is send 0x0D twice to the device. This is the same as sending two CR line endings. So, once I connect to the device in CoolTerm, I click in the window and press "return" twice. This causes the DWM1001 to go into the shell mode and respond with the following interface.
We're now into the DWM1001 shell interface and can now start experimenting with these devices.