cancel
Showing results for 
Search instead for 
Did you mean: 

LSM6DSL Power Consumption

yash2530
Associate II

Hello,

I am writing a firmware with nrf52832 microcontroller and I have interfaced ST's LSM6DSL module. I am facing some issues regarding power consumption of LSM6DSL module. I have used 10K resistors with sda, scl, sdO and cs pins is this correct.

I am initializing my module below are the commands : using the wake up interrupt with inactivity function enabled to power down gyroscope.

uint32_t app_mpu_int_enable(void)

{

uint32_t err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_TAP_CFG1, 0xF0);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_WAKE_UP_DUR, 0x00);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_WAKE_UP_THS, 0x30);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_MD1_CFG, 0x20);

if(err_code != NRF_SUCCESS) return err_code;

return NRF_SUCCESS;

}

uint32_t app_mpu_init(void)

{

uint32_t err_code;

uint8_t data;

// Initate TWI or SPI driver dependent on what is defined from the project

err_code = nrf_drv_mpu_init();

if(err_code != NRF_SUCCESS) return err_code;

data = readRegister(LSM6DSL_ACC_GYRO_WHO_AM_I_REG);

NRF_LOG_INFO("0X%02X ", data);

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_CTRL1_XL, 0x30);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_CTRL2_G, 0x30);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_CTRL6_G, 0x10);

if(err_code != NRF_SUCCESS) return err_code;

err_code = nrf_drv_mpu_write_single_register(LSM6DSL_ACC_GYRO_CTRL7_G, 0x80);

if(err_code != NRF_SUCCESS) return err_code;

return NRF_SUCCESS;

}

I am getting a power consumption of 2.2 mA when both accelerometer and gyro are active and when accelerometer is active with ODR 26Hz and gyro power down I am getting a power consumption of 900uA which is very high.

Without LSM6DSL my setup only consumes 3uA in idle condition. But when I connect LSM6DSL to my setup my current consumption raises to 900uA in idle condition. What can be the problem here. please let me know the solution. I choose this product because of its low power consumption when both gryo and accel are power down which is around 3uA. But after using it if the power consumption doesn't go down to 7-12uA in idle, I might reconsider.

Hope to get a quick resolution.

1 REPLY 1
yash2530
Associate II

@Federica Bossi Need help here. I have tried only accelerometer mode as well the consumption was around 900 uA to 1 mA.

Need your help. How should I take this power consumption to go down.