I have a BNO055 fixed to a flat board where I want to detect and monitor small tilts being made (so am only interested in the pitch and roll).
Specifically, the BNO005 is
https://thepihut.com/products/adafruit- ... -qt-qwiic
I am getting very noisy data returns when trying to read from the unit and wondered if this is normal?
Data is read using c# and the dotnet.iot library from here;
https://github.com/dotnet/iot/blob/main ... /README.md
Debug information from the unit is
Example of the returned results (when level and nothing is moving at all) are;
Do these results look ok? I have looked implemented removing outliers and moving avergaes etc, but this then reduces the detection of small changes in the pitch and roll?
Does anyone have any ideas on how to improve this whilst being able to detect small tilts in the planes?
Specifically, the BNO005 is
https://thepihut.com/products/adafruit- ... -qt-qwiic
I am getting very noisy data returns when trying to read from the unit and wondered if this is normal?
Data is read using c# and the dotnet.iot library from here;
https://github.com/dotnet/iot/blob/main ... /README.md
Debug information from the unit is
The unit is flat and level on the underside of the surface at this point. The device is returning as being calibrated too.Id: 0, AccId: 251, GyroId: 15, MagId: 50
Firmware version: 3.17, Bootloader: 21.0
Temperature source: Gyroscope, Operation mode: AccelerometerMagnetometerGyroscopeRelativeOrientation, Units: AccelerationMeterPerSecond
Powermode: Normal
AccelerometerGyroscope operation mode set to AccelerometerGyroscopeRelativeOrientation
SelfTest result: AcceleratorSuccess, MagentometerSuccess, GyroscopeSuccess, McuSuccess
BNO055 initialized with I2C address 40 on bus 1.
Example of the returned results (when level and nothing is moving at all) are;
Code:
Pitch:1.311003329338388E-05, Roll:-0.0006801123577782064.Pitch:-0.00030876634011857765, Roll:-0.0009765858109662684.Pitch:-1.3017185860001584E-06, Roll:-0.0009416831901154499.Pitch:-1.5750324904237334E-06, Roll:-0.0009068064887187699.Pitch:1.4090054485275255E-05, Roll:-0.0009416831901154499.Pitch:-1.2068458998086562E-06, Roll:-0.0009416845990686262.Pitch:-1.2068458998086562E-06, Roll:-0.0009242464496492797.Pitch:-8.885399088493298E-06, Roll:-0.0009242464496492797.Pitch:1.3639286078392932E-05, Roll:-0.0009591227484881948.Pitch:-1.0284046798141044E-06, Roll:-0.0008370530859251879.Pitch:-6.450063751717305E-07, Roll:-0.0009591227484881948.Pitch:-1.3856476798815298E-06, Roll:-0.0009068101153597574.Pitch:1.3468531264482914E-05, Roll:-0.0009591239585746703.Pitch:-9.953581993227961E-07, Roll:-0.0009765629167344247.Pitch:-1.6326266453691243E-05, Roll:-0.000959124564827496.Pitch:-0.00032876034615711425, Roll:-0.0009242448394171099.Pitch:-0.00032051956036573126, Roll:-0.0009591227484881948.Pitch:-1.6628771001052367E-05, Roll:-0.0009416845990686262.Pitch:-1.2068458998086562E-06, Roll:-0.0009765608979075413.
Does anyone have any ideas on how to improve this whilst being able to detect small tilts in the planes?
Statistics: Posted by mfit — Mon Feb 17, 2025 10:07 am