top | item 20185182

Show HN: Enviro+ for Raspberry Pi – Environmental sensors

397 points| whiskers | 6 years ago |shop.pimoroni.com | reply

82 comments

order
[+] josecastillo|6 years ago|reply
Weirdly coincidental timing on this! I've been working on a PCB design (FeatherWing form factor) to track weather data on my hikes, making use of a BME280 and a GPS module. First revision of the board[1], I discovered that the sensors started out accurate, then drifted up to a steady 3° above ambient. Probably because the GPS module was heating up. So last night I found myself reading up on design considerations for temperature sensors [2], including specific things like the cutout you have on the left side of this board.

I'm guessing you designed this — any advice as I embark on designing a second revision of my hiking log?

[1] https://twitter.com/josecastillo/status/1134128199972130816 [2] http://www.ti.com/lit/an/snoa967a/snoa967a.pdf

[+] Ductapemaster|6 years ago|reply
Jose - I have done a few designs for my current employer using the BME280 for environmental sensing. I've found it a little sensitive to heat, both from the environment and itself. There's a good resource from K&R Smith[1] about comparing the sensor to others and there's some discussion about how to set up the sensor to minimize self-heating. Might be worth looking into!

Additionally, when I do my designs, I place the BME280 sensor as far away from other components as possible (I see it is close to a SOIC chip on your board) and I route a cutout in the board around the sensor to reduce any heat conduction from the board. I also ensure that I have no power planes on the little resulting "island" PCB, and use small traces (with local decoupling) to further reduce any conductive heat. See the image in [2] for an example of what I am talking about.

Another alternative I pursued in situations where convective heat was an issue is to stick the sensor on a little remote board and use an off-the-shelf wire to connect the two (check out the Sparkfun Qwiic wires[3])

Overall you want to increase airflow around the sensor as much as possible so leaving it "hanging out" somewhere is the best approach to getting accurate measurements.

I hope that helps!

[1] http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.ht...

[2] https://www.instructables.com/id/How-to-Measure-Temperature-...

[3] https://www.sparkfun.com/products/14427

[+] whiskers|6 years ago|reply
Hi Joey - yes, this is one of our boards. :-)

Are you sure it's the GPS module - 3 degrees sounds a lot for that? I'd try to take some measurements to confirm it before changing anything.

Which Feather board are you using?

[+] volkerp|6 years ago|reply
The BME280 is not particular suited for ambient temperature measurements. It's for accurate and fast pressure and humidity sensing. Quote from the datasheet about the temp sensor: Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature. You will get the temperature of the sensor rather than that of the environment. The tiny BME280 is thermal coupled to the board and also heats itself up during repeated measurements. For accurate ambient temperature you could use a DTH11 or DHT22. These come in plastic housings to isolate them from the surroundings and provide better airflow.
[+] m4x|6 years ago|reply
This looks great. I've been waiting for a nice, hackable, cheap set of environmental sensors!

There's only one "improvement" I would like to see - an option to buy a cheaper version without a display attached. For my application I will not need any display, and it seems a shame to spend resources on one when it's only going to get destroyed by the elements :)

[+] whiskers|6 years ago|reply
The display doesn’t add a huge amount to the price so we thought it was worth including :-)
[+] cf498|6 years ago|reply
A raspberry is quite an overkill for an environmental sensor. You could achieve the same with an Cortex M4 (minus the microphone).
[+] JoeDaDude|6 years ago|reply
By an incredible coincidence, I am putting together something to do exactly what this does. One exception: I am including a CO2 sensor to monitor and collect atmospheric CO2 levels.

I'm guessing a there is enough I/O left on a Pi 0w such that a CO2 sensor can be added to the Enviro+?

[+] whiskers|6 years ago|reply
Which sensor are you looking at? I'm sure it could run alongside the rest of Enviro+!
[+] zantana|6 years ago|reply
I'm working on a similar nodemcu based system that was originally proposed by Bruh Automation https://www.youtube.com/watch?v=jpjfVc-9IrQ later updated by digiblurDIY https://www.youtube.com/watch?v=9Yu57vjz7AY to use ESPhome https://esphome.io/ with no progamming.

This looks interesting, but somehow it always seems wasteful to use full blown Linux servers for this stuff, so I'm dabbling in something smaller. :)

[+] whiskers|6 years ago|reply
Sometimes a full Linux stack is a blessing but I totally understand where you're coming from. :-)
[+] prashnts|6 years ago|reply
I love Pimoroni Modules, having used the MicroDot pHAT, Unicorn boards, Touch pHAT, (and several more). The only problem I have is that the libraries aren’t particularly well written. Of course they’re open source and I would like to improve them, but as far as I know there are no schematics available.

Example being, the Touch pHAT (very good board btw) doesn’t use interrupts and library is sorta messy. I still use it though, because it’s not a big deal — however it’d be nice to be able to take full advantage of the components used in the boards. I guess my rant is mostly about not having access to some schematics of the products.

