[SOLVED] BME280 power consumtion
-
Hi all,
I'm using this library:
https://github.com/finitespace/BME280
to comunicate with this module:
http://www.ebay.com.au/itm/I2C-SPI-Breakout-Temperature-Humidity-Barometric-Pressure-BME280-Digital-Sensor-/191736124959in my sketch i create the driver with this statement:
BME280I2C bme;which acording to example sketch BME280_Modes.ino should result in 0.16 μA power consumtion but my bme280 module consumes almost 0.5mA in this mode ...
has anyone any expirience with bme280 and know how much power it realy should consume ?
-
Maybe you could try the adafruit library and see if it works better
-
ok, i think the problem is solved, the example i was looking at is just wrong, the default mode is normal not forced so default configuration of the driver put in nornal mode not forced, changing the constructor values solves the problem.
-
@rozpruwacz
Hi,
Could you please share with me how you managed to get the power consumption of the BME280 down.
Can this also be done with the Adafruit library?
-
You can checkout my code from github: https://github.com/mczerski/MyMultiSensorBME280. If you want to build this project remember pull also git submodule (git submodule init; git submodule update)
-
@rozpruwacz The big downside to using forced instead of normal is that you can't use the IIR filters, since they require relatively recent previous readings to work.
-
@rozpruwacz Thanks, very impressive solution!
-
Just add:
BME280.writeMode(smSleep); // go to sleep, save battery
After your have read the bme280, just before you call sleep().
-
@mickecarlsson What BME280 library are you using?
-
I am using this:
// Bosch BME280 Embedded Adventures MOD-1022 weather multi-sensor Arduino code, // written originally by Embedded Adventures. // https://github.com/embeddedadventures/BME280 #include <BME280_MOD-1022.h>```
-
@mickecarlsson I believe BME280.writeMode(smSleep); is not necessary.
Forced mode must be used. I think after taking the measurement the sensor goes back to sleep.BME280.writeMode(smForced);