How to mount BME680 Temperature/Humidity Sensor?

I am looking for suggestions on how best to mount a BME680 sensor to ensure I get good readings and that the sensor is protected from the elements.

I initially planned to mount it in a box with some holes for air but this will likely yield subpar measurements.

I have found Stevenson Screen designs which I could 3d print and was wondering if anyone had any experience with them.

Screenshot_2020-09-22-22-22-48-10

I’m wondering if the Stevenson Screen needs to be in the shade, will it protect my BME680 from the elements, will the PLA used to print it stand up.

I am worried as the BME680 sensor is very exposed, is there any way I can waterproof the sensor without impacting readings?

-2034143699-1249872683

Is the Stevenson Screen route my best option or do you have any other suggestions?

Cheers

You ask many questions, which is fine, but never with any indication of any prior research, draining the resources of the other volunteers, many of the questions are very easily answered in less time by asking Google than it does to post on the forum, this will save you time and mean we are here for the harder problems.

A simple Google search will tell you that the Stevenson Screen is the gold standard for exposing weather sensors to the elements but shielding them from rain & wind.

Another simple Google search will tell you if PLA is weather / sun proof - try “is pla sun resistant”.

For the BME sensor, do you plan on doing IAQ with it - otherwise I’d go for the BME280 which will give you all but IAQ and is far less expensive. I would get some silicone gel to cover all APART from the actual sensor itself, the metal square with the small hole. If you cover that, it will not be able to make pressure readings and temperature readings will be inaccurate.

3 Likes

The simplest way to protect any 3D printed plastic from UV degradation is to apply 2 or 3 layers of water based (acrylic) outdoor paint.

Several years ago I looked at building 3D printed Stevenson’s Screens, (even remember the photo you published) and so printed a few pieces from ABS and left outside. After several months I could see dis-colouration and at about 6 months it was starting to fail.

I undertook this trial as I had no experience with the materials from 3D printer suppliers. I do have many years experience in the plastics industry (extrusion and injection moulding) and know plastics with UV inhibitors only extend the life of the plastic, not give a long life outdoors. I find only plastics that use Carbon Black have a good life expectancy outdoors. Being black these absorb radiant heat and raise the enclosure temperature and affect the sensor reading.

So the enclosures for my outdoor sensor are either located in the shade or the enclosure is coated in 3 layers of white plastic paint. One example - I have a heat shield made from polystyrene foam, it’s been outdoors for 3 years and still not showing any sign of degradation.

Also with these sensor (BME280 or 680) be aware of the environment you are installing them into. I have them in a vineyard where there are agricultural sprayers in action, so my enclosures had to keep the spray droplets off the sensor.

For your information, you don’t need two holes in an enclosure to get air passing over the sensor to measure humidity. An enclosure can have one (large) hole in one side and it will work. You can use this to your advantage by orientating the hole and protect the sensor. Consider an indoor room, the humidity will equalise around the room as the water molecules in the air will move even without air movement. Therefore the humidity sensor can be inside an enclosure with one hole and it will still measure the humidity correctly. In fact that’s why the BME sensors can work with it only having one small hole.

2 Likes

Be aware that the pressure sensor is more accurate when the temperature is 25-40°C.
Also it’s not that easy to measure pressure good when there’s a lot of wind, those use other enclosures.
Meteo stations often use a seperate placed baro sensor with a tube to the measurement location.

Given the i²C or SPI interface, you have to place a processor close.

BTW. the BMP388 and especially the new BMP390L are more accurate for barometric pressure.

1 Like

I have not tested this fully yet, but so far the arrangement in the photo below seems to work satisfactorily.

Sensor Case-s

The protrusion on the right of the waterproof case is described as a “waterproof sensor case” (just ‘Google’ it) usually used in making soil moisture measurements. The BME280 sensor that I have sealed inside this arrangement is making identical temperature and pressure readings to another that I have mounted in a similar enclosure with just a plain hole in it. At the moment, the humidity measured in this configuration is about 5% lower than the configuration with an open hole, but I have seen this sort of variation between sensors, so it may not be significant. I have still to swap the actual sensors over and verify whether the difference is the sensor or the enclosure configuration.

FYI, the sensor case has a 12mm screw thread and a nut that is usually used to secure it in place. To save room inside my enclosure, I cut a smaller (10.5mm) hole and tapped a 12mm thread (just using a 12mm bolt) so that the case would screw into the actual enclosure wall. I then cut/filed/sanded the excess ‘thread’ off the sensor case so that it sat flush with the inside of my enclosure.

In theory then, while a somewhat unsophisticated arrangement, this is a ‘waterproof’ enclosure that still allows water molecules (vapour) to pass through the sensor case filter. I’m yet to test this with a VOX sensor, but enough ‘air’ also passes through the case filter to provide consistent pressure readings.

