VR IMU (Qwiic) - BNO080

First, let us apologize for the product name; it's hard to describe everything this sensor can do. The VR IMU uses the impressive BNO080 IMU. This IC has a combination triple axis accelerometer/gyro/magnetometer packaged with an ARM Cortex M0+ running powerful algorithms. The BNO080 Inertial Measurement Unit (IMU) produces accurate rotation vector headings, excellently suited for VR and other heading applications with a static rotation error of 2 degrees or less. It's what we've been waiting for: all the sensor data is combined and drift corrected into meaningful, accurate IMU information.

This IC was designed to be implemented in Android based cellular phones to handle all the computations necessary for virtual reality goggles using only your phone. The sensor is quite powerful and with power comes a complex interface. We've written an I2C based library that provides the rotation vector (the reading most folks want from an IMU) as well as acceleration, gyro, and magnetometer readings, step counting, activity classifier (such as riding a bike), and calibration.

The VR IMU uses two Qwiic connectors. Qwiic cables are thin and flexible allowing you to manipulate the IMU in space unimpeded. This is especially handy when moving or calibrating the sensor. We've created a demo Processing app to see how the movement of the IMU can accurately manipulate a 3D object using the Quaternion output from the IMU.

There are jumpers on the board allowing the user to select between two different I2C addresses, remove the I2C pull up resistors, and select between the three different interface protocols. If I2C is not your first communication choice the sensor is capable of communicating over SPI and UART as well! If you're using the UART we recommend the Serial Basic for an easy connection.

Check the documents section for a link to our Arduino library!

We do not plan to regularly produce SparkX products so get them while they’re hot!

Experimental Product: SparkX products are rapidly produced to bring you the most cutting edge technology as it becomes available. These products are tested but come with no guarantees. Live technical support is not available for SparkX products. Head on over to our forum for support or to ask a question.


The BNO080 can communicate through a variety of interfaces. The Qwiic VR IMU has two jumpers that allows the user to select their interface of choice.

  • I2C (Default): Up to 400kHz
  • SPI: Up to 3MHz
  • UART: 3Mbps
  • UART-RVC (Robot Vacuum Cleaners): 115200kbps

Performance Characteristics:

  • Rotation Vector
    • Dynamic Error: 3.5°
    • Static Error: 2.0°
  • Gaming Rotation Vector
    • Dynamic Error: 2.5°
    • Static Error: 1.5°
    • Heading Drift: 0.5° / min
  • Geomagnetic Rotation Vector
    • Dynamic Rotation Error: 4.5°
    • Static Rotation Error: 3.0°
  • Gravity Angle Error: 1.5°
  • Linear Acceleration Accuracy: 0.35m/s2
  • Accelerometer Accuracy: 0.3m/s2
  • Gyroscope Accuracy: 3.1° / sec
  • Magnetometer Accuracy: 1.4µT

VR IMU (Qwiic) - BNO080 Product Help and Resources

Qwiic VR IMU (BNO080) Hookup Guide

April 30, 2018

Figure out how things are oriented with the robust 9 degrees of freedom (DOF) BNO080 IMU. Maybe even make your own virtual reality (VR) applications if you're feeling savvy.


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #619674 / about 6 years ago / 1

    There's always a better IMU! How does this one compare to the BNO055? Based on the description, they have very similar capabilities.

    • bzerk / about 6 years ago / 2

      Lower latency and higher precision. Designed for VR, where a few ms or a little drift makes the difference between your user getting sick or not. Integrates Hillcrest IP. Not much more expensive, either.

  • bzerk / about 6 years ago / 1


Customer Reviews

No reviews yet.