In some earlier articles, we installed the Bosch BNO055 on both the NVIDIA Jetson TK1 and Jetson TX1 development kits. However, the explanation for installation on the Jetson TK1 was a little too round about, even by the low bar we set around here. Therefore, here’s a more direct installation article. Looky here:
The parts used in the demonstration:
- Adafruit BNO055 Absolute Orientation Sensor Breakout Board
- 20 CM Machine Pin Wire Kit/10 Pack
- SparkFun USB Type A Female Breakout
- SparkFun microB USB Breakout
- Jetson TK1 programming cable, USB to microUSB
- Hookup wire (In the video Hook up Wire – 22 Gauge
- Breadboard (In the video, a Solderless BreadBoard, 400 tie-points, 4 power rails
The BNO055 is connected to the I2C Gen2 signals (I2C bus 1) on the Jetson J3A1 connector as follows:
GND J3A1-14 -> BNO055 (GND)
VCC J3A1-16 -> BNO055 (VCC – 3.3V)
SCL J3A1-18 -> BNO055 (SCL)
SDA J3A1-20 -> BNO055 (SDA)
In the video, we use the machine pin jumper wire to attach to a breadboard, then wire the USB A breakout to the signals. Headers are soldered onto the BNO055 breakout board, inserted into a breadboard, and then wired similarly to the first breadboard to bring the signals from the microB USB connector. The programming cable is then plugged into the breadboard USB ports to carry the signal across the boards. The extra cable length makes it easier to move the IMU for demonstration purposes.
Conceptually, the signals are just being wired from the J3A1 header straight to the BNO055, there’s just some wire being added in the middle.
For real projects you will want a more permanent solution.
Software Setup and Installation
Once the board is wired up, turn the Jetson TK1 on.
In order to be able inspect the i2c bus, you will find it useful to install the i2c tools:
$ sudo apt-get install libi2c-dev i2c-tools
After installation, in a Terminal execute:
$ sudo i2cdetect -y -r 1
You should see an entry of 0x28, which is the default address of the IMU.
The demonstration software is available in the JetsonHacks Github RTIMULib repository. RTIMULib is originally from from richards-tech LLC. Here is an article which gives a deeper talk about IMU stuff on that website.
To install the demonstration:
git clone https://github.com/jetsonhacks/RTIMULib.git
then open a file browser and navigate to ‘./RTIMULib/Linux/RTIMULibDemoGL’. Then open the file ‘RTIMULibDemoGL.pro’ with Qt Creator and compile the demo. Here’s an article we did a while ago on how to install Qt Creator.
After the file is finished building, go to where the executable file resides (this is dependent on how Qt Creator is configured) and execute the demo using ‘sudo’. For example:
$ sudo ./RTIMULibDemoGL
At that point the demonstration should begin with the IMU orientation being displayed in a GUI.