Issue BMP280 Arduino Module Breakout Board

Good morning/Good Afternoon everyone!

As you can see I'm a new user here and I really need help from experts so I visited this website and you guys might help me fix this problem.

The Issue
The Temperature is always 0.01 *C
The Altitude is staying at the same number even moving it around doesn't change it.
The Pressure might be wrong.

Arduino UNO

VCC - 3.3V
SCL - A5
SDA - A4

See Attachment below

Board and Sensor

bmp280test.ino (2.09 KB)

You should start again, but then do it right.

The BMP280 module that you have does not have level shifters for SDA and SCL. The newer Bosch BMPxxx sensors don't like the SDA and SCL pins to be raised too much. The Arduino Uno has internal pullup resistors for SDA and SCL to 5V, that raises the voltage on the SDA and SCL pins.

Do you see the components on the BMP280 module with "103" ?
Those are 10k resistors, two of them are pullup resistors from SDA to 3.3V and from SCL to 3.3V.
The Arduino Uno has internal pullup resistors that could be 30k to 5V.
The resulting voltage is hard to calculate, because the BMP280 uses very little current. It is therefor possible that not only SDA and SCL are raised too much but perhaps also the 3.3V pin.

Adafruit specifically mentioned that their module has level shifters: Adafruit BMP280 I2C or SPI Barometric Pressure & Altitude Sensor [STEMMA QT] : ID 2651 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits.

Instead of using level shifters, you could also buy a newer 3.3V Arduino board. Ask us before you buy one. Since you have a Uno clone and made the CH340G usb-serial chip work, perhaps you can make the NodeMCU 8266 or ESP32 work. To use an official Arduino board has many advantages for long term support. The most basic board from the MKR series with a SAMD21 processor is a good choice.

Next thing to do is to decide if you want to use the I2C-bus or the SPI-bus.
For the I2C bus, there are only two signals (SDA and SCL), so you need only level shifters for those two. You can use a I2C Scanner sketch (google for it) to search for connected I2C devices.
For the SPI bus, there are four signals.

Because of the I2C Scanner, the I2C bus is easier.
Then you should use a sketch that uses I2C.

You use the example by Adafruit, that is good.

In that sketch, the bmp.begin() reads an identifier (the CHIP ID) from the BMP280. You pass that test, that means that you are communicating with the BMP280 chip.
It is the final step (temperature and pressure) that fails. Your BMP280 might be damaged or it goes nuts because of a high voltage at SDA and SCL.

There are I2C devices that work at 3.3V and at 5V. That is easier to start with.
There are cheap BME280 modules with level shifters, you can see the two different modules here: