Version 2.0 seemed like a good redesign that would allow expanding the set of sensors seamlessly by expanding the tower with a mention being made at the end along the lines of adding other sensors. For that purpose, the build was revisited and the array of sensors expanded by adding a few other sensors.
As the instructions go, the Geiger counter, specifically, the tube, has to be protected from direct sunlight such that a box will have to be built and painted in order to keep the Geiger counter out of direct sunlight. The box itself is easy to make and will be created out of acrylic sheets that are then glued together in order to form a perfect box around the Geiger counter.
The result is acceptable and the box will work as a sheath around the Geiger counter in order to keep the device safe from rain and direct sunlight.
In reality, after placing the Geiger inside the box, there is no need to mess with the Geiger ever again, such that the box is sealed up using a bit of acrylic and some hot melt glue. A port is exposed that will lead from the Geiger counter to the large sensor tower.
If you're wondering where the Geiger will be placed, it will be attached to the main sensor array as a sidecar. The box is drilled through and using screws the Geiger is attached to the main assembly.
Since we're here, the issue of the dangling cables at the bottom is also resolved, by removing the old rigid cable and fitting JST ports onto the bottom of the sensor array. As can be observed, the Geiger counter is attached onto the sensor box and then connected to the main array using JST connectors. This makes the Geiger counter and the box easily removable for maintenance but also part of the main sensor assembly.
As you might have noticed, the unpainted face plate where the cables connect from the Geiger is pointing downward with the part at the top being the painted side that faces the sun. Obviously, in terms of rainfall and/or snow, it is much better to leverage gravity and place the connectors on the bottom of the assembly instead of pulling wires from the top considering the accumulation of water that might short the wires.
The next sensor to add would be the anemometer that is actually delivered "complete", as far as "completeness" goes, because the build is actually very simple. All that the anemometer consists in is a plastic pipe, some plastic cups and a typical DC rated motor that is placed within the pipe and held into place with a screw on the exterior.
The build is so simple that it would be trivial to reproduce for a fraction of the price. Ultimately, the anemometer is not a calibrated device, and the motor outputs a constant current that can be measured but does not correspond to any relatable physical measurement. For that purpose, the anemometer is calibrated "relatively" using a desk fan, that makes the cups spin and then the resulting current relative to staying still is measured. The voltage being measured is then converted into percentages in order to offer a feedback from the sensor along the lines of "no wind" to "maximum wind" (not great, but without another calibrated anemometer as an echelon, it would be impossible to calibrate the sensor).
The anemometer is then glued to a CB HAM radio antenna magnet such that it can be easily deployed onto any metal surface and a wire is pulled along with a JST plug to the bottom of the sensor array where it is then fed into the ESP32 in order to make the readings.
Next up is the gas CO2 sensor, for which another level of the tower is created and the sensor is fitted onto its own shelf with leads going down to the ESP and the power supply.
One of the difficulties in dealing with the MH-Z14A sensor is that even though multiple sensors carry the same sensor code (like MH-Z14A), there are multiple versions of the same sensor out there, such that multiple manuals will point to different pin layouts and also different features. For example, when purchasing the device, one of the advertised features was "analog output", which is perhaps the best kind, given that it has extremely low requirements and consists in just one wire. However, it turned out that the version bought was an ulterior version that did not have analog output, such that the pulse-width-modulation (PWM) signal had to be used instead. These sensors also have a serial interface, along with a micro-protocol in order to access the sensor, however that would require a serial multiplexer if other devices will have to be added in the future such that PWM is still preferable due to its low requirements. Similarly, the various datasheets for the same sensor, sometimes mention different calibration values that change from model-to-model, such that it was a matter of playing around with the measurements to settle on the correct formula.
Lastly, in order to address the issue of the dust sensor always returning zero, it was found that the pin connecting the analog output of the sensor did not make good contact with the ESP32 analog pin. This is a consequence of using Dupont wires, but the issue of bad contacts can be solved fairly easily by wrapping up the Dupont connector with a piece of heat-shrink tubing. The tube and heat will make the connector shrink a little and then it will fit somewhat tighter onto the ESP32 pins.
One of the sensors that was added, namely a MICS-6814 with an analog output signal corresponding to three gasses, was then later pulled because it was determined that the sensor is actually not calibrated to anything and, as for all gas sensors, it would have to be calibrated individually for all gasses. At best, the MICS-6814 could only provide a relative measurement (more than less, and so on) over time, which was deemed to not be that important and keeping the sensor cocktail as "scientific" as possible was much preferred for this project.