Wire the BMI160 IMU to the Jetson Nano or Xavier

The Bosch Sensortec BMI160 Inertial Measurement Unit attaches to the Jetson board via the 40 pin GPIO Expansion Header. The IMU sample app is configured to look for the BMI160 on I2C bus 1. Here are instructions on how to wire the IMU to I2C bus 1.

Note

The BMI160 IMU is an exposed PCB. When handling this device, avoid contact that could lead to electrostatic discharge (ESD), which may damage the device.

From the BMI160 to the Jetson Nano 40 pin connector attach VIN to GPIO 1, GND to GPIO 6, SCL to GPIO 5, and SDA to GPIO 3.

BMI160 GPIO
VIN 1
GND 6
SCL 5
SDA 3

It is a little hard to see the wiring in these photos since the Nano is attached to a robot, so multiple photos are included.

nano_example1.jpg

nano_example2.jpg

nano_example3.jpg

Wiring:

Copy
Copied!
            

Green wire: VIN => GPIO 1 Red wire: SDA => GPIO 3 Orange wire: SCL => GPIO 5 Yellow wire: GND => GPIO 6

From the BMI160 to the Jetson Xavier 40 pin connector attach VIN to GPIO 17, GND to GPIO 25, SCL to GPIO 28, and SDA to GPIO 27.

BMI160 GPIO
VIN 17
GND 25
SCL 28
SDA 27
xavier_example.jpg

Wiring:

Copy
Copied!
            

Green wire: VIN => GPIO 17 Yellow wire: GND => GPIO 25 Red wire: SDA => GPIO 27 Orange wire: SCL => GPIO 28

On the Jetson, /dev/i2c-* is owned by the user root, and are in the group i2c. The sample app will need to run as either root, or by a user in the i2c group.

To add the current user to the i2c group, use the following command:

Copy
Copied!
            

sudo usermod -a -G i2c $USER

Previous NVIDIA Kaya
Next Connecting Adafruit NeoPixels to Jetson Xavier
© Copyright 2018-2020, NVIDIA Corporation. Last updated on Apr 19, 2024.