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).
The BMI270 also exposes an auxiliary (secondary I²C master) interface that can optionally drive a
Bosch BMM150
magnetometer wired to its AUX pins. A BMM150 on the AUX interface is not visible on the main I²C bus, so the
BMI270 reads it on the host’s behalf. Set aux_device to BMM150 to enable it, then read the magnetic field via the
BMI270 Sensor platform’s magnetic_field_x/magnetic_field_y/magnetic_field_z
types.
# Example configuration entrymotion: - 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"Configuration variables
Section titled “Configuration variables”-
address (Optional, int): Manually specify the I²C address of the sensor. Defaults to
0x68. The BMI270 supports0x68(SDO to GND) and0x69(SDO to VDDIO). -
accelerometer_range (Optional, string): The full-scale range of the accelerometer. One of
2G,4G,8G,16G. Defaults to4G. -
accelerometer_odr (Optional, string): The output data rate of the accelerometer. One of
12_5HZ,25HZ,50HZ,100HZ,200HZ,400HZ,800HZ,1600HZ. Defaults to100HZ. -
gyroscope_range (Optional, string): The full-scale range of the gyroscope. One of
125DPS,250DPS,500DPS,1000DPS,2000DPS. Defaults to2000DPS. -
gyroscope_odr (Optional, string): The output data rate of the gyroscope. One of
25HZ,50HZ,100HZ,200HZ,400HZ,800HZ,1600HZ,3200HZ. Defaults to200HZ. -
aux_device (Optional, string): What, if anything, is wired to the BMI270’s auxiliary interface. One of
NONE,BMM150. Defaults toNONE. -
aux_address (Optional, int): The I²C address of the device on the auxiliary interface. Only relevant when
aux_deviceis notNONE. The BMM150 can be set to0x10–0x13through its address pins. Defaults to0x10. -
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 and gesture
binary sensors (face_up, face_down, free_fall, moving)
and the shake event.