BMP280 Air Pressure/Humidity/Temperature Sensor Questions

This is a fairly new sensor that's only been available in a breakout board for a short time and I'm unsure about some of the board's specs and was wondering if anyone had some details. It replaces the BMP180, of which I have several and am using in a weather station I designed and built.

The most commonly sold version of the BMP180 board had air pressure and temperature sensors, and used 5V logic throughout, for power and I2C. The most commonly sold version of the BMP280 board adds a humidity sensor, but I'm not sure about what voltage it uses, for power and I2C.

It appears to be 3.3V, but I'm not sure. Is that just for power, or also for I2C? And if it's 3.3V throughout, can you power it with the 3.3V power out of an Arduino, and can the I2C pins tolerate the Arduino's 5V out signals and send enough power to be read by its in signals?

Also, there's another version of this chip, the BME280. Does anyone know the difference between it and the BMP280?

BMP280 doesn't have humidity, as far as I'm aware.

Voltage specs should be on the data sheet.

There is no data sheet for the boards I’m looking at, only for the sensor itself. You are right about it not having a humidity sensor. For some reason I thought it did, must have confused it with a different module.

Still not sure what voltage levels the board requires, and what the difference is between the M & E versions.

The difference is that the E version is "environmental" (pressure, temperature and humidity), vs "P" for "pressure" (temperature and pressure).

Maybe you have a link to the board you've bought?

Ah, so I was right, sort of, and not imagining things! I was thinking of the BME280, which does have a humidity sensor, but asking about the BMP280, which does not. Mea culpa. :slight_smile:

So, one question answered, but not the other one. I'm actually thinking of $2 breakout boards you can get on eBay, such as this one:

There's also a $4 breakout board for the BME280:

I'm guessing that it's 3.3v throughout, but how does one interface that to a 5V Arduino? I assume you'd have to use a level shifter as a voltage divider would react too slowly for I2C.

Use a proper level shifter, a voltage divider won't do. The BME280 modules I came across don't supply one on-board (like Si7021 boards tend to do, those are awesome).

If you want fast results, solder a level shifter yourself. You need two tiny and cheap P-MOSFETs, that's all:

Thanks, I actually have a couple of level shifters on hand. I used one to connect an ESP8266 WiFi board to an Arduino, and it's been working just fine.

Seems almost like too much bother for a weather sensor. The BMP180 used 5V logic, but is becoming harder to find and more expensive as it's being phased out for the BMP280.

Seems more suited for an ESP8266 used as a microcontroller as well as WiFi board, as it uses 3.3V on board. Actually, ideally suited. You don't really even need an Arduino with such a setup.

Well, I use such sensors with 3.3V levels on RPi, ESP-01, STM32 - and of course, Arduino Pro Mini modules stripped from the power LED and LDO. The LDO now works external and delivers regulated power for sensors, display and ATmega328. They tend to work at 3.3V at 16 MHz at room temperature.

So as long as you don't use boards like Arduino Nano, Uno, Mega, ... there is no need to use 5V at all.

Thanks all. I get the gist of it. My current projects and designs still revolve around the 5V Arduino family, including one that has so much going on that it requires a Mega, but it might be time to start thinking about moving beyond the sheltered world of Arduino for some projects. And I can always use a level shifter for Arduino projects.