BME280 Connection

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
bassmint
Normal user
Posts: 9
Joined: 26 Nov 2015, 20:12

BME280 Connection

#1 Post by bassmint » 01 Dec 2015, 19:02

I am getting some BME280 Temp/Humidity/Pressure sensors in a few days. Will they work with this easily?

tia

doxikus
Normal user
Posts: 57
Joined: 22 Sep 2015, 08:47

Re: BME280 Connection

#2 Post by doxikus » 03 Dec 2015, 19:03

+1 on this, can you add support for this sensor!?

fluppie
Normal user
Posts: 79
Joined: 09 Oct 2015, 13:23

Re: BME280 Connection

#3 Post by fluppie » 03 Dec 2015, 19:31

Mine will be here in +- 14 days I guess :).

bassmint
Normal user
Posts: 9
Joined: 26 Nov 2015, 20:12

Re: BME280 Connection

#4 Post by bassmint » 03 Dec 2015, 20:20

Screen Shot 2015-12-03 at 2.20.35 PM.png
Screen Shot 2015-12-03 at 2.20.35 PM.png (34.3 KiB) Viewed 4645 times
I got mine in yesterday and was hoping it would work under the BMP line.
It is seen but it is unknown.

fluppie
Normal user
Posts: 79
Joined: 09 Oct 2015, 13:23

Re: BME280 Connection

#5 Post by fluppie » 03 Dec 2015, 21:47

One can always compare the libs :). https://github.com/adafruit/Adafruit_BME280_Library

bassmint
Normal user
Posts: 9
Joined: 26 Nov 2015, 20:12

Re: BME280 Connection

#6 Post by bassmint » 04 Dec 2015, 02:26

im not that smart. :(

fluppie
Normal user
Posts: 79
Joined: 09 Oct 2015, 13:23

Re: BME280 Connection

#7 Post by fluppie » 16 Dec 2015, 23:54


costo
Normal user
Posts: 490
Joined: 21 Nov 2015, 15:03

Re: BME280 Connection

#8 Post by costo » 17 Dec 2015, 00:53

You can test if they work like the BMP085

In the WebServer module look for:

case 0x77:
reply += F("BMP085");

and change it to :

case 0x76:
case 0x77:
reply += F("BMP085");


In the module _P006_BMP085

change this line:
#define BMP085_I2CADDR 0x77
into
#define BMP085_I2CADDR 0x76


then you can test if it works without studying the datasheets
If it doesn't work you just change the things back as they were.

doxikus
Normal user
Posts: 57
Joined: 22 Sep 2015, 08:47

Re: BME280 Connection

#9 Post by doxikus » 29 Dec 2015, 12:45

HI, does someone have this sensor running on espeasy!? If not can we have tih sensor supported in next versions!?

Martinus

Re: BME280 Connection

#10 Post by Martinus » 02 Jan 2016, 18:09

I've ordered the BME280 from China. Will see what we can do when it arrives...

Martinus

Re: BME280 Connection

#11 Post by Martinus » 16 Jan 2016, 14:11

BME280 seems to work:
BME280_1.png
BME280_1.png (6.47 KiB) Viewed 3340 times
Plugin will be available in R67.
Attachments
BME280_2.png
BME280_2.png (7.06 KiB) Viewed 3340 times

fluppie
Normal user
Posts: 79
Joined: 09 Oct 2015, 13:23

Re: BME280 Connection

#12 Post by fluppie » 24 Jan 2016, 23:13

Mine is working but there is something weird with the read-out on the first poll. I use a ESP-201 Dev Board with GPIO2 and GPIO0 as I2C bus.
Attachments
BME280_bug_firstpoll.PNG
BME280_bug_firstpoll.PNG (39.71 KiB) Viewed 3314 times

fluppie
Normal user
Posts: 79
Joined: 09 Oct 2015, 13:23

Re: BME280 Connection

#13 Post by fluppie » 24 Jan 2016, 23:16

And a more trustworthy result on the second poll. But is reads 3 hPa higher then my two BMP085 modules.
Attachments
BME280_bug_secondpoll.PNG
BME280_bug_secondpoll.PNG (39.37 KiB) Viewed 3314 times

HarpieC
Normal user
Posts: 12
Joined: 20 Mar 2016, 20:33

Re: BME280 Connection

#14 Post by HarpieC » 22 Mar 2016, 07:52

short question: Is it possible to connect two bme280 with different ids?

I like to measure indoor and outdoor values.

costo
Normal user
Posts: 490
Joined: 21 Nov 2015, 15:03

Re: BME280 Connection

#15 Post by costo » 22 Mar 2016, 12:49

Datasheet of BME280 say:
The 7-bit device address is 111011x. The 6 MSB bits are fixed. The last bit is changeable by SDO value and can be changed during operation. Connecting SDO to GND results in slave address 1110110 (0x76); connection it to V DDIO results in slave address 1110111(0x77), which is the same as BMP280’s I²C address.
The SDO pin cannot be left floating; if left floating, the I²C address will be undefined.
usually the SDO_pin is connected to ground so default address is 0x76. In the ESPEasy code I2C address 0x77 is reserved for for BMP085.

If you want to connect a second BME280 you have to change the I2C address to 0x77 by making the level on SDO_pin HIGH.
On some boards there is a solder pad, carefully cut the connection between the two solderpads with a sharp knife and solder the opposite pad to the centerpad. On other boards SDO pin is a outside boardconnection, so connect that pin to Vcc

Also in the source of ESPEasy you have to change the WebServer.ino file so that ESPEasy recognizes the second BME280.

Find this part:

Code: Select all

        case 0x76:
          reply += F("BME280");
          break;
        case 0x77:
          reply += F("BMP085");
          break;
change that to:

Code: Select all

        case 0x76:
        case 0x77:
          reply += F("BME280");
          break;
 //       case 0x77:
 //         reply += F("BMP085");
 //         break;
As a result of this change in code the BMP085 will not be recognised anymore.

Drum
Normal user
Posts: 265
Joined: 07 Feb 2016, 11:56

Re: BME280 Connection

#16 Post by Drum » 22 Mar 2016, 17:22

3hPa is well within the accuracy listed in the datasheets. ;)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest