2025-10-24 11:57 AM
Hello,
I am using the LSM6DSV in a very simple configuration. I am finding that it does not power down properly after I have powered it up. In normal operation I power it up by writing a value of 0x01 to address 0x10 (turns on accelerometor at 1.875Hz) and writing a value of 0x02 to address 0x11 (turns on gyroscope at 7.5Hz). Then after taking some readings I power it down by writing a value of 0x0 to address 0x10 and a value of 0x0 to address 0x11. After I power it down I find that it still draws ~650uA of current.
Other than reading the conversion results at address 0x22-0x2D, the writes to addresses 0x10 and 0x11 are the only ones I do.
I have run a couple of experiments:
1. I omitted the writes to 0x10 and 0x11 when powering up and find that the power draw stays at or below a few uA. This demonstrates to me that the power draw is coming from a mode the LSM6DSV is in rather than my MCU or other circuitry.
2. I explicitly wrote power down/disable values to the other registers just in case one of them was being turned on somehow. But none of these made a difference.
0x0A = 0x0 //Disable fifo
0x0D = 0x0 //Disable interrupts
0x19 = 0x0 //Disable self-test and debug modes
0x63 = 0x8 //Disable embedded functions
0x01 = 0x4 //Global reset of the device
0x12 = 0x1 //Soft reset of the device
Any help is appreciated. How do I get the device to power down after powering it up? The only registers I access to power it up are 0x10 and 0x11. Do I need to do something other than setting those two registers to power down mode?
Thanks.