Difference between DWM1001 and DWM1001C?

I have a problem that the DWM1001 and DWM01001C seems to be acting differently.
My custom boards are all identical PCB but some have the DWM1001 and others the DWM01001C.
The DWM1001C does not appear to reset at power up and does not reply to any UART commands.
Is there some difference in either hardware requirements or firmware commands?

The DWM1001C and DWM1001 are identical from a hardware perspective. The ‘C’ is for certified, so the software will take the OTP calibration values for Tx power etc.

Have you updated them both to the PANS V2.0 firmware release?


I managed to use NRF Connect to flash PANS V2.0 into the new DWM100C modules and now the commands seem to be working correctly.

I have a couple of quotestion regarding interface to host

  1. What is the preferred method of knowing when the command has been executed, should the host monitor the “Ready” signal? I was thinking that or maybe wait until timeout for a smephore to be set when my code received UART reply.
  2. Is version 2.0 the latest PANS version? It is all I can find
  3. Is ther any more up to date documentation that the 2019 API guide (which specifies it is for use with Pans V1.3)?

Finally, to propely set up the Anchor I just need to use the anchor_cfg_set command and then the pos_set command and now it will run ok as anchor? (of course set node 0,0 as initiator as well).


1: This is documented, take a look at the DWM1001 Firmware API Guide
2: Yes, that is the latest.
3: No, there were no updates since.

For trilateration, you will need at least three anchors and then one tag. Or you can do something like this:


I managed to getr my host to set up 4 anchors (1 as initiator) and another as a Tag and issued get_location command and received data from all 4 anchors (good start). Except I programmed their positions using metres but actually set them up with positions only mm apart. I’ll fix that in the morning.

I have just 3 questions left.

  1. So the initiator goes at very back left (if you are looking at a rectangular room) and then X gets positive to right of initiator and Y gets positive coming toward the front (toward you)??

  2. As long as they are on the same PANID, one is set to initiator and you have say 4 anchors, they will AUTOMATICALLY form the network and any Tags that are ACTIVE and on same PANID will Automatically join and range with them (as long as they are set to Active mode).

  3. Is there a specification for maximum response times from commands so I can look for replay and if not received within that timeframe can flag and error or retry?

Hi @david
see answers below.

ad 1) The initiator position is not important here but your XY axis assumption is OK. See this image:

ad 2) Yes, you are correct.

ad 3) You should receive ACK packet immediately. See the DWM1001-API-Guide - Chapter 3 API OPERATION FLOW


Thanks JK.
So the X and Y values actually work reverse than I expected. X goes poistve to right of reference but Y increases positively as you move further back rather than toward you (if we were standing at anchor 0,0 position).
It is useful to know ack is sent immediately, I assumed for “SET” command sthat it was writing the new values to memory first and then sending ack but if it sends ack first I can set a short timeout but can I then send another command while it is still writing? ie. How do I know the module is ready to receive a command and not busy processing the last command.

I have it running now.

I was not getting position because my 32 bit int (mm) to 4-byte array routine had a bug in it.

Hi @david
regarding XY - it is a standard plot system - XY increases in upper right direction.

The command is processed first and then you get the response. But commands that needs witting to flash does responds immediately and write to flash will be done after the command response. This is because the system runs in hi precision TDMA and writing to flash take some time so it is planned to some point where is it safe to write to flash. Also soft reboot forces to write to flash immediately.

Cheers JK