The BNO055 absolute orientation sensor is an amazing device. It integrates an accelerometer, a gyroscope and a 32-bit microcontroller in a single package. Not only can you read the sensors at the same time, but a fusion algorithm running on the on-board microcontroller analyzes all the measured data and calculates the orientation of the device in space.
It can be distinguished between non-absolute or relative orientation and absolute orientation. Absolute orientation means orientation of the sensor with respect to the earth and its magnetic field. In other words, absolute orientation sensor fusion modes calculate the direction of the magnetic north pole. In non-absolute orientation modes, the heading of the sensor can vary depending on how the sensor was placed initially.
Here are 5 features that make the BlueDot BNO055 9-Axis IMU such an amazing board:
Important Note: The sensors TSL2591 and BNO055 share the same I2C addresses (0x28 and 0x29). Despite using only the address 0x29 for the I2C communication, the sensor TSL2591 also reserves the address 0x28 all the time. If you wish to use the BME280+TSL2591 board together with the BNO055 board, please consider using an I2C multiplexer.
Along with the BlueDot BNO055 Board you also get a 10 pin header to connect the sensor. The easiest way to solder the board is to insert the header into a breadboard (long pins down) and solder the short pins down.
The BlueDot BNO055 IMU Board is hardwired to use the I2C communication protocol. The first step to use the sensor is to connect the board to a power supply.
Connecting the sensor to the I2C bus is very easy. For that you need only two wires. The clock signal is generated by the Arduino and transferred to the sensor through the SCL line. The Arduino can send commands to the sensor using the SDA line. Just as well, all data from the sensor goes back to the Arduino through the SDA line. Because of that, the SDA line is bidirectional.
That is all! You can leave the other pins unconnected and you are good to go! But what about the other pins, you may be wondering?
The BlueDot BNO055 board works great with the Arduino Library written by Adafruit. The easiest way to start using the BNO055 IMU is to download and install the library directly from the Arduino IDE. Just open the Arduino IDE and go to Sketch > Include Library > Manage Libraries... and search for the Adafruit BNO055 Library on the Library Manager.
You can also go straight to the Adafruit Github page and download the latest version of the BNO055 library.
xkcd.com
After installing the library we can open an example sketch. Adafruit included a great example, which we can use to run the BNO055 IMU. Just go to File > Examples > Adafruit BNO055 Library and open the sketch rawdata.
Now upload the example sketch to your microcontroller and you are good to go!
xkcd.com
A 3D model of the BlueDot BNO055 board is available as a STEP file (click here to download). A STEP file is a CAD file format widely used for exchanging CAD files between companies and can be easily read by most (if not all) CAD software applications.
You can also view 3D models online without installing any software on your computer. The images below were taken using Autodesk Viewer, a online, free to use tool from Autodesk. It does require a registration at Autodesk, but it is worth it!
xkcd.com