cancel
Showing results for 
Search instead for 
Did you mean: 

LIS2DW12 VDD_IO current way too high!

MSimo.1
Associate II

Hey There, iam using a LIS2DW12 on a STEVAL-MKI179V1 eval board :

https://www.st.com/en/evaluation-tools/steval-mki179v1.html#overview

https://www.st.com/en/mems-and-sensors/lis2dw12.html#overview

The Datasheet says that it has 50nA standbycurrent and 1-5 uA in oparation.

Iam using the chip in single_data_conversion mode with softwaretrigger

Iam triggering a measurement, reading the values over i2c and the chip goes to standby after that.

The Chip offers 2 Powerpins VDD and VDD_IO .

VDD has a consumption around 50-60nA in standby but VDD_IO has a current of 300-400 uA. The voltage is 3.3V.

Any ideas where that high current is coming from?

iam using SCL,SDA for i2c transmission, pin2 (CS) is pulled to VDD (activates i2c) and pin3 (sa0) is connected to GND (sets i2c adress)

thank you!

1 ACCEPTED SOLUTION

Accepted Solutions

well, it could be a device-related issue, but you tried two sensors, so I believe it is something related to the connection / hw initialization.

you write that the SD0 pin is tied to GND, but please note that this pin is internally pulled up: this means that there could be a resistance path causing the current to flow down from 3V3 to 0V through it. Can you please try to disconnect this pin?

-Eleon

View solution in original post

9 REPLIES 9
Eleon BORLINI
ST Employee

Hi @MSimo.1​ ,

regarding the hardware/schematic configuration, are you directly connecting the STEVAL-MKI179V1 board to your application processor? And are you measuring this increasing current consumption just tiding the Vdd_IO to the 3V3 via the pull-up resistors (which value?), or during the I2C operation? In this second case, it is normal to see a current consumption increase since the toggling I2C lines (going up and down from 0V to 3V3 through the pull-up resistor). If for example the resistors' value is 10kOhm, you'll experience a current consumption of 330uA

-Eleon

MSimo.1
Associate II

Thank you for your answer!

ive connected the board directly to my MCU ( a STM32L432KC on a nucleo32 board).

Ive connected VDD and VDD_IO directly to 3.3V. Isnt it indented that way? i cant find anything in the datasheet or in the application note (AN5038)

Iam not using any external pullpup resistors in the i2c lines (ive configured pullpups in the .ioc-file in cubeIDE for SCL and SDA of the i2c communication pins).

Iam using the sensor in a single_read_mode witch gets triggered by software.

After the value is read the controller sleeps for 10sec. (Standby mode of the STM32L4).

Iam reading the value of 330uA in the Standby-mode.

my goal is it to bring the overall consuption down to a minimum because i want to use the chip on a low power battery operated project.

Thank you!

Hi @MSimo.1​ ,

>> I've connected VDD and VDD_IO directly to 3.3V. Isnt it indented that way? i cant find anything in the datasheet or in the application note (AN5038)

You can find some Application hints for example in the LIS2DW12 datasheet, p.16, where the pull-up resistors are declared and the 10kOhm value is suggested.

0693W000005AuGoQAK.png 

>> Iam reading the value of 330uA in the Standby-mode.

This could be caused by the direct tiding of the SDA-SCL I2C pins, since the only internally pulled up are SDO/SA0 and CS pins (see datasheet, p.4).

Is it possible for you to check the current consumption in standby-mode with the pull-ups mounted?

-Eleon

Hey, i just connected 10k between SCL/VDD_IO and SDA/VDD_IO as mentioned in the Datasheet.

the current in standy is now 142 uA in Standby (only VDD_IO).

the current for the whole chip is now 144uA in Standby... still far away from the Datasheet value..

Should i increse the Pullup Value?

Yes you can try this way.

But are the other pins connected as shown in the above (with CS high? Or, if the CS is low, you can disable the internal pull-up resistors writing the CS_PU_ DISC bit of the CTRL2 (21h) register).

You can also try with reducing the VddIO (for example from 3V3 to 3V), keeping the Vdd at 3V3.

-Eleon

MSimo.1
Associate II

100k as pullup give me the same current reading ..

CS is connected to 3.3V to acticate the i2c communication. SD0 is tied to GND to set the i2c adress as discriped in the Datasheet.

Int1 and int2 are not connected.

unfortunately i will not have a different voltage source than 3.3V later on my PCB aviable, so lowering the voltage wont be an option.

there must be an option to archieve something closer to the specs with 3.3V right?

the wierd thing is, that i purchased 2 of the eval boards and they both behave the same. So it cant be a problem with the chip right?

well, it could be a device-related issue, but you tried two sensors, so I believe it is something related to the connection / hw initialization.

you write that the SD0 pin is tied to GND, but please note that this pin is internally pulled up: this means that there could be a resistance path causing the current to flow down from 3V3 to 0V through it. Can you please try to disconnect this pin?

-Eleon

THIS IS THE PROBLEM!!!

thank you!

the Datasheet says, that this pullup cant be deactivated:expressionless_face:

looks like i have do adjust my code and create a new PCB........

thank you very much for your help!

V.Jose
Associate II