Skip to main content
Visitor II
April 4, 2020
Question

LIS3DH. Can I use it to wake up nRF devices in an active way?

  • April 4, 2020
  • 1 reply
  • 2053 views

nRF + LIS3DH board. I need to reduce current of the nRF advertising. I want to stop the nRF advertising and use LIS3DH to trigger restarting. Can I have the LIS3DH to monitor accel data and wake up nRF when reach a threshold? I know I can have nRF connect to the LIS3DH timely through I2C to check, but the I2C is current costing, and is much more than the advertising. I am looking for a way to trigger nRF advertising by LIS3DH without using I2C.

Thanks,

    This topic has been closed for replies.

    1 reply

    Visitor II
    April 4, 2020

    Hello,

    Yes, it is possible. You have two pins on the LIS3DH called INT1 and INT2. When the conditions meets your specifications, there is a rising edge on INT1 or INT2, so you can wake up your uC. You will need to program the duration, the value, and to activate x or/and y or/and z axis by changing the different control registers and interruption registers. And, of course, you will need to program your nrf to be waken up on rising edge.

    DJi.1Author
    Visitor II
    April 4, 2020

    Thanks a lot. So how the nRF to know the registers change? Reading it through i2c? You know that's more current consumption. Can you please share more about how the program the nRF to be waken on the rising edge, without using i2c timely reading registers?

    Thanks,​

    Visitor II
    April 4, 2020

    The nrf knows registers changed because of the rising edge on INT1 or INT2. For example, if I need to have an alarm if a freefall occurs on my system, I have to configure the registers of the lis3dh to detect no acceleration on x/y/z axis during xx ms (depends on the needs of my system). It avoids reading constantly the registers through i2c.

    I am not an nrf expert and you didn't tell the reference of the chip, so I can't help you anymore.