• Distant Early Warning

    CarbonCycle07/09/2023 at 23:55 0 comments

         So - this could be pretty - if someone wants to help with bitmaps.  I played with them a bit, using the resources on Adafruit Learn however I'm not thinking I'll mess with more than maybe choosing some other font.   The real benefit of sensor devices like this are not the instantaneous reading - rather being able to capture time-series data and looking at trends is more valuable.  You can spot patterns that indicate inadequate ventilation - say building up over night so you get a nice concentration increase before anyone awakes and opens doors or windows.   

         I use natural gas in my home ( built in 1943 ) and its pretty obvious when I return home after the house has been closed for even just a couple of days.  I wondered about this stuff for years, called it the "farm-house smell" as I've always noticed it since I was a child.  Its not exactly the scent they use in the gas, at least to my evaluation. 

        Eventually I learned about the special characteristics of natural gas, that it is not really treated or distilled like propane.  That it can contain lots of interesting molecules.  Its not like it freaks me out, I'm just curious.  And I sleep near an open window.  I digress.  

        There is enough memory on the M4 to maybe save some number of sample passes - some amount of local preprocessing is perhaps also possible as Temperature and Humidity can introduce errors in the measured values in some of the sensors.  The electro-chemical senors may need more work to be linear over temperature and/or humidity.  Finding the range of those two in the time series will tell if that is needed.

    But to have the data - we need to speak with a broker. A mqtt broker.

  • Vital Signs

    CarbonCycle07/09/2023 at 23:10 0 comments

    Everybody got mixed feelings

    About the function and the form.

    Everybody got to deviate

    From the norm

        One of the fun things to do when deciding presentation is color - we aren't displaying trends or providing anything smart by just presenting numbers.  Fortunately the units resulting from all reading are consistent ( PPM ) so I didn't see a need to label with more than type.  

        Switching color when reaching a certain level - this was pretty easy with Particulate Matter ( PM ) because there are widely accepted levels for PM2.5 generally ( see Air Pollution in the World: Frequently Asked Questions ) but figuring out what is a "bad" level for some of the other measurements is well - more involved than I could figure out easily from public sources.   The colors and levels I chose for PM levels comes from the above source.  The levels chosen for CO2 where chosen arbitrarily - by me.

          When you scratch this enough - you will find that accuracy is ( or can be ) variable for many reasons, including the underlying measurement method and technology used.  One factoid I find interesting in some consumer and many commercial PM measurement devices is they include more than one particle sensor, I've seen two and 3 identical devices used in the same enclosure for some kind of redundancy or data quality ( depending on the vendor narrative ) issue.  We have just one on this platform.

  • Force Ten

    CarbonCycle07/09/2023 at 22:17 0 comments

    Look in —

    To the eye of the storm

    Look out —

    For the force without form

    Look around —

    At the sight and the sound

    Look in look out look around —

       I've been building various sensor platforms for awhile with individual components, usually on breakout boards.  This leads to multiple issues with sensor placement, just to start.  When Winsen started selling this board - it was obvious it was solving a bunch of problems ( placement, connectivity, code complexity ) and I started looking for display options for a data-collection point with WiFi to allow collecting data for graphing and trend analysis.   I wanted to use python to keep the code environment simple, with that fancy Mu editor for rapid prototyping.

       The Adafruit MatrixPortal M4 provides everything, including +5v power for off-board use through a USB-C port.   I can power the entire project from my MAC while adjusting display attributes in the Mu editor.   The board also has a hardware serial port ( for the sensor module ), and I2C for other devices, my design will include a EMC2101 fan controller to provide programmable air flow across the sensor array.

       This ZPHS01B module greatly increases the simplicity of building an environmental monitor for air quality.  Combined with the MatrixPortal - the data can be displayed, collected, saved and analyzed on a MQTT broker like Adafruit IO.   The only missing thing is OTA updates for the display code, not certain that can be done with CircuitPython. 

       The code is pretty basic - not fancy at all, intended to be easy to understand.  I just connect the module to the board's serial TX/RX and obtain power from the same terminals powering the RGB matrix panels.   I use 2 64x64 2mm dot panels, connected together.   The MatrixPortal seems to have no trouble powering everything.

       The next versions of code will have data upload to Adafruit IO for use in dashboard graphs.  Turns out a free account will accommodate exactly 10 feeds.  Hmm.  I have 10 sensors to monitor!