2025-10-01 4:39 AM
Hello,
I recently integrated LSM6DSOX on a testing PCB which contains an MCU and some other peripherals.
The problem is that I have been trying to reduce power consumption without success, and I thought maybe you could help me find the problem.
First, the application also uses BLE, and I measure power consumption during advertising, connecting and other states. Before the LSM6DSOX, the consumption was around 45-60 uA during these states.
After integrating it, the consumption rose up to ~97-140 uA, which is unexpected as I have confirmed it to be low power mode.
I also confirmed that the previous code with the current board with LSM6DSOX also consumes around 45 uA, so I assume there is something wrong in the code, handling, configuration etc.
Hardware details:
1. I have connected a MOSFET as a switch before the power pins of LSM6DSOX. Meaning, I set high/low the gate of the mosfet to give power to VDD and VDDIO pins. I thought this was something that would help cut the current flow completely when I would want to power down the lsm6dsox.
2. VDD and VDDIO are connected at the same node after the mosfet and the voltage supply is 3 V.
3. SDX, SCX connected to VDD.
4. INT pin is connected to a GPIO pin and set low.
5. INT2 pin is connected to a GPIO pin and set input no pull.
Software details:
1. I use accelerometer most of the time, in ultra low power mode and data rate 1.6 Hz.
2. I use gyroscope sometimes, and when I do, I set data rate 12.5 Hz and low power mode at both gyroscope and accelerometer.
3. I don't use mlc, fifo, interrupt pins, I just take raw values.
Questions:
a. Is the consumption normal, and maybe it's my fault to assume and expect less?
b. If the consumption is supposed to be less, can you please advise with what to check and how to move forward with debugging this issue? I have spent a lot of time without success.
c. What is the purpose/meaning of VDDIO? did i connect it correctly?
d. Do you think the mosfet is a good idea or it causes problem as i might have to reconfigure the chip everytime?
Thank you very much in advance.
2025-10-01 6:44 AM
Hi @dimitra ,
a. The consumption is higher than expected if the sensor is correctly configured and powered.
b. Check registers settings to confirm accelerometer and gyroscope are in low-power modes with expected ODR. Check also that features like FIFO, MLC, interrupts, and high-performance modes are disabled.
Ensure SDX and SCX lines connected to VDD are not causing leakage or unintended current paths.
Try powering the sensor separately to isolate sensor consumption, in this way you can determine if the sensor itself or other board elements cause the increased current.
c. VDDIO is the power supply for the sensor’s I/O pins (SPI/I2C lines).
It must be powered and at the same voltage level as the MCU I/O lines to ensure proper communication and avoid level shifting issues.
Connecting VDDIO to the same 3 V node as VDD is correct if your MCU I/O lines are also at 3 V logic levels.
d. Using a MOSFET to completely power down the sensor is a valid approach to reduce power, especially if the sensor is unused for long periods.
However power cycling requires full re-initialization of the sensor each time it is powered on. If power cycling happens frequently, the overhead may increase average power consumption.