cancel
Showing results for 
Search instead for 
Did you mean: 

LIS3DH Low Power Mode not working as expected.

AComa.170
Associate II

Hello Everybody,

I'm using LIS3DH Sensor to detect anomalous accelerations on a battery powered device.

Is important, due to battery duration problems, to keep the current consumption as low as possible...

I set the regisers as follows:

write_I2C_LIS3DH_register( CTRL_REG1, 0x1F);
 
write_I2C_LIS3DH_register( CTRL_REG2, 0x09);
 
write_I2C_LIS3DH_register( CTRL_REG3, 0x40);
 
write_I2C_LIS3DH_register( CTRL_REG4, 0x00);
 
write_I2C_LIS3DH_register( CTRL_REG5, 0x00);
 
write_I2C_LIS3DH_register( INT1_THS, 0x10);
 
write_I2C_LIS3DH_register( INT1_DUR, 0x00);
 
write_I2C_LIS3DH_register( INT1_CFG, 0x2A);

I was expecting 6uA of current consumption, but what I measure is more than 150uA....

Where is my mistake?

Thank you ...

Andrea

1 REPLY 1
Eleon BORLINI
ST Employee

Hi @AComa.170​ , the CTRL_REG1 is the main register involved in the Low Power selection, and it seems well configured... Are you measuring the current consumption while the dataout is running (es. SPI or I2C running)?

You could btw use the Activity / Inactivity recognition wake-up feature (p.53 of AN3308). When the Activity/Inactivity recognition function is activated, the device is able to automatically decrease the accelerometer sampling rate to 10 Hz low power, increasing the accelerometer ODR and bandwidth as soon as the wake-up interrupt event has been detected. And I would suggest you to check your code with the ST Github example code for the wake_up.c. Regards