IMU Bricklet 3.0

Features

  • Full fledged IMU/AHRS with 9 degrees of freedom (3-axis each: accelerometer, compass, gyroscope)

  • No accumulating errors, no gimbal lock!

  • Factory calibrated, automatic continuous self-calibration during operation

  • Calculates quaternions, linear acceleration, gravity vector as well as independent heading, roll and pitch angles

Description

The IMU Bricklet 3.0 offers the same functionality and performance as the IMU Brick 2.0, but in the form-factor of a Bricklet.

The IMU Bricklet 3.0 is equipped with a 3-axis accelerometer, magnetometer (compass) and gyroscope and works as inertial measurement unit. It can measure 9 degrees of freedom and computes quaternions, linear acceleration, gravity vector as well as independent heading, roll and pitch angles. It is a complete attitude and heading reference system.

The API, provided for many programming languages, allows access to the calculated data and also the acceleration, magnetic field and angular velocity of the three axes. If the quaternion representation is used, the IMU Bricklet 3.0 does not have a gimbal lock, as known from Euler angles.

Technical Specifications

Property

Value

Sensor

BNO055

Current Consumption

95mW (19mA at 5V)

Acceleration, Magnetic, Angular Velocity Resolution

14bit, 16bit, 16bit

Heading, Roll, Pitch Resolution

0.0625° steps

Quaternion Resolution

16bit

Sampling Rate

100Hz

Dimensions (W x D x H)

25 x 25 x 5mm (0.98 x 0.98 x 0.19")

Weight

3g

Resources

Test your IMU Bricklet 3.0

To test a IMU Bricklet 3.0 you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.

Connect the IMU Bricklet 3.0 to a Brick with a Bricklet Cable.

If you connect the Brick to the PC over USB, you should see a new tab named "IMU Bricklet 3.0" in the Brick Viewer after a moment. Select this tab.

IMU Bricklet 3.0 in Brick Viewer

You can see all of the available data form the IMU Bricklet 3.0. If you hold the IMU Bricklet 3.0 in the orientation as shown in the image and press "Save Orientation", the movements that you make with the IMU Bricklet 3.0 should be mirrored in the Brick Viewer.

After this test you can go on with writing your own application. See the Programming Interface section for the API of the IMU Bricklet 3.0 and examples in different programming languages.

Calibration

The IMU Bricklet 3.0 does continuous self-calibration during usage. It is not necessary to start a specific manual calibration process. The IMU can store the calibration data to speed-up the self-calibration after each restart. This data is initialized at the factory.

IMU Bricklet 3.0 calibration in Brick Viewer

Click the "Calibration" button in Brick Viewer to see the current continuous self-calibration status. The dialog also allows to update the saved calibration data.

Case

A laser-cut case for the IMU Bricklet 3.0 is available.

Case for IMU Bricklet 3.0

The assembly is easiest if you follow the following steps:

  • Screw spacers to the Bricklet,

  • screw bottom plate to bottom spacers,

  • build up side plates,

  • plug side plates into bottom plate and

  • screw top plate to top spacers.

Below you can see an exploded assembly drawing of the IMU Bricklet 3.0 case:

Exploded assembly drawing for IMU Bricklet 3.0

Hint: There is a protective film on both sides of the plates, you have to remove it before assembly.

Programming Interface

See Programming Interface for a detailed description.

Language

API

Examples

Installation

C/C++

API

Examples

Installation

C/C++ for Microcontrollers

API

Examples

Installation

C#

API

Examples

Installation

Delphi/Lazarus

API

Examples

Installation

Go

API

Examples

Installation

Java

API

Examples

Installation

JavaScript

API

Examples

Installation

LabVIEW

API

Examples

Installation

Mathematica

API

Examples

Installation

MATLAB/Octave

API

Examples

Installation

MQTT

API

Examples

Installation

openHAB

API

Examples

Installation

Perl

API

Examples

Installation

PHP

API

Examples

Installation

Python

API

Examples

Installation

Ruby

API

Examples

Installation

Rust

API

Examples

Installation

Shell

API

Examples

Installation

Visual Basic .NET

API

Examples

Installation

TCP/IP

API

Modbus

API