BNO055 Quick start guide

Similar documents
BNO055 USB Stick user guide

BMP280 Digital pressure sensor

BNO055 Xplained pro Getting Started Guide

BME280 Combined humidity and pressure sensor

Software Document MCU Driver Porting Guide

BME280 Combined humidity and pressure sensor

Application Note Axes remapping of BHA250(B) / BHI160(B)

Application Note Axes remapping of BHA250(B) / BHI160(B)

Software Document Interfacing reference code from generic driver

Data Sheet BMD070. Specification subject to change without notice. Proprietary information, not

BMI08x Application note: BMI08x FIFO usage Data and descriptions within this document are subject to change without notice.

Sensing our world PRODUCT OVERVIEW

AVR4018: Inertial Two (ATAVRSBIN2) Hardware User's Guide. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Sensing our world PRODUCT OVERVIEW

Sensing our world PRODUCT OVERVIEW

9 Degrees of Freedom Inertial Measurement Unit with AHRS [RKI-1430]

Sensing our world PRODUCT OVERVIEW

Parallax LSM9DS1 9-axis IMU Module (#28065)

mcube Proprietary APS v1.0 1 / mcube Inc. All rights reserved.

UM2220. Getting started with MotionFX sensor fusion library in X-CUBE-MEMS1 expansion for STM32Cube. User manual. Introduction

Computing tilt measurement and tilt-compensated e-compass

Selection and Integration of Sensors Alex Spitzer 11/23/14

IMU Axis Gyro Evaluation Board Application Note

Application Note, V 1.1, Apr AP08006 C868. Interfacing SPI/I2C Serial EEPROM with C868 Microcontroller. Microcontrollers. Never stop thinking.

CyberAtom X-202 USER MANUAL. Copyrights Softexor 2015 All Rights Reserved.

Interfacing Z8 Encore! XP MCUs with an I 2 C-Based Character LCD

Blocks Programming Reference Manual By Bruce Schafer January 6, 2018

Please refer to "4. Evaluation Board" on page 2 for more information about these steps. Figure 1. System Connections

GENERAL DESCRIPTION MC3635 FEATURES

Sensor-fusion Demo Documentation

Turn-key Sensor Hub Solution BNO080 SH-2. Calibration. Sensor Fusion

BNO080 Development Kit for Nucleo Quick Start Guide

UM2192. Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Gumstix Pi HAT Sensor board

FURUNO GNSS Receiver. Dead Reckoning Solution User s Guide

UM LPC General Purpose Shield (OM13082) Rev November Document information. Keywords

Turn-key Sensor Hub Solution BNO080 BNO080 / BNO085 SH-2. Calibration. Sensor Fusion

MAG3110 Frequently Asked Questions

Altimeter / Barometer Module SMD500 ultra low power, low voltage

CyberAtom X-200 USER MANUAL. Copyrights Softexor 2015 All Rights Reserved.

Embedded Motion Driver Tutorial

This design tip applies to all accelerometers, ecompass modules, and inemo inertial IMUs from STMicroelectronics.

MPU-6000/MPU Axis Evaluation Board User Guide

XDK HARDWARE OVERVIEW

ASM330LHH. Automotive 6-axis inertial module: 3D accelerometer and 3D gyroscope. Data brief. Features. Applications. Description

This design tip applies to all accelerometers, ecompass modules, and inemo inertial IMUs from STMicroelectronics.

10 Degree of Freedom IMU Sensor +-16G, dps, +-8Gauss, hPa

Inertial Measurement Units I!

Mio- x AHRS. Attitude and Heading Reference System. Engineering Specifications

Getting started with osxmotiongc gyroscope calibration library for X-CUBE-MEMS1 expansion for STM32Cube

Exploiting the gyroscope to update tilt measure and e-compass. Main components. inemo inertial module: 3D accelerometer and 3D

Getting started with osxmotionmc magnetometer calibration library for X-CUBE-MEMS1 expansion for STM32Cube

Fully Integrated Thermal Accelerometer MXC6225XU

Cross-Domain Development Kit XDK110 Platform for Application Development

Modern Robotics Inc. Sensor Documentation

LIS25BA: low-noise, high-bandwidth 3-axis digital output accelerometer with TDM interface

Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube

Freedom FRDM-KV31F Development Platform User s Guide

Nuvoton Touch Key Series NT1160 Datasheet

navigation Isaac Skog

Me 3-Axis Accelerometer and Gyro Sensor

AN2737 Application note Basic in-application programming example using the STM8 I 2 C and SPI peripherals Introduction

RoBoard Module RM-G146 Manual V1.01 The Heart of Robotics. Jan 2011 DMP Electronics Inc

AN Theory of Operation. Abstract. 1 Introduction. Using the AS5046 Rotary Encoder in 3D Joystick Applications APPLICATION NOTE

STM8 I 2 C optimized examples

Main components MEMS motion sensor: low power high g 3-axis digital accelerometer inemo inertial module: 3D accelerometer and 3D gyroscope

UM6 Ultra-Miniature Orientation Sensor Datasheet

BMF055 Example Project BSX Lite Integration

Challenge. Hardware Circuit Details. Solution. Result. Features and Functions. Z8 Encore! MC

Getting started with X-NUCLEO-53L1A1 long distance ranging ToF sensor expansion board based on VL53L1X for STM32 Nucleo

AN2672 Application note

Compass Module 3-Axis HMC5883L (#29133)

GENERAL DESCRIPTION FEATURES. Range, Sampling & Power ±2g range 6,7, or 8-bit resolution to 128 samples/sec 46 to 115 μa typical active current

An Intro to Gyros. FTC Team #6832. Science and Engineering Magnet - Dallas ISD

Getting started with MotionAR activity recognition library in X-CUBE-MEMS1 expansion for STM32Cube

HID-USB-to-IR-RD HID USB TO IR REFERENCE DESIGN USER S GUIDE. 1. Kit Contents. 2. Software Download

QuickLogic TAG-N System User Manual

MC3635 FEATURES GENERAL DESCRIPTION

STEVAL-PCC010V1. ST802RT1A Ethernet PHY demonstration board with STM32F107 controller add-on board. Features. Description

ustepper S Datasheet Microcontroller, stepper driver and encoder in an ultra-compact design! By ustepper ApS

CHIMU Micro AHRS User Manual

Supported Sensor Devices

Table of Contents 1 Typical Applications General Description Block Diagram Pinout System Connections Typical A

V ARIENSE SENSE Y O UR W ORLD. Inertial Measurement Unit VMU931. User Guide. Version 1.3. March VARIENSE INC.

Pedometer 3 Click. PID: MIKROE 3259 Weight: 24 g

UM2194. Getting started with MotionAW activity recognition for wrist library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Navigational Aids 1 st Semester/2007/TF 7:30 PM -9:00 PM

Features. Applications

Game Application Using Orientation Sensor

FSM300 Quick Start Guide with Nucleo

APPNOTE NUMBER AN1138 PI3WVR13612 DP1.4/HDMI2.0 Mux/Demux Application Guidelines Justin Lee

MAG3110 Magnetometer Hookup Guide

Nuvoton 4T 8051-based Microcontroller NuTiny-SDK-N78E715 User Manual

CISS - Connected Industrial Sensor Solution

User Manual for TeraRanger Hub Evo

3DM-GX1 Data Communications Protocol

Sensor Toolbox (Part 2): Inertial Sensors

Power Cycling Algorithm using the MMA73x0L 3-Axis Linear Accelerometer

3D Magnetic Sensor 2 Go - TLE493D-A2B6

Figure 1: TSSOP-24 ( Top View ) Figure 2: TQFN 4x4-24 ( Top View )

Transcription:

BNO055 Quick start guide Bosch Sensortec Application note: BNO055 Quick start guide Document revision 1.0 Document release date Document number Mar.2015 BST-BNO055-AN007-00 Technical reference code 0 273 141 209 Notes Data in this document are subject to change without notice. Product photos and pictures are for illustration purposes only and may differ from the real product s appearance.

Page 2 Contents 1. Introduction... 3 2. Hardware design... 5 2.1 Schematics... 5 3. Calibration... 6 4. Sample codes... 7 5 Legal disclaimer... 8 5.1 Engineering samples... 8 5.2 Product use... 8 5.3 Application examples and hints... 8

Page 3 1. Introduction The BNO055 is a system in package (SiP) chip that includes a 3-axis 14-bit accelerometer, a 3-axis 16-bit gyroscope, a 3-axis magnetometer and a 32-bit Cortex M0+ microcontroller running the company s BSX3.0 FusionLib software. Besides giving access to the individual sensor signals such as acceleration, rotation, and magnetic field strength, the sensor offers a total of five different sensor fusion modes. The table below provides a quick overvie w of all the different fusion and non-fusion modes of the sensor: Non-fusionmodes Fusion modes Operating Mode Available sensor signals Accel Mag Gyro Relative orientation Fusion Data Absolute orientation CONFIGMODE - - - - - ACCONLY X - - - - MAGONLY - X - - - GYROONLY - - X - - ACCMAG X X - - - ACCGYRO X - X - - MAGGYRO - X X - - AMG X X X - - IMU X - X X - COMPASS X X - - X M4G X X X * X - NDOF_FMC_OFF X X X - X NDOF X X X - X * software simulated gyro signal Fusion Modes: IMU or Inertial Measurement Unit is a fusion of the accelerometer and the gyroscope Compass is a fusion of the accelerometer and magnetometer, also commonly known as a tilt-compensated compass M4G (Magnet for gyroscope) is a fusion of the accelerometer and the magnetometer but the output data is similar to the IMU mode and hence the limitations of gyroscope is compensated in this mode. NDOF_FMC_OFF is a fusion of all three sensors accelerometer, gyroscope and the magnetometer thereby providing Nine Degrees of Freedom (NDOF). In this mode the FMC (Fast Magnetic Calibration) feature is disabled and thereby the sensor needs a movement similar to figure 8 pattern to calibrate the magnetometer. NDOF is also a fusion of all the three sensors, but with the feature FMC enabled. By enabling this feature, a quick movement (even an incomplete figure 8 pattern ) will fully calibrate the magnetometer.

Page 4 Once the sensor is powered, it executes a power on self-test (POST) and stays in the configuration (CONFIG) mode. After POR or soft reset, users need to wait at least 650ms before talking to BNO055 through I2C interface. For the waiting time less than 650 ms, the I2C communication does not respond. The hardware reset using hardware RESET pin or writing to the RST_SYS bit in the SYS_TRIGGER register (0x3F) have the same effect as the power on rest (POR). Users can then change to one of the sensor operation modes by writing to the OPR_MODE register (0x3D). Once the sensor is configured, it is ready to send the sensor fusion results such as Quaternion, Euler angles, Linear acceleration and Gravity vector at fixed output data rate. Users can then access the sensor fusion results from the BNO055 through I2C, UART or HID-over I2C interface. The user can switch between Windows or the Android orientation format. By default however, the sensor axes orientation of the sensor is of Android format as shown in Figure 1. The Android rotation vector definition can be found at http://developer.android.com/guide/topics/sensors/sensors_motion.html East North Figure 1 BNO055 coordinate definition Heading: rotation around the Z axis (0 <= heading < 360 ). 0 = North, 90 = East, 180 = South, 270 = West. The heading value increases when you rotate around the Z axis clockwise from top view of Figure 1.Pitch: rotation around the X axis (-180 <= pitch <= 180 ) with positive values increasing when the Z axis moves towards the Y axis. Roll: rotation around the Y axis (-90 <= roll <= 90 ) with positive values increasing when the X axis moves toward the Z axis.

Page 5 2. Hardware design 2.1 Schematics BNO055 schematic is as shown in figure 2 with I2C interface to an external microcontroller (MCU) 1. VDD SDA SCL GPIO1 GPIO2 Notes: Figure 2 BNO055 schematics with I2C interface MCU The external 32.768 khz crystal is optional. Pin-26 (XOUT32) and Pin-27 (XIN32) can be floating when the external crystal is not used. Pin-5 (PS1) and Pin-6 (PS0) should be tied to GND directly or through a zero Ohm resistor to GND to select I2C interface protocol. Don t use a pull-down resistor for these two pins. The MCU GPIO1 can be used to select the BNO055 7-bit I2C slave address, which will be 0x29 when GPIO1 is high and 0x28 when low. Pin-14 (INT) is push-pull and can be tied to MCU GPIO2 directly. This pin can be floating if BNO055 interrupt is not used. Pin-4 (nboot_load_pin) is pulled high through a 10K Ohms resistor. It is not necessary to tie it to the other MCU GPIO pin. 1 Since majority of the application use I2C, the quick reference guide explains thi s communication protocol more in detail.

Page 6 3. Calibration Calibration of the sensor plays a major role in the sensor fusion software. In the BNO055, the calibration of the accelerometer, gyroscope and the magnetometer runs in the background as part of the sensor fusion software. The status of each sensor calibration is as shown in Figure 4. Figure 4: BNO055 sensor calibration status register The accelerometer and the gyroscope are relatively less susceptible to external disturbances, as a result of which the offset is negligible. Moreover the accelerometer is factory calibrated, and hence the calibration is not mandatory. For the gyroscope however leaving the BNO055 stationary for a few seconds at any time during the operation, will facilitate full calibration and thereby remove the zero rate offsets. Unlike the accelerometer and gyroscope, the magnetometer calibration is mandatory immediately after e very power on reset in order for sensor fusion to create accurate results. Therefore, it is highly recommended to check the magnetometer calibration status periodically. If the value of the two bits MAG Calib Status is 3, then it means that the magnetometer is fully calibrated and ready to go. If the value is 2, then the sensor fusion s performance is still OK. If the value is 1, then it is highly recommended to perform a Figure-8 motion to calibrate the magnetometer. And if the value is 0, this means that the magnetometer just got disturbed by the magnetic interference fields nearby or the environment s magnetic fields have just changed. And therefore the magnetometer calibration must be performed. For further details please refer section 3.10 Calibration in the datasheet.

Page 7 4. Sample codes It is highly recommended to use the BNO055 standard APIs to ease the integration. The APIs can be downloaded from https://github.com/boschsensortec/bno055_driver. Below mentioned steps demonstrate how to get BNO055 up and running with few API calls. Step Description Code snippet 1 Power on the BNO055 2 Create a structure to hold device information 3 Link the I2C driver functions to the API communication function pointer struct bno055_t mybno; mybno.bus_read = BNO055_I2C_bus_read; mybno.bus_write = BNO055_I2C_bus_write; mybno.delay_msec = delay; 4 Set the correct I2C address in the BNO055 API mybno.dev_addr = BNO055_I2C_ADDR1; //mybno.dev_addr = BNO055_I2C_ADDR2; 5 API initialization bno055_init(&mybno); 6 Change the operation mode to NDOF bno055_set_operation_mode (OPERATION_MODE_NDOF); 7 Read Euler angles struct bno055_euler_float_t eulerdata; bno055_convert_float_euler_hpr_deg(&eulerda ta); 8 Read calibration status unsigned char accel_calib_status = 0; unsigned char gyro_calib_status = 0; unsigned char mag_calib_status = 0; unsigned char sys_calib_status = 0; bno055_get_accel_calib_stat(&accel_calib_st atus); bno055_get_mag_calib_stat(&mag_ calib_status); bno055_get_gyro_calib_stat(&gyro_ calib_status); bno055_get_sys_calib_stat(&sys_ calib_status); Note: It is advisable to check the calibration status periodically and provide accuracy status to the user for re-calibration.

Page 8 5 Legal disclaimer 5.1 Engineering samples Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid technical specifications of the product series contained in this data sheet. They are therefore not intended or fit for resale to third parties or for use in end products. Their sole purpose is internal client testing. The testing of an engineering sample may in no way replace the testing of a product series. Bosch Sensortec assumes no liability for the use of engineering samples. The Purchaser shall indemnify Bosch Sensortec from all claims arising from the use of engineering samples. 5.2 Product use Bosch Sensortec products are developed for the consumer goods industry. They may only be used within the parameters of this product data sheet. They are not fit for use in life-sustaining or security sensitive s ystems. Security sensitive s ystems are those for which a malfunction is expected to lead to bodily harm or significant property damage. In addition, they are not fit for use in products which interact with motor vehicle systems. The resale and/or use of products are at the purchaser s own risk and his own responsibility. The examination of fitness for the intended use is the sole responsibility of the Purchaser. The purchaser shall indemnify Bosch Sensortec from all third party claims arising from any product use not covered by the parameters of this product data sheet or not approved by Bosch Sensortec and reimburse Bosch Sensortec for all costs in connection with such claims. The purchaser must monitor the market for the purchased products, particularly with regard to product safety, and inform Bosch Sensortec without delay of all security rele vant incidents. 5.3 Application examples and hints With respect to any examples or hints given herein, any typical values stated herein and/or any information regarding the application of the device, Bosch Sensortec hereby disclaims any and all warranties and liabilities of any kind, including without limitation warranties of non-infringement of intellectual property rights or copyrights of any third party. The information given in this document shall in no event be regarded as a guarantee of conditions or characteristics. They are provided for illustrative purposes only and no evaluation regarding infringement of intellectual property rights or copyrights or regarding functionality, performance or error has been made.

Page 9 6 Document history and modification Re v. No Chapter Description of modification/changes Date 1.0 Document creation 04 March 2015 Bosch Sensortec GmbH Gerhard-Kindler-Strasse 8 72770 Reutlingen / Ge rm a ny contact@bosch-sensortec.com www.bosch-sensortec.com Modifications reserved Printed in Germany Specifications subject to change without notice Document number: BST-BNO055-AN007-00 Ve rsi o n _ 1. 0 _ 050315