1 Like

There is an interesting video by Andreas Spiess testing Pressure sensors.

The purpose of raising this, it demonstrates the variation in these sensors from one sample to the next. Averaging a number of samples is required. The BME280 can be found around the 5 minute mark

Yeah, I saw that but I guess it depends on what you are using your pressure measurements for.

I currently have six [BME280] nodes, in various configurations (processors, enclosures, locations). I see the sorts of variation in temperature that I would expect from the respective locations, regardless of any other configuration variation, with different configurations in the same location giving essentially identical readings (+/- 0.2°).

Pressure readings in all locations and all configurations are within 1hPa of each other. Of course, for altitude measurements, you’re probablly interested in an order of magnitude more accuracy, but for my weather readings, this is more than satisfactory. I also have some nodes recording 10-reading averages and others switching the sensor off between readings, and when measuring to the nearest 1hPa, I see no real difference. I do occasionally see spurious readings, as I do for temperature and humidity, but they are usually hugely irregular and easy to pick up as outliers.

I have found humidity readings to be the most variable. They can often vary by more than 5% between two sensors, in exactly the same configuration sitting side by side. I’ve yet to find any good explanation for this observation but again, from a weather reading perspective, the relative readings from a single sensor are probably more relevant in my application in any case.

So that box provides accurate temperature readings?

The heat of the battery doesn’t interfere?

The heat of the battery doesn’t interfere?

It doesn’t appear to. As I mentioned, the only practical difference I am seeing between the enclosed sensor and one in the ‘open’ is the humidity measurement. As you might expect, the enclosed sensor is also less sensitive to rapid changes but in an environment that changes only as quickly as my local weather patterns, the two track each other closely. I wouldn’t describe my testing environment as ‘scientifically controlled’, but for amateur weather readings it’s probably adequate.

If you think about it, the processor is only drawing µAmps while sleeping, then around 150mA for the fraction of a second when is reads the sensor and transmits the reading, then it’s back to µAmps for the next 60 seconds (as I currently have things configured), so I wouldn’t really be expecting any significant heat generation.

In the last 24 hours, I have been running the two sensors side by side in an identical environment and their humidity measurements are identical to within 1%, so it would appear that my ‘sealed’ environment maintains a slightly lower humidity than the open air. Interestingly though, the two track each other almost perfectly, maintaining around 5% difference no matter what the actual measurement, although the weather at the moment is such that the humidity range is only 30-70%.

Very nicely done.

I would have made the hole closer to the sensor (aka on the bottom right)).

How long do you’re battery last and what’s you’re send frequency?

Have you calibrated you’re pressure measurement?

On a day with almost no wind this is easy to do against a nearby meteo station, those will give the pressure with a accuracy of 0.1 hPa.

I would have made the hole closer to the sensor (aka on the bottom right)).

This was just the first enclosure I did and you’re quite right. When it was all put together I looked at it and asked myself “Why did you put that there?”, and I’ve never had a good answer…

How long do you’re battery last and what’s you’re send frequency?

I’m testing a number of different batteries, but the ones in the photo, which are nothing like the rating they claim to be (i.e. more like 280mAh than 2800mAh), are lasting around 70,000 cycles with just the processor sending a message (two actually) every minute, so that’s getting up around 15 months if the interval is cut back to 10 minutes. With a 75mA solar panel—80x45, 5.5V—and a TP4056 battery management system hooked up (to a Heltec Wireless Stick Lite module), the node I have running at the moment has lasted three times as long as without the solar panel and is still going.

I’ve used several Li-Ion and LiFePO4 battery configurations and, with the exception of the cheap 14500 Li-Ion battery in the photo, their relative life is pretty much as rated, but I’ve not really tried very hard yet to optimise any specific configuration so battery life varies quite a bit depending on the processor/sensor configuraiton.

The CubeCell is only doing around 10,000 cycles on the '2800’mAh Li-Ion battery with the BME280 configured, but I don’t think I’m managing the power up/down of the sensor effectively, so there’s still a bit of work to do there. For battery comparison though, the same configuration runs over 20,000 cycles on a 700mAh (Soshine) LiFePO4 battery and this seems to be a more genuine battery rating.

In Australia, we use the 915MHz band and my [private] network is operating at 917MHz.

I haven’t done any calibration at all at this stage. I’ve been working on the basic hardware/software configuration and packaging of my application, but I’m relatively new to this game, so this is as much about learning at this stage as anything else.

Thanks. 700 MAh for a 14500 seems more in line with what’s available.

The cycles difference seems indeed a non optimal power management on de BME280 or the I²C or SPI bus. A low power example (with more on board :wink: ):
tlera long cricket

I would consider calibrations test rather fast because they can take a long time to get an idea of the real drift.