Virtual reality is in, but you shouldn't have to drop hundreds of dollars to gain access to the technology behind it. Luckily, that's where the SparkFun VR IMU Breakout comes in. At its heart is Bosch’s BNO080, a combination triple-axis accelerometer/gyro/magnetometer SiP, packaged with a 32-bit ARM Cortex M0+. 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 two degrees or less. The VR IMU is exactly what we’ve been waiting for: All the sensor data is combined and drift-corrected into meaningful, accurate IMU information. It’s perfect for any project that needs to sense orientation or motion. This IMU breakout board has also been equipped with two I2C Qwiic connectors, in order to make interfacing with the tiny, QFN package a bit easier. It’s part of SparkFun’s Qwiic connect system, so you won’t have to do any soldering to figure out how things are oriented. However, we still have broken out 0.1"-spaced pins in case you prefer to use a breadboard.
The BNO080 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. Thanks to the solder jumpers on the board, you will be able to select between two different I2C addresses, but if I2C is not your first communication choice, the sensor is capable of communicating over SPI and UART as well! We’ve also 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.
Note: The I2C address of the BNO080 is 0x4B and is jumper selectable to 0x4A. A multiplexer/Mux is required to communicate with more than two BNO080 sensors on a single bus. If you need to use more than two BNO080 sensors consider using the Qwiic Mux Breakout.
The SparkFun Qwiic connect system is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 5 ratings:
2 of 2 found this helpful:
IMHO, a gyro capable of keeping track of heading (i.e., integrating angular velocity) must have its own IMU for doing the calculations and filtering: this one has it! The Bosch BNO055 has one too but I found that gyro insensitive at low angular velocities. This one is very accurate with very little drift. This is the gyro that I've been waiting for (and have spent many $100s in my search).
1 of 1 found this helpful:
First use of qwiic and qwiic hat for raspberry pi. Very convenient.
The chipset is packed with features. Manufacturers docs are extensive. Was able to get a .net core/c# library up and going in short order.
1 of 1 found this helpful:
Great IMU, just started using it. Only thing is SparkFun, doesn't support a I2C Python library upfront. Didn't use it for over a year, using the ICM20949 instead and that worked great. Now knowing of a library that uses RPI/I2C/Qwiic connect, what can I say, I am so happy to use this VR level IMU.
You don't mention an RPI library, so you technically state there isn't an one for RPI you provide, so we should have taken that into account.
The link to the library: https://github.com/13221325403/BNO080IMU-pi
This IMU (2 boards tested) produces max of total range spikes on x,y,z at random intervals, both in-motion and not-in-motion (Using QWIIC and basic demo sketches provided)
It sounds like you may have received some damaged boards. Please contact our returns department by filling out the form on this page and we can get this fixed for you!
I bought 2...haven't been able to get either one to work....
Please contact technical assistance for help. :-)