Hi all,
ย
Had a look on the forums and could not find a similar problem that I am experiencing.ย
ย
I have designed a board using the BMP280, where I'd like to read off temperature, pressure and altitude using I2C. To do this, I pulled pin CSB high (+3.3V) to activate I2C as per datasheet recomendation and SDO was pulled low to use the address 0x76.ย
I am using an Atmega2560 (using arduino bootloader but on a standalone board) to attempt to read the I2C. I added the libraries needed and changed the access address to 0x76 instead of the default 0x77. However, when reading the BMP280, I get a constant temperature of 136.1C with very large pressure and altitude (do not remember exact values). The values do not change if I apply external pressure or temperature to the sensor.ย
ย
Is there an another register besides the ID address I also have to set as I am using the 0x76 address? I cannot change the position of the SDO pin now due to the PCB already being made... Attached schematic if that helps.ย
ย
NOTE: I also have an RTC and another sensor (MPU6050) on the same I2C lines. They both work. However, initially the MPU6050 also did not work with similar behaviour as the BMP280. Here the ID address had to be changed fromt the default 0x68 to 0x69. There are no ID address collisions between the I2C devices.ย
ย
Any input that may give a direction will be greatly appreaciated! ๐ย
EDIT: Pull up resistors have been added to the SCL and SDA lines!