cancel
Showing results for 
Search instead for 
Did you mean: 

ISM330DHCX INT1 to LDO EN pins

YBAYR.1
Associate III

I need to save power in a project; the system will turn on when shaken. I need to configure INT1 pin to leave the LDO open for 15-20 seconds. Conditions:

1- Did the device move? (acceleration)
2- Are the x, y, and z axes in the correct position?
If conditions 1 and 2 are met, set INT1 high for 15 seconds.

Is this possible? Are there any documents available on how to use int1 and int2?

1 ACCEPTED SOLUTION

Accepted Solutions
Federica Bossi
ST Employee

Hi @YBAYR.1 ,

The ISM330DHCX can reliably detect both motion and orientation in low‑power mode, but it cannot autonomously keep INT1 high for a fixed 15–20 s.

You can use the built‑in wake‑up function to detect movement (condition 1) and 6D orientation (or FSM/MLC logic) to verify that the device is in the desired position (condition 2). These events can be routed to INT1/INT2 so that an external MCU or power‑management circuit is awakened when both conditions are satisfied.

However, the sensor only provides level or latched interrupts; it has no internal long‑duration timer to generate a 15–20 s pulse. The typical architecture is therefore:

  1. ISM330DHCX in low‑power accelerometer mode with wake‑up + 6D/FSM enabled and routed to INT1.
  2. INT1 goes high when the configured motion/orientation event occurs.
  3. The external MCU or power circuitry turns on the LDO and maintains power for 15–20 s (or as required), based on its own timer.
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
Federica Bossi
ST Employee

Hi @YBAYR.1 ,

The ISM330DHCX can reliably detect both motion and orientation in low‑power mode, but it cannot autonomously keep INT1 high for a fixed 15–20 s.

You can use the built‑in wake‑up function to detect movement (condition 1) and 6D orientation (or FSM/MLC logic) to verify that the device is in the desired position (condition 2). These events can be routed to INT1/INT2 so that an external MCU or power‑management circuit is awakened when both conditions are satisfied.

However, the sensor only provides level or latched interrupts; it has no internal long‑duration timer to generate a 15–20 s pulse. The typical architecture is therefore:

  1. ISM330DHCX in low‑power accelerometer mode with wake‑up + 6D/FSM enabled and routed to INT1.
  2. INT1 goes high when the configured motion/orientation event occurs.
  3. The external MCU or power circuitry turns on the LDO and maintains power for 15–20 s (or as required), based on its own timer.
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

How can I adjust the pulse duration? What is the maximum duration I can set?

Hi @YBAYR.1 ,

The ISM330DHCX does not allow you to directly program a long interrupt pulse (e.g. 15–20 s) on INT1/INT2.

What you can set via the *_DUR registers (e.g. WAKE_UP_DUR) is only the qualification time: how long a condition (wake‑up, 6D, etc.) must be true before the interrupt is generated. This duration is expressed in multiples of the accelerometer ODR, so at low ODR you can reach at most a few seconds, and it only affects when the event is declared, not how long the INT pin stays high.

Please refer to AN5398

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.