Moisture Battle Part 2

After the issue of moisture was discovered inside the dome of the Night Sky Pi I went ahead and ordered two additional BME 280 sensors. I already had a sensor, however, I decided to play the silicon lottery. This was an attempt to order two hoping that they are from the same batch, and therefore have a similar read out. Not sure how much this really matters, but I’m aware that the silicon lottery is really a thing when it comes to other hardware so why risk it.

Before deploying the sensors I decided to check that they were indeed reading out data correctly and were in the same ball park. So I wired them up to the same board, which meant I had to change the address of one of the senors, which is just cutting the addr+1 pads so they can both sit on the same I2C1 bus. Once all wired up I cloned down two copies of environment checker changing the sensor address and the file that it would output to. These two scripts where then triggered by a simple cron job every 15 minutes over the course of a day. The results of the readings are below for temperature and then the differences between the readings.

Sensor Calibration Chart

So there are some issues with the odd reading here and there when checking the graph, however nothing is ever more than 0.5 of a degree out and generally the readings are close enough for my needs. What I wanted to check here was to ensure that there were no massive differences in the readings between the sensors.


One of the sensors was deployed within the dome of the night sky pi as I want to see what the environment is within the system. The second sensor was deployed outside of the Night Sky Pi however was enclosed within a Stevenson Screen2 to still protect it from the elements, the 3D file can be found on printables. Like in the initial testing of the sensors the environment checker scripts were pulled down and set up with a cron job to run every 15 minutes.

Additional to the two sensors another copy of the environment checker was pulled down, and configured to call upon the OpenWeather API to gather the same information as the sensors. This was in an attempt to check the external sensor against what the API provides. With this information I can then compare that to the inside of the dome. If there is an obvious pattern between the external, api and internal sensors, then I might be able to get away with not having a sensor deployed and just call upon the api which I would rather do.

Data Collection

The sensors and environment checking code have been live since the 1/5/2024 and I indent to run this for 30 days to ensure that I’ve captured varying weather conditions to that I’m able to make decision on a good data set. So expect an update around that time. As with the previous post progress can be followed with the moisture battle tag.

<-- Loughton Astronomical Society
Raspberry Pi 5 Daily Driver -->