The Bosch BNO055 is an excellent IMU at its price point and extremely common among hobbyists and industry alike. Many are using it in Jetson TX1/TX2/Xavier boards over I2C, as well as other boards that have exposed I2C ports.
I found a RS232 driver for ROS, as well as an I2C driver that depended on RTIMULib, but that project looks seemingly defunct and cumbersome as an install requirement.
So for all of you BNO055 fans out there I wrote a ROS driver that doesn’t depend on anything except libic2-dev. You might need to give permissions to the ROS user by adding it to the i2c group as well.
I’ve tested this on a TX2. It should work out of the box on other Jetson boards. I haven’t yet tested it on a Raspberry Pi but you’ll need to slow down the I2C clock to use it with a BNO055 as the Pi doesn’t support clock stretching.
The calibration service isn’t implemented yet. I welcome pull requests or contributions.