Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Enviro+ for Raspberry Pi – Environmental sensors (pimoroni.com)
397 points by whiskers on June 14, 2019 | hide | past | favorite | 82 comments

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

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

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?

I'd been planning to use it with the Feather M0 Bluefruit, but for now I'm testing with an M0 Express with one of these LED displays next to it [1] on a board doubler. Good to know that this is more temperature rise than you'd expect to see; I'll have to confirm that (and measure the thing's current draw, which I have not had a chance to do yet). Thanks!

[1] https://www.adafruit.com/product/3132

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.

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 :)

The display doesn’t add a huge amount to the price so we thought it was worth including :-)

A raspberry is quite an overkill for an environmental sensor. You could achieve the same with an Cortex M4 (minus the microphone).

Can you easily log to influxdb from a Cortex M4 though? That's the big benefit of a RPi from my point of view

Havent heard of it before, but according to wikipedia they accept data input over UDP in a minimalistic format, so I dont see how this would be a problem.

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+?

Which sensor are you looking at? I'm sure it could run alongside the rest of Enviro+!

The most likely candidate is the TelAire T6613 [1]. Like most sensors in this price range, it reports data on I2C.

[1] https://www.co2meter.com/collections/0-1-co2/products/t6613-...

I've developed applications with the Senseair K30[1] and found it to be robust and very accurate over the long term. You can use it either over I2C or UART, so it would work fine in combo with this board!

[1] https://www.co2meter.com/products/k-30-co2-sensor-module

Have you considered the much cheaper MH-Z19 or even the CCS811?

Doubt they're as capable or accurate but I'd be interested in hearing the reasons behind going with the pricier sensor if you've got time to share.

Good question. My casual research into CO2 sensors is that they are generally made for indoor air quality rather than outside atmospheric concentration. Indoor CO2 concentration can soar as high as 1000 ppm where outdoors hovers around the 400 ppm level, so it is important to get a sensor made for the lowest range. The T6613 is specified for operation at 400 ppm so that is a big driver for my decision.

The MH-Z19 has a model specified for 0 to 2000 ppm so it might work fine. I don't know about the CCS811, the data sheet says it measures "equivalent" CO2, which is not a direct measurement, but a quantity inferred after measuring other compounds.

In the long run, there are calibration problems, as the photodetector ages. The best sensors have two light sources and automatically compensate for this effect. Indeed the other candidate I am considering is the Telaire 6615 which has dual sensors. My plan is to use the one of the two Telaires, preferably the dual sensor version, and correct measurements for temperature, pressure, and humidity. Hopefully, it will be accurate for a long time without the need for calibration with a known gas.

FWIW, I am just an amateur and welcome informed opinions. Scientific instruments that measure accurately in the atmospheric range are too pricey for me. The scientific community is just now starting to evaluate low cost sensors like the ones mentioned here, see [1] for a summary of some recent evaluations.

[1] https://www.wmo.int/pages/prog/arep/gaw/documents/Draft_low_...

Have you considered MH-Z19 ? I'm using it with success on hass.io platform.

You'd be fine then!

Great. Thank you!!

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. :)

Sometimes a full Linux stack is a blessing but I totally understand where you're coming from. :-)

It's just that I keep finding cool hats/phats like this that feel that way. :) I'm wondering about the possibility of building a high latency Kubernetes cluster to make use of the excess compute of some of the Raspberry Pis.

The HomelabOS project https://gitlab.com/NickBusey/HomelabOS is something I have been looking at. It would be neat if I could use a handful of Pis across the house wasting cycles for something like that in a kubernetes style fashion.

One other since you're the poster and presumably work at Pimoroni, is there a preferred distributor in the US?

I'm one of the co-founders of Pimoroni. :-)

Adafruit carry most of our range - hopefully they'll pick this up too soon!

Keep in mind the pis frequency scale so it’s not like throwing stuff on there won’t cost you heat and energy.

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.

We're working on opening up the schematics to our range, watch this space!

Thank you! That’s all I needed, and of course I’ll contribute back the changes I made to libraries (particularly the Microdot pHAT — which I love by the way — just that the changes are not pretty at the moment...).

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.

I was thinking the same, would be really nice for hydroponics!

Following this one.

It’s perfect for that - let us know how you get on!

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.

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!


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.

Absolutely! There have been too many attempts by management to push our technical team towards devices with replaceable batteries as a means of reducing operational expenditure. Such loggers fail, often.

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/

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.