[+] whiskers|6 years ago|reply
We're working on opening up the schematics to our range, watch this space!
[+] sam0x17|6 years ago|reply
By coincidence I actually need this -- going to be doing some data analysis on indoor hydroponics grow rooms and this would give me all the environmental data I need if you include the particulate matter sensor.
[+] woile|6 years ago|reply
I was thinking the same, would be really nice for hydroponics!
[+] whiskers|6 years ago|reply
It’s perfect for that - let us know how you get on!
[+] jonathankoren|6 years ago|reply
This is pretty cool. I’ve been looking to expand / replace PurpleAir with something that monitored gasses in addition to particulate matter.

I don’t think this is exactly what I want, since it has an LCD, but the sensors and board are really cool.

The only thing I wish this tracked was SO2.

I’m thinking i might have to make my own with Arduino. But this is very cool.

[+] thisnews|6 years ago|reply
I wonder how easy it would be to convert, or design something similar to the Enviro+ that is in a waterproof enclosure with battery. Could be useful for collecting data on some basic water quality(turbidity,conductivity,pH,temp) alongside water level.

We currently use In-situ Aqua Trolls[1] to gather these parameters, but a solution like this could almost be considered disposable; hand them out to people in remote areas and you could potentially realise data for rivers/creeks that rarely flow, and would otherwise go unmonitored due to the time and finial investment required.

Very interesting project, thanks for sharing!

[1]https://in-situ.com/products/water-level-monitoring/aqua-tro...

[+] joshvm|6 years ago|reply
The trick with waterproofing is that it's easy to do rainproof enclosures, but much harder to make fully submersible things.

For measuring water parameters I would be tempted to use a rugged box for the Pi and then cable (via a removable connector) to something you put in the water. Basically design a probe like the device you linked. The fewer parts that need to be fully waterproof the eaiser life gets.

[+] deanclatworthy|6 years ago|reply
I was looking into some hobby sensors for home recently and came across this the Ruuvi [1]. I prefer this model to having on-board sensors. This doesn't do everything the Enviro+ does, but for a lot of use-cases it's pretty nice and affordable.

[1] https://ruuvi.com/personal/

[+] glogla|6 years ago|reply
Do I understand it correctly that this doesn't store the data, and uses bluetooth so you only see data for times when your phone was nearby, and on iOS when the app was open?

That sounds kind of limiting. I guess every hacker has old smartphone somewhere that can be used for that.

[+] pergadad|6 years ago|reply
Seems like the battery for ruuvi is not replaceable?
[+] polskibus|6 years ago|reply
Are the sensors pre-calibrated? I found that you can easily get cheap air quality sensors from China, the problem is that they could do better with calibration, which may require expensive (in relation to the sensor itself) equipment.
[+] whiskers|6 years ago|reply
We have a calibration guide coming, of course it can't compare to high end equipment but it's plenty good enough for most people's uses!
[+] F_r_k|6 years ago|reply
You can easily calibrate co2 , 02 and n2 sensors by going outside in a "wild/nature" place
[+] Avamander|6 years ago|reply
There have been just as comprehensive if not even more comprehensive sensor sets available for a really similar price. It's nothing unique.

As building such boards is quite common, I too have assembled many similar boards for my own use, to monitor both indoors and outdoors air quality although I don't have any external stations to compare my values to but they're "calibrated" according to the same baseline across my setup and it allows me to keep an eye on different types of pollution - different gases, particulates, UV, noise and so on. Would be nice if all these platforms could be tied together.

[+] FerretFred|6 years ago|reply
Really looking forward to using this. Our local Council has a few air quality monitors in strategic places and publish the results as open data. However, they are 6 months behind in publishing data and have recently declared a "air quality emergency". They also state "Currently the level of interest in air quality appears to be rising, but this does not seem to translate into interaction between the Council and the local communities".

With an Enviro+ on a portable Pi I'll now be able to get my figures in near real time and ignore the Council.

[+] darkhorn|6 years ago|reply
Very similar to Pioneer600, an expansion board for Raspberry Pi. https://www.waveshare.com/pioneer600.htm
[+] mey|6 years ago|reply
A quick look over the Pioneer600, the pressure sensor seems to be the only overlap in the environmental monitoring that the Enviro+ is going for. The Pioneer seems to be a utility board, great for messing around. To me they would serve different purposes.
[+] whiskers|6 years ago|reply
Other than the pressure sensor I can't really see the similarity in purpose? We aimed to cram as much environmental monitoring as possible at a reasonable price point onto Enviro+. :-)
[+] addicted|6 years ago|reply
Any reason why the particulate matter sensor cannot be used indoors?
[+] joshvm|6 years ago|reply
No, it's just an aspirated dust sensor. No reason you couldn't run it inside. The main reason they suggest outside is so you can contribute to a global air quality database of some kind.
[+] fiftyacorn|6 years ago|reply
Ive been thinking about environment plugins for the raspberry pi for school projects to measure polution - so might have a look at this
[+] atonse|6 years ago|reply
This is amazing. I'm going to add this to a fun weekend project to monitor air quality in my neighborhood.
[+] whiskers|6 years ago|reply
Let us know how you get on!
[+] spearo77|6 years ago|reply
Is the alignment of the connector pads along the edge of the card deliberately not straight?
[+] frabert|6 years ago|reply
It aids in soldering, as the header you put in stays put straight instead of falling over or bending