Enviro Indoor vs Urban big discrepancies in readings

Configuration …

enviro indoor (USB power) adafruit.io feed “enviro-first”
enviro urban (battery power) adafruit.io feed “enviro-second”
both running 0.0.9

Setup …

Dashboard …

Why are the readings so widely different, when the two units are within inches of eachother?

How close would you expect the readings to be?

I don’t remember this being the case under 0.0.8, and the spikes on the enviro indoor (“enviro-first”) are certainly something new.

At least 0.0.9 seems to have more success posting readings to adafruit.io :)

Answering my own question, guess what happened here? …

Yes, this …

That is: I swapped the power (the Enviro Urban is now USB powered, and the Enviro Indoor battery powered).

It seems the Enviro boards temperature and humidity sensors are very sensitive to heat generated by the Pi Pico W - i.e. when USB-powered, the always-on board heats up a little relative to the power-miser battery mode.

Perhaps the Enviro board software should also include the RP2040’s onboard temperature reading too? Maybe the hardware design could also be reworked to provide better insulation for the sensors?

For sure, it would be useful to have a clear indicator as to whether the board’s sensor readings have been impacted by the Pi Pico W.

Still puzzled as to why humidity is temperature sensitive.

May also be worth splitting them up a little; in that first picture the Indoor is tucked up fairly snuggly against and above the Urban, so any waste heat may be affecting it.

I’d probably have them in the same orientation / elevation with a hands width distance from each other to get a more even handed comparison (not to say your USB/battery theory isn’t potentially a factor, but there’s too many other variables in the way)

1 Like

Yep, if you’ve got your board powered by USB it will never go to sleep and thus will warm up more. If it’s powered by battery the power to the RP2040 is completely cut, giving everything the chance to cool down between readings.

I found that my Urban reads a little warmer than my Weather too, which makes sense as Urban stays on for a few seconds to allow the particulate sensor to suck in enough air to take a reading.

1 Like

I might be wrong here but I’m pretty sure the Pico can report it’s own onboard temperature. Perhaps you could use that to create an offset? (I’m sure I saw something similar on another product in the past).


For completeness, see if you can spot when I switched the Enviro Urban to battery also …

Note: there is still work to do to stop Adafruit.io getting stroppy about the amount of work we’re throwing their way. Quite honestly, given how much I’m paying, I’d expected better from them.

And this is what I used: a nice new 6700mAh Lithium Ion battery pack with the LIPO AMIGO PRO …

From the inline meter reading (2912mAh), I’d guess that Pimoroni sends out the batteries half charged.

I’ve given up on using remote services for monitoring - these days I just log stuff to MySQL (sometimes via a little “api” on a local Pi and use Grafana to create my own dashboards).