Seems like the battery for ruuvi is not replaceable?

Was looking into something like this recently, but apparently a lot of the sensors out there aren't super precise:

- https://www.researchgate.net/publication/325416608_Suitabili...

- https://www.scientevents.com/proscience/download/potential-a...

They are often easy to set up, but make sure to double-check just how much you can use your particular model for.

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.

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!

You can easily calibrate co2 , 02 and n2 sensors by going outside in a "wild/nature" place

Depends on the sensor, also full auto mode usually means (for example MH-Z19) that it recalibrates every X hours, which means you'd have to go to the woods fairly often ;)

can be disabled. But then I'd recalibrate them after a few months. (I do it after 6 months usually)

Which sensors do you use? Are you happy with them overall?

MH-Z14 and MH-Z19.

Yes, for the price absolutely.

Are you using hass.io? Its plugin for MH-Z does not support switching auto calibration off, and in not sure how to do it.


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.

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.

Very similar to Pioneer600, an expansion board for Raspberry Pi. https://www.waveshare.com/pioneer600.htm

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.

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+. :-)

I have been using https://getawair.com/ (2nd edition) for over 6 months and I can't recommend it enough.

Any reason why the particulate matter sensor cannot be used indoors?

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.

Ive been thinking about environment plugins for the raspberry pi for school projects to measure polution - so might have a look at this

This is amazing. I'm going to add this to a fun weekend project to monitor air quality in my neighborhood.

Let us know how you get on!

I also passed it along to some contacts in the DC government. I told them this is exactly the kind of stuff they should deploy all over the city to get air quality, and just try it out since it's cheap enough to experiment with!


Is the alignment of the connector pads along the edge of the card deliberately not straight?

It aids in soldering, as the header you put in stays put straight instead of falling over or bending

Nice. I definitely hit that problem, but never thought of that solution!

Does anyone know where I can buy one of those displays? Looks amazing for the size and it has a standard connector instead of the weird hot-bar solderable ones on the other small displays I have seen.

Anyone have experience making an enclosure for something like this to use outdoors? Thinking of like a Stephenson screen with a built in solar panel for powering the Pi + Hat.

I'd suggest breaking out this board to decouple it from rpi, since rpi heats up enough to make temperature readings from attached board inaccurate.

I don't know anything about Pis, though I've seen one. How does this attach? Does it require soldering?

No soldering required, you just plug it onto the header on the Raspberry Pi.

yes/no. it's sized to match the Pi Zero, which by default comes with no headers - so to add this board you'd need to add headers. But many vendors (including OP) offer them pre-soldered, which makes the hardware side "plug the top bit into the bottom bit".

(The zero is positioned as the "barest of bare-bones" to reach its price-point. Many vendors look for value-adds they can offer because there's not much margin on "barest of bare-bones". So "no headers" is one of the ways the manufacturing price was lowered, and "with headers" is one of the value-adds some vendors offer.)

So not to contradict anyone, just to be clear that you're looking for "pre-soldered" or "pre-soldered headers" if that convenience is worth the extra couple of bob to you - to avoid the disappointment of expecting one and receiving the other.

This product works with any model of Raspberry Pi - it doesn't have to be a Pi Zero!

The Pi Zero comes in three flavours - the Pi Zero WH includes a pre-soldered header. :-)

ah, I didn't realise it was actually coming out of the fab like that now? I could have sworn that at least initially, it was being offered as a value-add service.

Anyway, I should stress it wasn't a criticism - just that if that's their biggest question, they'd probably benefit from being able to tell the bare & WH boards apart.

Initially it was, but now there is an official SKU for pre-soldered header. :-)

Are the schematics available?

Looks great!

They will be!

I just put one on order :)!

Any idea when the PM sensors will be back in stock? I was thinking about grabbing one from elsewhere, but I imagine I need a cable pinout :)

Hopefully about a week!

Is there a case option?

Making your own Stephenson Screen seems like one of the better uses of a 3D printer I've seen :) https://www.thingiverse.com/thing:83969

Obviously for the sensors to work they need to be exposed to air. We have a tutorial coming next week on how to make a low-cost enclosure for use outdoors - is that what you mean?

Yeah it'd be great if there was some kind of enclosure and holes / open spaces for the sensors.

Even better if there was a combined case which let you have the Raspberry Zero and this unit in one small thing.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact