BNO085 Magnetometer displayed as 0.0 #14

Closed
opened 2026-04-05 17:51:37 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @ForestHouse2316 on 1/1/2026

Setups

  • D1 MINI
  • BNO085
  • Firmware v0.7.1, v0.7.1, vmain
  • Five trackers
  • I2C protocol

Problem

Magnetometer displayed as 0.0 in all trackers though I turned on the "Allow magnetometer" button.

Image

Tries I did

SlimeVR setting

Of course, I did calibration, stay aligned, and allowing magnetometer in SlimeVR UI.

Shaking tracker over a minute

None of them worked.

  • shake after rest calibration
  • start shaking instantly after turning on the tracker

Shaking shape is 8, similar to smartphone's gyro calibration.

Sensor raw value test

With arduino IDE, I tested my BNO's rotation and magnetometer.
And both are working well.
Rotating tracker and taking closer to magnet makes the change in the output of those codes.
So it means, at least, my sensor is alive.

rotation test code

#include <Adafruit_BNO08x.h>
#define BNO08X_RESET -1
#define BNO08X_INT   -1

Adafruit_BNO08x  bno08x(BNO08X_RESET);
sh2_SensorValue_t sensorValue;

void setup(void) {
  Serial.begin(115200);
  while (!Serial) delay(10);     

  Serial.println("Adafruit BNO08x test!");

  if (!bno08x.begin_I2C()) {
    Serial.println("Failed to find BNO08x chip");
    while (1) { delay(10); }
  }

  Serial.println("BNO08x Found!");

  setReports();

  Serial.println("Reading events...");
  delay(100);
}

void setReports(void) {
  if (! bno08x.enableReport(SH2_ARVR_STABILIZED_RV, 5000)) {
    Serial.println("Could not enable stabilized remote vector");
  }
}

void loop() {
  if (bno08x.getSensorEvent(&sensorValue)) {
    switch (sensorValue.sensorId) {
      case SH2_ARVR_STABILIZED_RV:
        Serial.print("Rotation Vector - r: ");
        Serial.print(sensorValue.un.arvrStabilizedRV.real);
        Serial.print(" i: ");
        Serial.print(sensorValue.un.arvrStabilizedRV.i);
        Serial.print(" j: ");
        Serial.print(sensorValue.un.arvrStabilizedRV.j);
        Serial.print(" k: ");
        Serial.println(sensorValue.un.arvrStabilizedRV.k);
        break;
    }
  }
}

magnetometer test code

#include <Adafruit_BNO08x.h>

#define BNO08X_RESET -1  
#define BNO08X_INT   -1  

Adafruit_BNO08x  bno08x(BNO08X_RESET);
sh2_SensorValue_t sensorValue;

void setup(void) {
  Serial.begin(115200);
  while (!Serial) delay(10);     

  Serial.println("Magnetometer Test");

  if (!bno08x.begin_I2C()) {
    Serial.println("Failed to find BNO08x chip");
    while (1) { delay(10); }
  }

  Serial.println("BNO08x Found!");

  setReports();

  Serial.println("Reading Magnetic Field (uT)...");
  delay(100);
}

void setReports(void) {
  if (! bno08x.enableReport(SH2_MAGNETIC_FIELD_CALIBRATED, 10000)) {
    Serial.println("Could not enable magnetic field report");
  }
}

void loop() {
  if (bno08x.getSensorEvent(&sensorValue)) {
    switch (sensorValue.sensorId) {
      case SH2_MAGNETIC_FIELD_CALIBRATED:
        Serial.print("Mag X: ");
        Serial.print(sensorValue.un.magneticField.x);
        Serial.print(" uT\t Y: ");
        Serial.print(sensorValue.un.magneticField.y);
        Serial.print(" uT\t Z: ");
        Serial.println(sensorValue.un.magneticField.z);
        break;
    }
  }
}

Modifying firmware

Using vmain firmware and PIO, I tried some settings below:

  • #define I2C_SPEED 100000
  • Explicit board, IMU, pin number defining
  • #define USE_6_AXIS false
  • #define IMU_ROTATION_VECTOR_TYPE 1
  • #define BNO_USE_ARVR_STABILIZATION true
  • #define serialDebug true

