Now to test the suggested fixes for slowing down / speeding up the I2C clock and see if it fixes the demonstrated issues with the BNO055 and BNO085.

Clock Slow Down Fix for BNO055

With the line:

dtparam=i2c_arm_baudrate=10000

added to /boot/config.txt and the Pi rebooted, try again the same library example:

[email protected]:~ $ python3 bno055_simpletest.py
Temperature: 22 degrees C
Accelerometer (m/s^2): (0.13, -0.33, 9.89)
Magnetometer (microteslas): (37.75, -27.6875, -65.25)
Gyroscope (rad/sec): (-0.001090830782496456, -0.003272492347489368, -0.001090830782496456)
Euler angle: (0.0, 0.0, 0.0)
Quaternion: (1.0, 0.0, 0.0, 0.0)
Linear acceleration (m/s^2): (0.15, -0.33, 0.06)
Gravity (m/s^2): (0.0, 0.0, 9.8)

Temperature: 22 degrees C
Accelerometer (m/s^2): (0.15, -0.34, 9.96)
Magnetometer (microteslas): (39.1875, -26.5625, -64.25)
Gyroscope (rad/sec): (-0.001090830782496456, 0.0, -0.001090830782496456)
Euler angle: (0.0, 0.8125, 1.875)
Quaternion: (0.99981689453125, -0.01666259765625, -0.00726318359375, 0.0)
Linear acceleration (m/s^2): (0.0, -0.01, 0.12)
Gravity (m/s^2): (0.14, -0.32, 9.8)

Temperature: 22 degrees C
Accelerometer (m/s^2): (0.13, -0.34, 9.99)
Magnetometer (microteslas): (38.75, -26.25, -64.6875)
Gyroscope (rad/sec): (0.0, 0.001090830782496456, -0.002181661564992912)
Euler angle: (0.0, 0.8125, 1.875)
Quaternion: (0.99981689453125, -0.01666259765625, -0.00726318359375, 0.0)
Linear acceleration (m/s^2): (0.0, 0.0, 0.15)
Gravity (m/s^2): (0.14, -0.32, 9.8)

Much better.

Clock Speed Up Fix for BNO085

With the line:

dtparam=i2c_arm_baudrate=400000

added to /boot/config.txt and the Pi rebooted, try running the same library example:

[email protected]:~ $ python3 bno08x_simpletest.py
Acceleration:
X: 0.574219  Y: -0.113281 Z: 10.000000  m/s^2

Gyro:
X: 0.000000  Y: 0.000000 Z: 0.000000 rads/s

Magnetometer:
X: 13.812500  Y: 22.375000 Z: -45.875000 uT

Rotation Vector Quaternion:
I: 0.003662  J: -0.025330 K: 0.294250  Real: 0.955383

Acceleration:
X: 0.613281  Y: -0.113281 Z: 10.031250  m/s^2

Gyro:
X: 0.000000  Y: 0.000000 Z: -0.001953 rads/s

Magnetometer:
X: 14.187500  Y: 23.125000 Z: -43.187500 uT

Rotation Vector Quaternion:
I: 0.003662  J: -0.028625 K: 0.316528  Real: 0.948120

And now it's working.

This guide was first published on Oct 26, 2022. It was last updated on Oct 26, 2022.

This page (Example Fixes) was last updated on Oct 24, 2022.

Text editor powered by tinymce.