Bosch BME280
AGCB
Posts: 327
in Propeller 1
I'm trying to write an object or code for a BME280. I've searched the OBEX and Google for something already written but haven't found anything.
Although I learn more when I do it myself and sometimes have more fun, I'd rather not reinvent the wheel if there's one out there.
Anyone know of anything in SPIN?
Although I learn more when I do it myself and sometimes have more fun, I'd rather not reinvent the wheel if there's one out there.
Anyone know of anything in SPIN?
Comments
BME280
The BME280 is an integrated environmental sensor developed specifically for mobile applications where size and low power consumption are key design constraints. The unit combines individual high linearity, high accuracy sensors for pressure, humidity and temperature in an 8-pin metal-lid 2.5 x 2.5 x 0.93 mm³ LGA package, designed for low current consumption (3.6 μA @1Hz), long term stability and high EMC robustness.
The humidity sensor features an extremely fast response time which supports performance requirements for emerging applications such as context awareness, and high accuracy over a wide temperature range. The pressure sensor is an absolute barometric pressure sensor with features exceptionally high accuracy and resolution at very low noise. The integrated temperature sensor has been optimized for very low noise and high resolution. It is primarily used for temperature compensation of the pressure and humidity sensors, and can also be used for estimating ambient temperature.
The BME280 supports a full suite of operating modes which provides the flexibility to optimize the device for power consumption, resolution and filter performance."
Applications
- Context awareness, e.g. skin detection, room change detection
- Fitness monitoring / well-being
- Warning regarding dryness or high temperatures
- Measurement of volume and air flow
- Home automation control
- Control heating, ventilation, air conditioning (HVAC)
- Internet of things
- GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
- Indoor navigation (change of floor detection, elevator detection)
- Outdoor navigation, leisure and sports applications
- Weather forecast
- Vertical velocity indication (rise/sink speed)
Unfortunately all my code and library is in C.
Mike
Thanks
Aaron
After looking at this library I remember what a hell of a time I had to get the math to work.
Not the easiest device to read the data from.
http://obex.parallax.com/object/872
Mike
Hi. I have a BME280 and I can configure it and read all the registers using Prop1.
However, I am stumped by the calculations to apply the trimming parameters.
The datasheet explanation and code is not very helpful.
Searching the internet reveals lots of code in various languages, but not much simple explanation.
Do you know of anywhere which provides a simple explanation for applying these trimming parameters?
iseries, I tried to download your obex object, but came up with "page not found".
I have sent an email to the webmaster and we will try to rectify the situation.
Since I find it much easier to work with SimpleIDE and GCC, there was a mention of some C code. Is that, perhaps, available for perusal and maybe trying to make it work within SimpleIDE?
Ray
As far as the 280, the python library is probably the easiest to read: https://github.com/adafruit/Adafruit_Python_BME280
Yup, you are correct, thanks. I have looked at several code snippets and this one has the best structure to understand the trimming maths.
BME280 on Github
Mike