BNO055 Description
The BNO055 is a System in Container (SiP), integrating a 32-bit cortex M0+ microprocessor running Bosch Sensortec sensor fusion software, a triaxial geomagnetic sensor, a triaxial 16-bit gyroscope with a range of 2000 degrees per second, and a triaxial 14-bit accelerometer in a single package. The relevant chip sets are combined into a single 28-pin LGA chassis that measures 3.8 mm by 5.2 mm by 1.1 mm. The BNO055 has digital bidirectional I2C and UART interfaces for best system integration. The BNO055 can be made into a plug-and-play sensor hub solution for devices running Windows 8.0 or 8.1 by programming the I2C interface to operate with the HID-I2C protocol.
The Adafruit industries prebuilt module also has this chip. It is now simpler to communicate with various microcontrollers and FPGA thanks to this module's generic I2C interface. If you use the module, all the required passive hardware components are already incorporated into the board. However, if you place this chip directly on the PCB, specific design elements must be included for proper operation.
Video Description: We demonstrate how to connect the BNO055 to an Arduino in this video tutorial, as well as how to obtain the device's raw sensor information. We demonstrate how to obtain the magnetometer, gyro, and accelerator data. By the end of this video, you should be able to measure the sensor's nine axes.
Pin Descriptions
Pin Number |
Pin Name |
Description |
1 |
Vin |
3.3-5.0V power supply input |
2 |
3Vo |
3.3V output from the on-board linear voltage regulator, you can grab up to about 50mA as necessary |
3 |
GND |
The common/GND pin for power and logic |
4 |
SDA |
I2C data pin, connect to your microcontroller’s I2C data line. This pin can be used with 3V or 5V logic, and there's a 10K pullup on this pin. |
5 |
SCL |
I2C clock pin, connect to your microcontroller's I2C clock line. This pin can be used with 3V or 5V logic, and there's a 10K pullup on this pin |
6 |
RST |
Hardware reset pin. Set this pin low then high to cause a reset on the sensor. This pin is 5V safe. |
BNO055 Dimensions
BNO055 Dimensions
BNO055 Features
- 3 sensors in one device (an triaxial 16bit gyroscope, a triaxial 14 bit accelerometer, and a full performance geomagnetic sensor)
- Intelligent Power Management: normal, low power, and suspend mode available
- Outputs fused sensor data
- Small package (LGA package 28 pins)
- Common voltage supplies (VDD voltage range: 2.4V to 3.6V )
- Digital interface (HID-I2C (Windows 8 compatible), I²C, UART)
- Consumer electronics suite (MSL1, RoHS compliant, halogen-free Operating temperature: -40°C ... +85°C)
Different Communication Configurations of BNO055 Module
- I2C Configuration
- UART Configuration
- HID Configuration
I2C Configuration Schematic for BNO055 Module
SDA (= SDx pin, serial data input and output) and SCL (= SCx pin, serial clock) signal lines are used on the I2C bus. Both lines have pull-up resistors externally connecting them to VDDIO so that they are pulled high when the bus is open.
UART Configuration Schematic for BNO055 Module
The UART interface on the BNO055 is supported with the following settings: 115200 bps, 8N1 (8 data bits, no parity bit, one stop bit). The maximum read and write length supported is 128 Bytes. Below is a description of the register read and write packet structure.
HID Configuration Schematic for BNO055 Module
The BNO055 can be configured to operate with the HID-I2C protocol over the I2C interface, making it a plug-and-play sensor hub option for devices running Windows 8.0 or 8.1.
BNO055 Equivalents
BNO055 Applications
- Navigation
- Robotics
- Fitness and well-being
- Augmented reality
- Context awareness
BNO055 FAQ
How does the BNO055 work?
The BNO055 uses three triple-axis sensors to measure tangential acceleration, rotational acceleration, and the strength of the local magnetic field all at the same time (via a magnetometer).
How do I set up BNO055?
First, connect Vin of the BNO055 to the power supply of 5V on the Arduino. Second, connect GND of the BNO055 to GND on the Arduino. Third, connect the SDA pin of the BNO055 to the SDA pin of the Arduino, which is A4. Fourth, connect the SCL pin of the BNO055 to the SCL pin of the Arduino, which is A5.
What is a BNO055?
The following sensor data can be output by the BNO055: Objective Orientation (Euler Vector, 100Hz) Three-axis orientation data based on a sphere's circumference. Objective Orientation (Quaterion, 100Hz) For more precise data manipulation, use a four point quaternion output.