A Merciless Environmental Monitoring System

We’ve seen plenty of environmental monitoring setups here on Hackaday — wireless sensors dotted around the house, all uploading their temperature and humidity data to a central server hidden away in some closet. The system put together by [Andy] from Workshopshed is much the same, except this time the server has been designed to be as bright and bold as possible.

The use of Mosquitto, InfluxDB, Node Red, and Grafana (M.I.N.G) made [Andy] think of Ming the Merciless from Flash Gordon, which in turn inspired the enclosure that holds the Raspberry Pi, hard drive, and power supply. Some 3D printed details help sell the look, and painted metal mesh panels make sure there’s plenty of airflow.

While the server is certainly eye-catching, the sensors themselves are also worth a close look. You might expect the sensors to be based on some member of the ESP family, but in this case, [Andy] has opted to go with the Raspberry Pi Pico. As this project pre-dates the release of the wireless variant of the board, he had to add on an ESP-01 for communications as well as the DTH11 temperature and humidity sensor.

For power each sensor includes a 1200 mAh pouch cell and a Pimoroni LiPo SHIM, though he does note working with the Pico’s energy saving modes posed something of a challenge. A perfboard holds all the components together, and the whole thing fits into an understated 3D printed enclosure.

Should you go the ESP8266/ESP32 route for your wireless sensors, we’ve seen some pretty tidy packages that are worth checking out. Or if you’d rather use something off-the-shelf, we’re big fans of the custom firmware developed for Xiaomi Bluetooth thermometers.

12 thoughts on “A Merciless Environmental Monitoring System

    1. He’ll have several spare pins because he wont need the RX & TX for comms to the PICO.

      You can purchase modules designed directly for this – basically a carrier board that holds DTH11 or DS18B20, 3.3v linear regulator and header for ESP-01. I’ve using several of these right now around my house and am sending the data to a central PI / Mosquitto / Node-Red server.

      If you have a permanent power supply these modules work fine as-is. For low power applications you have to do a bit of crude surgery to change the change which pin is used for DHT comms as it causes some issues with sleep, as well as remove the power LED. The ESP-01 also needs some fine surgery to add the deep sleep reset.

    2. @Marcus S said: “He’ll have several spare pins because he wont need the RX & TX for comms to the PICO.”

      Exactly. The RPi Pico is not needed at all, just use the ESP01. Also get rid of that horribly inaccurate DHT11 sensor. The Bosch-Sensortec BME280 pressure, temperature, and humidity sensor costs more but is much better than the DHT11.[1][2] The BME280 works with I2C which the ESP01 module supports. The ESP01 uses GPIO-0 for SDA, and GPIO-2 for SCL.[3]

      * References:

      1. BOSCH-Sensortech BME280 pressure, temperature, humidity sensor.

      https://www.bosch-sensortec.com/bst/products/all_products/bme280

      2. Adafruit BME280 I2C or SPI Temperature Humidity Pressure Sensor – STEMMA QT Product ID: 2652 $14.95 in stock.

      https://www.adafruit.com/product/2652

      3. Interfacing ESP8266 ESP-01 module with I2C LCD

      https://simple-circuit.com/esp8266-esp-01-i2c-lcd/

  1. Neat. Oh course now with the Pico-W out the extra Wifi piece would not be necessary. That is IF you could find ‘one’ in stock that is :) . Of I ‘think’ one could just use Python as the language for this … but then what do I know… not much… Ha! That said, I have a ‘pile’ of RP2040 boards just sitting in the box waiting to be used for something, so I’d be tempted to use one too. Like potato chips, one Pico or Pico Like board is never enough.

      1. The PICO has terrible antenna, fails most of the time to properly associate to an ESSID, and just sucks too much power. And the Wifi chip used for the Pico W is MORE POWERFUL THAN THE PICO ITSELF.
        (and power-hungry).

        An ESP8266 with Tasmota firmware + one of the supported humidity / temperature controller (https://tasmota.github.io/docs/Supported-Peripherals/) , job done.

        And one can even use the whole clunk of M.I.N.G with Tasmota without much efforts.

  2. The MING combination is quite popular for this kind of project. Having dedicated tech for each of the roles is often easier than trying to combine everything into one monolithic application.
    What’s missing? Many people combine that with Home Assistant for wiring up off the shelf sensors. That plays nicely with MQTT.

  3. It’s a pity you can’t actually buy raspberry pi computers any more. My order for one from April has been steadily pushed back a month at a time and now is due for delivery in May ’23. Let’s say I’m not holding my breath. This is from CPC, Farnell, Element 14, the people that make them, not from the ‘you can only buy one if you buy a plastic box to put it in and one of our branded mouse mats to boot’, brigade. I understand how the car industry cancelled their chip orders and caused the fabs to retool for other stuff, and now can’t produce cars because of their own short sightedness. But I can’t believe the raspberrypi foundation cancelled their chips and created the same kind of problem. And I’ve yet to hear a reasonable excuse as to why normal people can no longer buy a pi4, unless it is in a p400 ‘starter’ kit at three times the price.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.