Hey there pirates!
I’m messing around with a BME680 on a Pi Zero W (in a case, exactly the same as it’s shown on the product page). I followed the tutorial and got it up and running with the read-all.py example. When I first start it from cold the temperature starts at something that looks about right (21c) but then over time it climbs until it’s 26.5c. I’m in the Netherlands and the temperature in my house according to my thermostat is 20c.
Now my thermostat could be wrong, but since I’m wearing a hoodie over my PJ’s I’m pretty sure it’s not quite that hot yet.
Any ideas what could be happening here and how I could fix it please?
Thanks!
Andy
forgot to mention… I burnt it in for 20+ minutes and then ran it for another 24 hours just to be sure before asking for help ;)
I’ve seen other reports that the heat given off by the Pi, throws the readings off. The hot air from the Pi’s CPU likely comes out of the gap in the case at the GPIO header. If you have some male to female jumpers, try those to get some separation. Or maybe just take the top layer off of your case as a test.
I don’t have that sensor but I have a Sense Hat that suffers from heat transfer from the Pi. Temp starts off OK but slowly climbs, especially with my Sense Hat in a case, even a ventilated case. I ended up mounting a BMP180 on the outside of my case. I used a BMP180 because I had it already sitting in my parts bin doing nothing.
1 Like
Thanks Kerry - that’s a useful suggestion. I’ll give it a try!
Another option is to drill a couple of vent holes in the top layer of the PIBOW case right over the CPU. I guess I should call it the SOC but that usually just confuses people.
I cut out a square hole and put a heat sink on my Pi Zero. I don’t think the heat sink does much other than improve the looks, lol. I just used my dremel tool. I drilled 4 small holes in the corners and then connected the dots. ;)
Thanks - switched to jumper cables and I can confirm that this is now giving me accurate readings.
Will be using it on a Pi 3 eventually so I’ll see how it does heat wise on there later.
Thanks so much - I really appreciate the guidance!
@sandyjmacdonald would it be worth updating the docs to reflect our findings here? (given that I set
it up exactly as it’s illustrated and found weird results). Thanks!
Agreed! I note that maker masters Adafruit have observed heat conduction through the actual GPIO pins or jumper wire to cause significant variations in temperature readings.
This is both sort of bonkers when you think about it, and also perfectly rational because metal conducts heat.
I don’t know if there are any mitigations we can add to the design to help prevent this.
1 Like
Off topic a bit but probably relevant. It’s a big deal on the Sense Hat, lots of complaints. There is a ground plain on the back side right behind the chip that measures temperature. In hindsight they now realize they should have just left open board with no copper there. And they don’t want to now change it because they want the ones the kids have to behave exactly like the two on the space station. I think at some point there likely will be a version 2 of the sense hat though. On one of my setups I added a Proto Hat between my Pi and my Sense Hat. I also flipped my Sense Hat 180, GPIO header is at the bottom, so hot air can get out easily. With no case temps read OK.
That Pi just sites in my house with no case measuring temp, humidity and pressure.
With my BMP180 I just made sure to mount it on the outside of my case. I put it on the bottom so the sun can’t shine directly on it skewing things. It’s a portable setup I take to our dog park to keep an eye on temps and humidity. We don’t want the dogs getting heat stroke while playing around etc. Might be hard to see in this picture but down at the bottom you’ll see some layers of clear frosted diffuser. Looks like a little PIBOW case. My BMP180 is in there. That’s to keep rain etc from getting on it, I have vent holes drilled so air can get in though. The case has minimal venting so heat can get out but rain can’t get it..
1 Like