Hi. I am using the MPU6050 in interrupt mode. I want it to interrupt my ESP32 when movement is detected. I don't need to read anything from the MPU6050 when that interrupt happens, but just get the message that there was movement.
This works under normal circumstances. However, if I turn on cycle mode, which makes the MPU6050 go into a low power mode and only cycle at 1.25Hz or at any of the cycle rates:
Then the MPU6050 will not interrupt when moved. If I take the MPU out of that mode, interrupts start happening again.
Can anyone verify that this is normal, or if I am doing something wrong? It seems to me that the low power cycle mode should be well suited for use with the interrupt, but that does not seem to be the case.
Sorry from what I can find it will not happen. That is a programmable feature so the internal MCU has to be running to generate that interrupt. I took this directly from the data sheet available at: https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf Directly from the data sheet:
7.9 Digital Motion Processor
The embedded Digital Motion Processor (DMP) is located within the MPU-60X0 and offloads computation of motion processing algorithms from the host processor. The DMP acquires data from accelerometers, gyroscopes, and additional 3 rd party sensors such as magnetometers, and processes the data. The resulting data can be read from the DMP’s registers, or can be buffered in a FIFO. The DMP has access to one of the MPU’s external pins, which can be used for generating interrupts. If I am interpreting this wrong I expect somebody will let me know. I do not have the sensor and only did a brief scan of the data sheet.
That matches my experience. I can't seem to get an interrupt in cycle mode. It would be great to be able to drop the power consumption down to small µAs, but have it still be able to generate an interrupt.