bno055 0.1.0

Bosch Sensortec BNO055 9-axis IMU driver
Documentation

Bosch Sensortec BNO055 embedded-hal driver

What is this?

This is a embedded-hal driver for Bosch's inertial measurement unit (IMU) BNO055.

It is device-agnostic and uses I2c and Delay embedded-hal traits for its operation.

Uses and re-exports nalgebra's Quaternion for quaternion reading and Rotation3 for Euler angles.

Usage

  1. Add dependency to Cargo.toml:

    cargo add bno055
    
  2. Instantiate and init the device:

    // ... declare and configure your I2c and Delay implementations ...
    
    // Init BNO055 IMU
    let imu = bno055::Bno055::new(i2c, delay);
    
    imu.init()?;
    
    // Enable 9-degrees-of-freedom sensor fusion mode with fast magnetometer calibration
    imu.set_mode(bno055::BNO055OperationMode::NDOF)?;
    
    Ok(imu)
    
  3. Read orientation data: quaternion or euler angles (roll, pitch, yaw/heading)

    let quat = imu.quaternion()?;
    // or:
    let euler = imu.euler_angles()?;