bmp581 i2cget chip_id (0x01) returns sometimes 0x10 instead of 0x50

I have a bmp581 sensor connected to an i2c bus on my board as well as other peripherals. Both i2c lines SDA and SCL have 4K6 pull up resistors. Executing "i2cdetect -y 1" the device appears with slave address 0x46 and there is no overlap with the other peripherals. If i execute from a command line "i2cget -y -f 1 0x46 0x01" to read the CHIP_ID i sometimes get 0x10 instead of 0x50. Could you please help me identify the source of this problem?

I am following the example found here https://github.com/boschsensortec/BMP5_SensorAPI/tree/master/examples/read_sensor_data_continous_mode

to read the pressure value from the sensor. Even though it works most of the time, sometimes i get erratic values.

I appreciate any feedback/help and happy to provide more info if needed

12 replies