The BNO085 supports three interfaces; the choice depends on your MCU’s pin budget and target sample rate.
| Interface | Max rate | Pins | Notes |
|---|---|---|---|
| I²C | 400 kHz | 2 (SDA, SCL) | Easy, shares bus with other I²C sensors |
| SPI | 3 MHz | 4 (MOSI, MISO, SCK, CS) + 2 interrupt pins | Highest rate; needs more wires |
| UART | 3 Mbps | 2 (TX, RX) | Simplest hardware; good for long runs |
For our ESP32-S3 with the SH-2 fusion library, SPI is the preferred interface — gives the highest sample rate (400 Hz) for tight attitude control. I²C is acceptable for slower observation loops.
Where to go next
- BNO085 hub
- Fusion
- Host-testable Arduino pattern — same testing approach applies to BNO085 driver