Allows you to read the accelerometer, magnetometer and gyroscope values from the IMU on your Arduino Nano 33 BLE Sense Rev2


This library is compatible with the samd, mbed_portenta, mbed_nano, mbed_edge, esp32, rp2040 architectures so you should be able to use it on the following Arduino boards:

Compatibility Note

Note: while the library is supposed to compile correctly on these architectures, it might require specific hardware features that may be available only on some boards.


To use this library, open the Library Manager in the Arduino IDE and install it from there.


The ArduinoBMI270_BMM150 library allows you to use the inertial measurement unit (IMU) system available on the Arduino® Nano 33 BLE Sense Rev2 board. The IMU system is made up up the 3-axis accelerometer and gyroscope BMI270, and the 3-axis magnetometer BMM150. The IMU is connected to the Nano 33 BLE Sense Rev2 board’s microcontroller through I2C. The values returned are signed floats.

To use this library:

#include "Arduino_BMI270_BMM150.h"

The ArduinoBMI270_BMM150 library takes care of the sensor initialization and sets its values as follows:

  • Accelerometer range is set at ±4 g with a resolution of 0.122 mg.
  • Gyroscope range is set at ±2000 dps with a resolution of 70 mdps.
  • Magnetometer range is set at ±1300 uT with a resolution of 0.3 uT.
  • Accelerometer and gyrospcope output data rate is fixed at 99.84 Hz.
  • Magnetometer output data rate is fixed at 10 Hz.