I would like to know how to minimize the current consumption of a tag when is out of reach of its UWB network (for example, when the tags is out of the office).
In this case, it seems that the tag wakes up each 60 s and tries to connect to its UWB network during about 0,5 s. So, it gives to me about 1.3 mA on average.
As we would like to reduce this current (when the tag is far away from the network), we tried to put the tag in OFF mode. In this state it shouldn’t try to connect to any UWB network, and it is what indeep happen. We follow this process:
1.- put the tag in Off mode
2.- put the tag to sleep
However, we have seen that the current in this state (off+sleep), the current is quite big, more than 0.275 mA, which is much more than the tag is deep sleep (about 0.015 A).
Are these measurements correct? Are we doing something wrong?
Yes, we are using PANS R2 and commands are sent via UART using PANS API.
Please, note the state and current consumption changes in the attached image. After Off comand and reset, the tag consumption is about 280uA.
Is there any way to reduce it?
We wait for your feedback, thank you again
There is still a base current of more than 400uA, and the time the BLE spends looking for any other module seems to large, so average current is again in the order of 1mA.
2.- When the tag is in OFF state, and BLE is enabled, there are no BLE attempts to look for anchors, but the base current is again about 400uA.
Are these measurements the expected ones?
Is there any way (by API commands) to reduce this consumption when the tag is out of the network reach? If negative, would it be possible that Decawave modifies the firmware to set the tag in real deep sleep mode when it is out of the network reach?
Other way, the only solution which I find is to use an external hardware control to power down the whole module, and this is one thing we want to avoid.
My objective is to have a tag in real low power when it leaves the network, i.e. when it is out of UWB and BLE range to any other node.
1.- So, I start with a tag in low power mode (not responsive) working correctly: 15uA base current line. BLE is enabled in the tag.
2.- Then, I cut the power to every other node on the network (initiator and anchors)
3.- In this situation, is when the tag shows this BLE activity, and the base line is 425uA:
As this base line is too high, I follow the next procedure:
1.- I start again with a tag in low power mode working correctly: 15uA.
2.- Then, I cut the power to every other node on the network
3.- I send via UART a wakeup byte
4.- I send an Offline command: 05 02 8C 00
5.- I send a sleep command: 0A 00
6.- Finnally I send a reset command: 14 00
7.- In this situation, the tag shows no BLE activity, but the base line is 280uA (as you can see in the image in my second post)
If I send an Off command and a sleep command as you stated in the last post, the tag will not be in real Offline state untill a reset command is sent.So, the state of the tag will be the same as if no Offline command was sent.
Yes, it is not possible to put the module totally to sleep when it is out of the network. PANS is expected to work automatically so it needs a certain period to detect when the Tag is back in the network.
Thanks for your inputs, we will think of some suitable solution but putting it totally to Off by default would not fit well for all applications.
To solve the issue it would require a customization of PANS. If that would be an option for you please contact me via a private message.
However, maybe I have not explained my self. We do not like to have the module totally Off. Also, we think it is quite useful to wake up the module at certain periods to lookfor a network.
What we find ‘extrange’ is to have a current consumption larger than 280uA in betweeen these BLE wakeup periods. After a poll period and before the next one, why is not able the module to stay in an sleep state similar to the sleep state in normal low power (when the module has 12uA of current consumption)???. This is our remark. Actually, we find this total nonsense…
I am working with UART communication of DWM module and successful in communicating it with ESP8266. The data transfer is not 100% reliable however , the DWM gives the POS output. I have “lep” command in shell mode. Furthermore , I am trying to put UWB module to deep sleep mode for some time and then wake it up using only UART. I am currently using PANS R2 firmware in the UWB. You have mentioned some commands for offline , sleep and reset commands. I am afraid , i didn’t understand it well. Can you please explain it further on how I can use ESP8266 UART to put DWM into deep sleep mode and then wake it up after sometime. I am stuck on this topic for some time now and unable to find useful information anywhere other than this post. I hope you will respond soon with a solution.
I will try to respond you regarding the low power mode.
When the module is in Tag Low Power (i.e. Responsive Mode is Off), the firmware will be most of the time in deep sleep. It will wake up periodically at the update rate to do the measurement, then to generate an interrupt and to go back to deep sleep again.
On a such interrupt event you can wake up the module, read the data out and then issue a sleep command. The available interfaces to do this is via UART/SPI or on-module UserApplication using PANS library. If you do not issue the sleep command, the module will stay awake and consumes more energy. Please see the API documentation for more information: https://www.decawave.com/dwm1001/api/
Similarily when you enter shell, the module will be awake. In order to go to sleep you need to issue command “quit”.
Thanks for your help.
Currently I am following the below method to achieve my desired goal. However, I am 90% successful.
I am using the DWM1001 in shell mode. I am using commands “nmt” and “nmo” to turn on and off the DWM. I take the position data in between using "lep: command!.I can see that the current consumption is 1.5mA during the off mode!. Isn’t it supposed to be in the microamps level as said in the documentation?
I can see that the "nmo " command completely turns off the DWM.
You need to configure the tag as low power with command ‘nmtl’, and then, quit the shell console with command ‘quit’. If you leave the console oppened it will consume about 1mA. If you do not set the tag as low power, the consumption will be also very high.
You can also use the movile App to set the tag as low power: just disable the responsive mode