Hi Checked the SPI reading diagram in the datasheet of BMI270 (on about page 142), below is what is noticed as the subtle difference from BMG250. With BMI270, the first byte you read is a dummy byte, so in order to read the actual chip id, you need to read 2 bytes instead, and the 0th byte is the dummy byte while the 1st byte is the actual chip_id. In general, when reading data from BMI270 using SPI, to get n bytes of meaningful data, you need to read (n + 1) bytes from the device and discard the dummy byte you read. This is actually reflected and taken care of in the sensor API c code on github: https://github.com/BoschSensortec/BMI270-Sensor-API It's recommended to use the above-mentioned API code for operating the device.
... View more