Is STM32 really neccesary to initiate DWM1001 on DWM1001-DEV board?


I’m using a DWM1001-DEV module for indoor precision location, I use 3 anchors and 1 battery-powered tag. I have opened J4 jumper in order to pull apart the buck converter and all stuff conected to that power supply. I use an external very low Iq current linear regulator to get 3.3V from a 3200mAh NCR18650B Li-Ion battery to power ONLY the DWM1001 in the board through pin 1 of CON02 DNF connector.

I have also opened J14 and J15 jumpers in order to eliminate possible parasite current drawn by the STM32 GPIOs. With all this stuff done, I have measured 18mA of power consumption (without BLE), making a NCR18650B battery to run only for some days. I need at least 1 year of battery life, running active UWB at 1Hz, any ideas??

Thank you.


The STM32 on the DEV is solely for J-Link OB. It is in no part needed for the DWM1001 and PANS to operate. It is used for flashing and debugging the DWM1001 Nordic MCU.

Please search the forum for similar threads on power consumption and opening the necessary jumpers to reduce/eliminate the power consumed by the STM. It has already been discussed and commented a few times.


Beware of really low Iq LDO regulators. They often do not work well with DW1000 due to sudden changes in current demand. The super low Iq LDOs use P channel FET pass elements which have poor transient response times, that is, they take longer to notice an output voltage drop and recover. In some cases, this can damage transmit packets as the voltage fades during the packet time. Pay attention to the transient response characteristics when selecting an LDO.

In many cases, a switching regulator can be a better choice even given the relatively low voltage drop from the battery.

Sounds like DW1000 is in IDLE state (crystal operating, PLLs locked). Do you think you have the DWM1001 operating in SLEEP or DEEPSLEEP state? To get the battery life you expect, you will have to be in those states between events. I don’t know what the Decawave supplied code does in this regard.

You have a LOT of battery energy using an 18650 cell. With an LDO to 3.3 volts, you get to use about 365 uA average current. Given you are using 3 anchors, that implies TWR location, so you need to transmit once, receive 3 times, and transmit once again to complete a location.

Putting some very round numbers on that:

995 ms: sleep time, ~20 uA?
3 ms: crystal spin up time, 4 mA
200 us: TX first packet: 70 mA
1 ms: RX 3 packets: 140 mA
200 us: TX last packet: 70 mA
200 us: clean up and sleep: 10 mA

Add it all up, assuming 1 Hz rate, and the average current draw is 202 uA. Net output is 32 million locates during that time to cover one full year. Assuming room temperature, the 18650 cell will also self discharge some amount, say about 20-30%, so you don’t get all of it, either, but there should be enough to do a year.

At this level of power optimization, little things mean a lot. Don’t leave pins floating (CMOS pins at half input cause current). Don’t drive pins into powered off devices. Beware of regulator feedback dividers and how much power they use. Design everything so that pull ups or downs are not drawing current in inactive states. You have to carefully use sleep modes on the processor. And so forth.

Low power is mostly a software/protocol thing once you’ve done all you can with the hardware.

Mike Ciholas, President, Ciholas, Inc
3700 Bell Road, Newburgh, IN 47630 USA
+1 812 962 9408

Note we recommend a TI or a Torex DC-DC
See here

Hi Kenneth_Dwyer_DW,

I was wondering if I could remove STM32 from my system in order to minimize power as well as board size. Also I have noticed that my module was draining to much current because LowPower bit wasn’t actived. Now I can power module for a long time. I will also use those regulators you have recommended.

Thank you so much.

Hi mciholas,

Thank you for the reply. Transient response is one thing that I have not taken into account. Module was not entering into sleep mode becasuse LowPower bit wasn’t actived. Now I am powering DEV board from it’s embeded buck regulator and I have got ver good results of around 15uA during sleep mode.

Thank you so much for your help.

Hi ElectroAaron, as Kenneth sais, look in the forum as there are many threads concerning current consumtion.

In any case, one tag at 1Hz sampling rate in low power will consum at least 430uA. So, your 3200mAh will last maximum 3200/0.430/24 = 310 days. Not considering other charge/current loses in the battery itself or other hardware.