Upload log

>>> Appending build flags:
  -DBOARD=BOARD_WEMOSD1MINI
  -DLED_PIN=2
  -DLED_INVERTED=true
  -DPIN_IMU_SDA=D2
  -DPIN_IMU_SCL=D1
  -DPIN_IMU_INT_2=D6
  -DPIN_IMU_INT=D5
  -DSENSOR_DESC_LIST='SENSOR_DESC_ENTRY(IMU_AUTO,PRIMARY_IMU_ADDRESS_ONE,DEG_270,DIRECT_WIRE(D1, D2),false,DIRECT_PIN(D5),0) SENSOR_DESC_ENTRY(IMU_AUTO,SECONDARY_IMU_ADDRESS_TWO,DEG_270,DIRECT_WIRE(D1, D2),true,DIRECT_PIN(D6),0)'
  -DBATTERY_MONITOR=BAT_EXTERNAL
  -DPIN_BATTERY_LEVEL=A0
  -DBATTERY_SHIELD_RESISTANCE=180
  -DBATTERY_SHIELD_R1=100
  -DBATTERY_SHIELD_R2=220
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (4.2.1) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 @ 3.30102.0 (3.1.2)
 - tool-esptool @ 1.413.0 (4.13)
 - tool-esptoolpy @ 1.30000.201119 (3.0.0)
 - tool-mklittlefs @ 1.203.210628 (2.3)
 - tool-mkspiffs @ 1.200.0 (2.0)
 - toolchain-xtensa @ 2.100300.220621 (10.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 56 compatible libraries
Scanning dependencies...
Dependency Graph
|-- CmdParser @ 0.0.0+sha.dcaa7ea
|-- base64 @ 1.4.0+sha.ac168f5
|-- Adafruit MCP23017 Arduino Library @ 2.3.2+sha.9e67e37
|-- PCA9547 @ 0.1.1+sha.1286452
|-- LittleFS @ 0.1.0
|-- ota
|-- Wire @ 1.0
|-- i2cscan
|-- bno080
|-- mpu6050
|-- magneto
|-- math
|-- i2cdev
|-- SparkFun 9DoF IMU Breakout - ICM 20948 - Arduino Library @ 1.2.9
|-- ESP8266WiFi @ 1.0
|-- SPI @ 1.0
|-- vqf
|-- bno055_adafruit
|-- mpu9250
Building in release mode
Retrieving maximum program size .pio\build\BOARD_WEMOSD1MINI\firmware.elf
Checking size .pio\build\BOARD_WEMOSD1MINI\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=====     ]  51.7% (used 42380 bytes from 81920 bytes)
Flash: [=====     ]  51.6% (used 538631 bytes from 1044464 bytes)
Configuring upload protocol...
AVAILABLE: espota, esptool
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM6
Uploading .pio\build\BOARD_WEMOSD1MINI\firmware.bin
esptool.py v3.0
Serial port COM6
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 98:f4:ab:f5:7d:12
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Compressed 542784 bytes to 371986...
Writing at 0x00000000... (4 %)
Writing at 0x00004000... (8 %)
Writing at 0x00008000... (13 %)
Writing at 0x0000c000... (17 %)
Writing at 0x00010000... (21 %)
Writing at 0x00014000... (26 %)
Writing at 0x00018000... (30 %)
Writing at 0x0001c000... (34 %)
Writing at 0x00020000... (39 %)
Writing at 0x00024000... (43 %)
Writing at 0x00028000... (47 %)
Writing at 0x0002c000... (52 %)
Writing at 0x00030000... (56 %)
Writing at 0x00034000... (60 %)
Writing at 0x00038000... (65 %)
Writing at 0x0003c000... (69 %)
Writing at 0x00040000... (73 %)
Writing at 0x00044000... (78 %)
Writing at 0x00048000... (82 %)
Writing at 0x0004c000... (86 %)
Writing at 0x00050000... (91 %)
Writing at 0x00054000... (95 %)
Writing at 0x00058000... (100 %)
Wrote 542784 bytes (371986 compressed) at 0x00000000 in 5.6 seconds (effective 775.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
============================================================================================================================================================================================================================= [SUCCESS] Took 11.24 seconds =============================================================================================================================================================================================================================

Serial log

[INFO ] [SlimeVR] SlimeVR vmain starting up...
[INFO ] [SlimeVR] Vendor: Unknown, product: DIY SlimeVR Tracker
[INFO ] [Configuration] Found up-to-date configuration v1
[INFO ] [Configuration] Loaded configuration
[INFO ] [SensorManager] Sensor 0 automatically detected with BNO085
[INFO ] [BNO085Sensor:0] Connected to BNO085 on 0x4a. Info: SW Version Major: 0x03 SW Version Minor: 0x02 SW Part Number: 0x98a6b4 SW Build Number: 0x06 SW Version Patch: 0x0d
[INFO ] [SensorManager] Sensor 0 configured
[ERROR] [SensorManager] Can't find sensor type for sensor 1
[INFO ] [SensorManager] 1 sensor(s) configured
[INFO ] [WiFiHandler] Setting up WiFi
[INFO ] [WiFiHandler] Loaded credentials for SSID 'potato' and pass length 10
[NOTICE] OTA updates allowed
.[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0
[INFO ] [WiFiHandler] Connected successfully to SSID 'potato', IP address 192.168.45.97
[INFO ] [UDPConnection] Searching for the server on the local network...
[DEBUG] [UDPConnection] Handshake successful, server is 192.168.45.81:6969
[DEBUG] [UDPConnection] Server supports packet bundling
[INFO ] [BNO085Sensor:0] Rest calibration completed
[INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5
[INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: 
[INFO ] [SerialCommands] Sensor[0]: BNO085 (0.028 0.001 0.968 0.249) is working: true, had data: true
[INFO ] [SerialCommands] Battery voltage: 1.290, level: 0.0%
[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0
[INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5
[INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name:
[INFO ] [SerialCommands] Sensor[0]: BNO085 (0.027 0.002 0.968 0.251) is working: true, had data: true
[INFO ] [SerialCommands] Battery voltage: 1.290, level: 0.0%
[INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5
[INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name:
[INFO ] [SerialCommands] Sensor[0]: BNO085 (-0.305 0.263 0.911 -0.090) is working: true, had data: true
[INFO ] [SerialCommands] Battery voltage: 1.305, level: 0.0%
[INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5
[INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: 
[INFO ] [SerialCommands] Sensor[0]: BNO085 (0.010 -0.015 0.942 0.336) is working: true, had data: true
[INFO ] [SerialCommands] Battery voltage: 1.295, level: 0.0%

After this log, same [INFO] lines just repeated for over an hour.

In that log, we can see two outstanding lines:

.[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0
...
[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0

This lines appear on every startup of the trackers.
Always only one change exist. Accel 1 -> 0.
Google Gemini said that 0 means 'not calibrated', but in fact, only magnetometer is not working in my case.

Additionally, I changed IMU setting from AUTO to BNO085, but it didn't applied to build.
I tried to modify defines.h, debug.h, and consts.h. But all of them couldn't change that setting.
Only firmware tool did correctly.

v0.7.2 firmwware log

In this log, IMU designation worked well following to log below.
But this firmware also haven't solved my problem.

[INFO ] [SlimeVR] SlimeVR v0.7.2 starting up...
[INFO ] [SlimeVR] Vendor: Unknown, product: DIY SlimeVR Tracker
[INFO ] [Configuration] Found up-to-date configuration v1
[INFO ] [Configuration] Loaded configuration
[INFO ] [BNO085Sensor:0] Connected to BNO085 on 0x4a. Info: SW Version Major: 0x03 SW Version Minor: 0x02 SW Part Number: 0x98a6b4 SW Build Number: 0x06 SW Version Patch: 0x0d
[INFO ] [SensorManager] Sensor 0 configured
[INFO ] [SensorManager] 1 sensor(s) configured
[INFO ] [WiFiHandler] Setting up WiFi
...

And that "suspicious" lines exist too.

...
.[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0
.[INFO ] [BNO085Sensor:0] Rest calibration completed
...
[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0
*Originally created by @ForestHouse2316 on 1/1/2026* # Setups - D1 MINI - BNO085 - Firmware `v0.7.1`, `v0.7.1`, `vmain` - Five trackers - I2C protocol # Problem **Magnetometer displayed as 0.0 in all trackers though I turned on the "Allow magnetometer" button.** <img width="858" height="723" alt="Image" src="https://github.com/user-attachments/assets/02de9257-0c57-4fdc-9dfd-5f42004316e0" /> # Tries I did ## SlimeVR setting Of course, I did calibration, stay aligned, and allowing magnetometer in SlimeVR UI. ## Shaking tracker over a minute None of them worked. - shake after rest calibration - start shaking instantly after turning on the tracker Shaking shape is `8`, similar to smartphone's gyro calibration. ## Sensor raw value test With arduino IDE, I tested my BNO's rotation and magnetometer. **And both are working well.** Rotating tracker and taking closer to magnet makes the change in the output of those codes. So it means, at least, my sensor is alive. ### rotation test code ```c #include <Adafruit_BNO08x.h> #define BNO08X_RESET -1 #define BNO08X_INT -1 Adafruit_BNO08x bno08x(BNO08X_RESET); sh2_SensorValue_t sensorValue; void setup(void) { Serial.begin(115200); while (!Serial) delay(10); Serial.println("Adafruit BNO08x test!"); if (!bno08x.begin_I2C()) { Serial.println("Failed to find BNO08x chip"); while (1) { delay(10); } } Serial.println("BNO08x Found!"); setReports(); Serial.println("Reading events..."); delay(100); } void setReports(void) { if (! bno08x.enableReport(SH2_ARVR_STABILIZED_RV, 5000)) { Serial.println("Could not enable stabilized remote vector"); } } void loop() { if (bno08x.getSensorEvent(&sensorValue)) { switch (sensorValue.sensorId) { case SH2_ARVR_STABILIZED_RV: Serial.print("Rotation Vector - r: "); Serial.print(sensorValue.un.arvrStabilizedRV.real); Serial.print(" i: "); Serial.print(sensorValue.un.arvrStabilizedRV.i); Serial.print(" j: "); Serial.print(sensorValue.un.arvrStabilizedRV.j); Serial.print(" k: "); Serial.println(sensorValue.un.arvrStabilizedRV.k); break; } } } ``` ### magnetometer test code ```c #include <Adafruit_BNO08x.h> #define BNO08X_RESET -1 #define BNO08X_INT -1 Adafruit_BNO08x bno08x(BNO08X_RESET); sh2_SensorValue_t sensorValue; void setup(void) { Serial.begin(115200); while (!Serial) delay(10); Serial.println("Magnetometer Test"); if (!bno08x.begin_I2C()) { Serial.println("Failed to find BNO08x chip"); while (1) { delay(10); } } Serial.println("BNO08x Found!"); setReports(); Serial.println("Reading Magnetic Field (uT)..."); delay(100); } void setReports(void) { if (! bno08x.enableReport(SH2_MAGNETIC_FIELD_CALIBRATED, 10000)) { Serial.println("Could not enable magnetic field report"); } } void loop() { if (bno08x.getSensorEvent(&sensorValue)) { switch (sensorValue.sensorId) { case SH2_MAGNETIC_FIELD_CALIBRATED: Serial.print("Mag X: "); Serial.print(sensorValue.un.magneticField.x); Serial.print(" uT\t Y: "); Serial.print(sensorValue.un.magneticField.y); Serial.print(" uT\t Z: "); Serial.println(sensorValue.un.magneticField.z); break; } } } ``` ## Modifying firmware Using `vmain` firmware and PIO, I tried some settings below: - `#define I2C_SPEED 100000` - Explicit board, IMU, pin number defining - `#define USE_6_AXIS false` - `#define IMU_ROTATION_VECTOR_TYPE 1` - `#define BNO_USE_ARVR_STABILIZATION true` - `#define serialDebug true` ### Upload log ```bash >>> Appending build flags: -DBOARD=BOARD_WEMOSD1MINI -DLED_PIN=2 -DLED_INVERTED=true -DPIN_IMU_SDA=D2 -DPIN_IMU_SCL=D1 -DPIN_IMU_INT_2=D6 -DPIN_IMU_INT=D5 -DSENSOR_DESC_LIST='SENSOR_DESC_ENTRY(IMU_AUTO,PRIMARY_IMU_ADDRESS_ONE,DEG_270,DIRECT_WIRE(D1, D2),false,DIRECT_PIN(D5),0) SENSOR_DESC_ENTRY(IMU_AUTO,SECONDARY_IMU_ADDRESS_TWO,DEG_270,DIRECT_WIRE(D1, D2),true,DIRECT_PIN(D6),0)' -DBATTERY_MONITOR=BAT_EXTERNAL -DPIN_BATTERY_LEVEL=A0 -DBATTERY_SHIELD_RESISTANCE=180 -DBATTERY_SHIELD_R1=100 -DBATTERY_SHIELD_R2=220 CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html PLATFORM: Espressif 8266 (4.2.1) > Espressif ESP8266 ESP-12E HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash PACKAGES: - framework-arduinoespressif8266 @ 3.30102.0 (3.1.2) - tool-esptool @ 1.413.0 (4.13) - tool-esptoolpy @ 1.30000.201119 (3.0.0) - tool-mklittlefs @ 1.203.210628 (2.3) - tool-mkspiffs @ 1.200.0 (2.0) - toolchain-xtensa @ 2.100300.220621 (10.3.0) LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 56 compatible libraries Scanning dependencies... Dependency Graph |-- CmdParser @ 0.0.0+sha.dcaa7ea |-- base64 @ 1.4.0+sha.ac168f5 |-- Adafruit MCP23017 Arduino Library @ 2.3.2+sha.9e67e37 |-- PCA9547 @ 0.1.1+sha.1286452 |-- LittleFS @ 0.1.0 |-- ota |-- Wire @ 1.0 |-- i2cscan |-- bno080 |-- mpu6050 |-- magneto |-- math |-- i2cdev |-- SparkFun 9DoF IMU Breakout - ICM 20948 - Arduino Library @ 1.2.9 |-- ESP8266WiFi @ 1.0 |-- SPI @ 1.0 |-- vqf |-- bno055_adafruit |-- mpu9250 Building in release mode Retrieving maximum program size .pio\build\BOARD_WEMOSD1MINI\firmware.elf Checking size .pio\build\BOARD_WEMOSD1MINI\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [===== ] 51.7% (used 42380 bytes from 81920 bytes) Flash: [===== ] 51.6% (used 538631 bytes from 1044464 bytes) Configuring upload protocol... AVAILABLE: espota, esptool CURRENT: upload_protocol = esptool Looking for upload port... Auto-detected: COM6 Uploading .pio\build\BOARD_WEMOSD1MINI\firmware.bin esptool.py v3.0 Serial port COM6 Connecting.... Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 98:f4:ab:f5:7d:12 Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Compressed 542784 bytes to 371986... Writing at 0x00000000... (4 %) Writing at 0x00004000... (8 %) Writing at 0x00008000... (13 %) Writing at 0x0000c000... (17 %) Writing at 0x00010000... (21 %) Writing at 0x00014000... (26 %) Writing at 0x00018000... (30 %) Writing at 0x0001c000... (34 %) Writing at 0x00020000... (39 %) Writing at 0x00024000... (43 %) Writing at 0x00028000... (47 %) Writing at 0x0002c000... (52 %) Writing at 0x00030000... (56 %) Writing at 0x00034000... (60 %) Writing at 0x00038000... (65 %) Writing at 0x0003c000... (69 %) Writing at 0x00040000... (73 %) Writing at 0x00044000... (78 %) Writing at 0x00048000... (82 %) Writing at 0x0004c000... (86 %) Writing at 0x00050000... (91 %) Writing at 0x00054000... (95 %) Writing at 0x00058000... (100 %) Wrote 542784 bytes (371986 compressed) at 0x00000000 in 5.6 seconds (effective 775.6 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... ============================================================================================================================================================================================================================= [SUCCESS] Took 11.24 seconds ============================================================================================================================================================================================================================= ``` ### Serial log ``` [INFO ] [SlimeVR] SlimeVR vmain starting up... [INFO ] [SlimeVR] Vendor: Unknown, product: DIY SlimeVR Tracker [INFO ] [Configuration] Found up-to-date configuration v1 [INFO ] [Configuration] Loaded configuration [INFO ] [SensorManager] Sensor 0 automatically detected with BNO085 [INFO ] [BNO085Sensor:0] Connected to BNO085 on 0x4a. Info: SW Version Major: 0x03 SW Version Minor: 0x02 SW Part Number: 0x98a6b4 SW Build Number: 0x06 SW Version Patch: 0x0d [INFO ] [SensorManager] Sensor 0 configured [ERROR] [SensorManager] Can't find sensor type for sensor 1 [INFO ] [SensorManager] 1 sensor(s) configured [INFO ] [WiFiHandler] Setting up WiFi [INFO ] [WiFiHandler] Loaded credentials for SSID 'potato' and pass length 10 [NOTICE] OTA updates allowed .[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 [INFO ] [WiFiHandler] Connected successfully to SSID 'potato', IP address 192.168.45.97 [INFO ] [UDPConnection] Searching for the server on the local network... [DEBUG] [UDPConnection] Handshake successful, server is 192.168.45.81:6969 [DEBUG] [UDPConnection] Server supports packet bundling [INFO ] [BNO085Sensor:0] Rest calibration completed [INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5 [INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: [INFO ] [SerialCommands] Sensor[0]: BNO085 (0.028 0.001 0.968 0.249) is working: true, had data: true [INFO ] [SerialCommands] Battery voltage: 1.290, level: 0.0% [INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 [INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5 [INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: [INFO ] [SerialCommands] Sensor[0]: BNO085 (0.027 0.002 0.968 0.251) is working: true, had data: true [INFO ] [SerialCommands] Battery voltage: 1.290, level: 0.0% [INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5 [INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: [INFO ] [SerialCommands] Sensor[0]: BNO085 (-0.305 0.263 0.911 -0.090) is working: true, had data: true [INFO ] [SerialCommands] Battery voltage: 1.305, level: 0.0% [INFO ] [SerialCommands] SlimeVR Tracker, board: 6, hardware: 1, protocol: 21, firmware: main, address: 192.168.45.97, mac: 98:F4:AB:F5:7D:12, status: 2, wifi state: 5 [INFO ] [SerialCommands] Vendor: Unknown (), product: DIY SlimeVR Tracker, firmware update url: , name: [INFO ] [SerialCommands] Sensor[0]: BNO085 (0.010 -0.015 0.942 0.336) is working: true, had data: true [INFO ] [SerialCommands] Battery voltage: 1.295, level: 0.0% ``` After this log, same `[INFO]` lines just repeated for over an hour. In that log, we can see two outstanding lines: ``` .[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 ... [INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 ``` This lines appear on every startup of the trackers. Always only one change exist. Accel 1 -> 0. Google Gemini said that 0 means 'not calibrated', but in fact, only magnetometer is not working in my case. Additionally, I changed IMU setting from AUTO to BNO085, but it didn't applied to build. I tried to modify `defines.h`, `debug.h`, and `consts.h`. But all of them couldn't change that setting. Only firmware tool did correctly. ### v0.7.2 firmwware log In this log, IMU designation worked well following to log below. But this firmware also haven't solved my problem. ``` [INFO ] [SlimeVR] SlimeVR v0.7.2 starting up... [INFO ] [SlimeVR] Vendor: Unknown, product: DIY SlimeVR Tracker [INFO ] [Configuration] Found up-to-date configuration v1 [INFO ] [Configuration] Loaded configuration [INFO ] [BNO085Sensor:0] Connected to BNO085 on 0x4a. Info: SW Version Major: 0x03 SW Version Minor: 0x02 SW Part Number: 0x98a6b4 SW Build Number: 0x06 SW Version Patch: 0x0d [INFO ] [SensorManager] Sensor 0 configured [INFO ] [SensorManager] 1 sensor(s) configured [INFO ] [WiFiHandler] Setting up WiFi ... ``` And that "suspicious" lines exist too. ``` ... .[INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 1, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 .[INFO ] [BNO085Sensor:0] Rest calibration completed ... [INFO ] [BNO085Sensor:0] BNO08X calibration satus received: Status: 0, Accel: 0, Gyro: 0, Mag: 1, Planar: 0, OnTable: 0 ```
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Tracker-ESP#14