dwm1001 module low power and sleep issue


I have two questions need help.

  1. I use dwm1001 module generic UART API interface to talk to our MCU, our MCU periodical call function “dwm_pos_get(dwm_pos_t* p_pos)” to quiry the position data, the communication is working fine if “dwm_sleep()” is not called otherwise I can’t receive the location data anymore, the dwm1001 module always response with timeout.
    what can I do to fix this? I’ve tried to add a wakeup byte before transmitting or even send one byte message before calling “dwm_pos_get()”, none of them works.

  2. what’s the best approach to save power on dwm1001 module?
    I configured the dwm1001 as no responsive mode, stationary rate is 10s, and peridically query the position data at 5sec without calling dwm_sleep(). so far the lowest current I can get is arount 1.4mA, it is too high. The data sheet says the module should consume 12uA when sleep, how to get this?

Thanks in advance

What is normal update rate? With responsive mode disabled, and normal rate at 5s, average current should be about 95 uA. Look here:



the normal update rate is also 10s but the module is stay on table no moving at all. From the formula I should get around 43uA isn’t it?
why I can’t use dwm_sleep() ? is there anyone have experience on it?

With responsive mode disabled, the module is acctually in low power. You should not need to use dwm_sleep() to get 50 uA at 10s location interval.

I still cannot make dwm1001 module current draw < 1 mA.
In my application I use Nordic power profiler to track current draw, if power up do nothing I can see once dwm1001 module finish BLE activity the module is in sleep mode, my board current draw can drop to 350uA, as long as resume the Uart query to dwm1001, the board current draw going up to 1.5mA and stay there, I pretty sure this is because the dwm1001 module is in active mode as long as uart is triggered, how can I put the dwm1001 module into sleep mode in between the uart query? I can’t use dwm_sleep() command somehow and had no clue. need advise, thanks.


Use de App to configure the tag as in the image attached. An stationary tag will consume about 0.22mA; and 0.43mA when moving.

Probably you can use also the API to configure the tag as with the App.
The image here