Spoiler: I got this to run, yet wanted to document this scenario in case it is useful to someone else.
Backgroundnreference: Initially, I configured the ‘ESP32 IOT Redboard’ to run the BNO08x example using SPI for the Rotation Vector. My goal was to get the SPI working (previously I had used I2C interface). This worked well as documented.
Then I wanted to switch the microcontroller over to the ESP32 thing Plus C, so I wrote a similar test program. I used the same GPIO36 (A4) for the interrupt signal from the BNO086 and GPIO 33 for the BNO086 reset signal. The thing plus GPIO35 (A5) is documented as an input only signal. I also wired the default SPI signals (SCK, PICO, POCI) and a data select signal. When running the test code, the ‘Sparkfun_BNO08X_Arduino_Library.cpp’, was continuously executing (timeout, hardware reset) the ‘hal_wait_for_int()’ function, essentially not recognizing the INT signal going low. I o’scoped all signals to see that they all looked ‘generally’ okay. Then I switch the BNO086 INT signal input to the Thing Plus C ‘GPIO 04’ (FREE) pin. Then the interrupt signal was recognized, and the example program ran successfully.
So my ‘confusion’ is why the A4 (GPIO36) was not recognizing the incoming interrupt signal. Keep in mind, the same ‘A4 pin’ did function correctly as the interrupt signal when I ran the same Thing Plus C device using I2C interface.
1 Like
Thanks for posting your method!