Hi, I need make decision what sensor use in my device. I’ve made choice for BNO086 uart rvc mode in this moment. Why ? I need simple solution as it is possible.
I need get: pitch, roll and yaw data, x,y and z accelerometer data. 100Hz in enough to refresh data - rvc mode give it. I don’t want use any other interface for example spi or i2c, I’ll not connect to BNO086 any external device with I2C. I want to use a few mcu’s line as it is possbile.
My device has: GSM/GPS module, mcu and flash memory etc… Device has 2 pcb’s.
Upper pcb - top side: GSM/GPS module, anntenas. Upper pcb - bottom side: slot sim card, led’s, voltage regulator.
Bottom pcb - top side: voltages regulator, resistors etc., bootm pcb - bottom side: mcu, flash memory, voltage regulators and I want install BNO086 in this place.
I have a questions, because datasheet isn’t clear for me in rvc mode:
- What BNO086 lines should be connected to mcu ?
- Do I need any calibation after connect power on to BNO086 ? If yes, how I should to do that in rvc mode ?
- My device will works with sleep mode - mcu connect power on to other parts for example 1 minutes, after that any parts are disconnected from power supply for 10-60 minutes, after that mcu’ll connect power supply to parts. Process repeats. If calibration from 2 point is necessary, do I need do that every time when mcu disconnect power supply from BNO086 ?
- Have You any suggestions about install on pcb ? I want do that under bottom pcb.
- What is max power consumption in rvc mode ?
- What about other conditions if we talk about other parts on device ? Distance from BNO086, material ?
- Do I really need use external oscilator to use uart rvc mode ?
Thanks for any help and have a nice day for everyone 
Here are some suggestions I found:
1. What BNO086 lines should be connected to MCU?
For UART RVC mode, you need to connect these lines:
- VDD (power supply)
- GND (ground)
- UART_RXD to your MCU’s TX
- UART_TXD to your MCU’s RX
- P0/BOOTN (to set up RVC mode at boot)
- RESETN (optional but recommended for controlling reset)
2. Do I need any calibration after power on?
Yes, the BNO086 requires calibration, even in RVC mode. The sensor has dynamic calibration capability, but initial calibration helps improve accuracy. In RVC mode, the sensor transmits calibration status along with sensor data. You’ll need to:
- Monitor the calibration status bytes in the RVC packets
- For initial calibration, keep the device stationary for a few seconds, then perform some simple rotations
3. Regarding sleep mode and recalibration:
When power is completely removed from the BNO086, you will need to recalibrate. However, the BNO086 stores calibration data in non-volatile memory, so if you:
- Use the SAVE_DCD command before powering down
- Then RESTORE_DCD after power-up You can minimize recalibration time.
For your duty cycle (1min on, 10-60min off), I recommend implementing this calibration saving/restoration process to maintain accuracy.
4. Installation suggestions:
Mounting under the bottom PCB is fine if:
- You ensure it’s away from components that generate magnetic fields
- You rigidly mount it to prevent vibrations that could affect readings
- You maintain proper thermal management
5. Power consumption in RVC mode:
The BNO086 in RVC mode typically consumes approximately 10-15mA. This may vary slightly based on your specific configuration.
6. Considerations regarding other parts:
- Keep the BNO086 away from magnetic components (speakers, transformers)
- Minimum 5-10mm distance from high-current traces
- PCB material isn’t critical, but ensure rigid mounting
- Shield from EMI sources if possible (especially from the GSM module)
7. External oscillator requirement:
No, you don’t strictly need an external oscillator for UART RVC mode. The BNO086 has an internal oscillator that’s sufficient for most RVC mode operation. However, if you need extremely precise timing, an external oscillator could improve performance