cancel
Showing results for 
Search instead for 
Did you mean: 

iis3dwb power consumption is much larger than datasheet?

sming.1
Associate II
  1. just power on the chip (with 3.3V, without any software initializing), it shows it consumes 700uA about current
  2. if use reset it by writing SW_RESET in register IIS3DWB_CTRL3_C, the current jumps to nearly 2mA .

Per spec, it should consume only 5uA during power down, max is 16uA. The host mcu is a stm32l451cc, and the spi1 is connected to iis3dwb, int1 and int2 also connected to gpio. The test is that the stm32l451cc in standy mode with HAL_PWR_EnterSTANDBYMode() called.

so the question is 1. the power consumption gap is huge comparing the spec? 2. why a SW_RESET can not be the same consumption with a just power on without any software init? 3. how can achieve as low as possible power consumption ?

1 ACCEPTED SOLUTION

Accepted Solutions
sming.1
Associate II

Dear Eleon,

Thanks a lot for your kind suggestion, with your suggestion, I made some improvement.

And another root cause may be soldering flux related. After a deep cleaning for the board, i successfully make it 5uA about power down current consumption level.

View solution in original post

10 REPLIES 10
Eleon BORLINI
ST Employee

Hi @sming.1​ ,

Let me try to give a look into your question, because this over current consumption is a little strange.

1. the power consumption gap is huge comparing the spec?

You mentioned the fact that, just after power on, i.e. after the Vdd (and VddIO) transition from 0V to 3.3V, the device consumes up to 700uA. I believe that there is a baseline overcurrent consumption, since the delta between the power down mode and the operating mode is pretty ok (1.3mA). This may be related to an hardware issue, since the device should be in power down and consume. Did you follow all the recommendation you can find in the "Default pin status" table, datasheet p.4? Can you please share the schematic of your application, at least as regards the IIS3DWB pin connections? You can find Application hints in datasheet p. 24 or in the STEVAL-MKI208V1K schematic. Please note also the sentence in the application note AN5444, p.6: "In order to avoid an unexpected increase in current consumption, the input pins which are not pulled-up/pulled-down must the polarized by the host".

2. why a SW_RESET can not be the same consumption with a just power on without any software init?

The Boot status and the sw reset flow are described in the AN5444, p.6. Reset flow is as follows:

1. Set the accelerometer in Power-down mode;
2. Set to 1 the SW_RESET bit of CTRL3_C to 1;
3. Monitor software reset status, two possibilities:
  a. Wait 50 µs
  b. Poll SW_RESET bit of CTRL3_C until it returns to 0.

The SW_RESET procedure can take 50 µs; since the status of reset is signaled by the status of the SW_RESET bit of the CTRL3_C register, you should check that, once the reset is completed, this bit is automatically set low.

3. how can achieve as low as possible power consumption ?

Once solved point 1 and point 2, the minimum power consumption basically depends on your application requirements. If you are bound to use 3.3V power supply, and you want to take advantage of the full dynamic range of the sensor (ODR = 26.667 kHz), you could use the wake-up / activity interrupts to leave the sensor in sleep mode when not used, and activate it when necessary, in order to reduce the overall average consumption. More details can be found in the AN5444, p.15.

-Eleon

sming.1
Associate II

Dear Eleon,

Thanks a lot for your kind suggestion, with your suggestion, I made some improvement.

And another root cause may be soldering flux related. After a deep cleaning for the board, i successfully make it 5uA about power down current consumption level.

HPont.1
Associate II

Dear @sming.1​ ,

Could you share the code to put the IIS3DWB sensor in low power mode?

I'm trying to do this, but I'm not successful.

HPont.1
Associate II

I'm using the development board STEVAL-MKI208V1.

If CTRL1_XL has 0x00 value, the consumption is 1,5mA -> It is good

if CTRL1_XL has 0xA0 value, the consumption is 450uA -> it is not good.

Thank you @sming.1​  for reporting your solution!

You can share anything with @Community member​ if you want.

Hi @Community member​ , if CTRL1_XL has 0x00 you should consume about 5uA (on Vdd line), not 1.5mA...

-Eleon

@Eleon BORLINI​ 

Yes, you are correctly!

I changed the current consumption values ​​in the sentences.

The correct is:

If CTRL1_XL has 0xA0 value, the consumption is 1,5mA -> It is good

if CTRL1_XL has 0x00 value, the consumption is 450uA -> it is not good.

I'm trying to reduce system consumption as much as possible. My system runs on a CRC2032 battery

 Thank you!!

I changed the current consumption values ​​in the sentences.

The correct is:

If CTRL1_XL has 0xA0 value, the consumption is 1,5mA -> It is good

if CTRL1_XL has 0x00 value, the consumption is 450uA -> it is not good.

Hi @Community member​ ,

it seems there is a baseline overconsumption of about 450uA (also for the accelerometer active case).

Can you please share the pin configuration at hardware and firmware level for the device on you application board?

-Eleon

@Eleon BORLINI​ 

The overconsumption is due the VDD_IO pin being connected directly to the VCC.

When I disconnect the VDD_IO pin from the VCC the consumption in Power-down mode goes to 5uA.