Skip to content

-92 degrees celsius randomly returned from imu's temperature field #58

@snowpuppy

Description

@snowpuppy

While graphing this data, it was noticed that there were arbitrary dips to a negative value in the range of -92 degrees Celsius. Upon writing a simple test script, it was noticed that the library is indeed returning these large negative temperature values.

Sample Script:

!/bin/python

import board
import busio
import adafruit_bno055
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_bno055.BNO055_I2C(i2c)

for i in range(1000):
    print('Temperature: {} degrees C'.format(sensor.temperature))
    print('Accelerometer: (m/s^2): {}'.format(sensor.acceleration))
    print('Magnetometer (microteslas): {}'.format(sensor.magnetic))
    print('Gyroscope (deg/sec): {}'.format(sensor.gyro))
    print('Euler angle: {}'.format(sensor.euler))
    print('Quaternion: {}'.format(sensor.quaternion))
    print('Linear acceleration (m/s^2): {}'.format(sensor.linear_acceleration))
    print('Gravity (m/s^2): {}'.format(sensor.gravity))

The output was redirected to a file like so:
python3 imu_test.py > read_imu.txt
Then ran grep for Temperature values:
cat read_imu.txt | grep Temperature
The output shows that temperature arbitrarily drops to -92/-93 degrees:

Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: -93 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C
Temperature: -93 degrees C
Temperature: 35 degrees C
Temperature: 35 degrees C

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions