We’re using the BNO055 with an ESP32 microcontroller in a custom pcb, with the goal of using the BNO055 to wake the ESP32 when it goes into Deep Sleep mode, waking it via an Any Motion interrupt.
When the BNO055 is in Low Power mode it properly triggers the Any Motion interrupt whilst the ESP32 is awake. However, when the ESP32 goes into Deep Sleep mode, the BNO055 immediately triggers the interrupt rather than waiting until it’s actually moved.
I’ve tried using the BNO055 in Normal Mode and it properly triggers the interrupt only when moved (waking the ESP32 from deep sleep mode), so at first we thought the issue was BNO055’s Low Power Mode not properly triggering the interrupt when the microcontroller was asleep.
However, we also tried using a BNO055 breakout board with an ESP32 dev kit and it seems to work properly when the BNO055 is in Low Power Mode (triggering the interrupt and waking the ESP32 from deep sleep mode).
What could be causing this? The main difference between our pcb and the (breakout board + dev kit) setup is that we didn’t use an external crystal oscillator, but before we redesign the boards we were wondering what other causes there could be.