Skip to content

BMI270 Accelerometer/Gyroscope Sensor

The bmi270 motion platform allows you to use your BMI270 Accelerometer/Gyroscope (datasheet) sensors with ESPHome. The I²C Bus is required to be set up in your configuration for this sensor to work.

The BMI270 is an ultra-low-power IMU optimized for wearable applications. It includes a 16-bit 3-axis accelerometer and a 16-bit 3-axis gyroscope, plus an on-chip temperature sensor. It requires an internal configuration blob to be uploaded at each power-on (handled automatically by this component).

# Example configuration entry
motion:
- platform: bmi270
accelerometer_range: 4G
gyroscope_range: 2000DPS
sensor:
- platform: motion
type: acceleration_x
name: "BMI270 Accel X"
- platform: motion
type: gyroscope_x
name: "BMI270 Gyro X"
- platform: motion
type: roll
name: "BMI270 Roll"
  • address (Optional, int): Manually specify the I²C address of the sensor. Defaults to 0x68. The BMI270 supports 0x68 (SDO to GND) and 0x69 (SDO to VDDIO).

  • accelerometer_range (Optional, string): The full-scale range of the accelerometer. One of 2G, 4G, 8G, 16G. Defaults to 4G.

  • accelerometer_odr (Optional, string): The output data rate of the accelerometer. One of 12_5HZ, 25HZ, 50HZ, 100HZ, 200HZ, 400HZ, 800HZ, 1600HZ. Defaults to 100HZ.

  • gyroscope_range (Optional, string): The full-scale range of the gyroscope. One of 125DPS, 250DPS, 500DPS, 1000DPS, 2000DPS. Defaults to 2000DPS.

  • gyroscope_odr (Optional, string): The output data rate of the gyroscope. One of 25HZ, 50HZ, 100HZ, 200HZ, 400HZ, 800HZ, 1600HZ, 3200HZ. Defaults to 200HZ.

  • All other options from Motion.

As an IMU with both an accelerometer and a gyroscope, the BMI270 supports all of the Motion sensor types, as well as the orientation binary sensors (face_up, face_down, free_fall, moving) and the shake event.