Never was much of an Arduino fan, but it is the fastest way to go if you want to play with a new sensor. (Once I get familiar with the sensor, I'll move the project to something like an STM32 microcontroller.) While Arduino libraries are nice and get you up to speed quickly, so much stuff that I would like to be aware of gets hidden in them. For example, what's the I2C address, what pins is the SPI using, what is the SPI clock rate, etc? As time goes on, I plan to move as much as possible from the Arduino IDE to VS Code with the PlatformIO plug-in.
These projects are mostly about using the BNO055 9-axis Adafruit IMU Fusion breakout board with the Arduino Nano 33 BLE.
The connections between the Nano 33 BLE and the Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout-BNO055 are shown here. It's pretty simple - only 4 connections are required. I tried to use 5V from the Nano to power the Vin pin of the 9-DOF board, but I didn't see any sensor outputs; meanwhile, 3.3 V worked fine.
This project sends all 9-axis data from the three sensors to the serial port.
This project continuously shows the calibration factors of the gyro, accelerometer, amgnetometer, and "system" as well as the acceleration in X, Y, and Z in m/sec^2. A factor of 0 means the sensor is completely uncalibrated, and 3 means the sensor in question is completely calibrated. You can twirl the board around and see how this affects calibration. Calibration of the accelerometer is a bit tricky. If you can get the accelerometer calibrated, you can lay the board flat and see if you measure gravity to be close to 9.8 m/sec^2.