What changed, what broke, and what I learned along the way.
v0.4: humidity correction and a quieter node
The biggest change in this release is a humidity correction for the PM sensor. Above roughly 80% relative humidity, laser sensors start counting water droplets as particles, and the balcony node was reporting "smog" every foggy morning.
PM readings are now corrected using the on-board humidity sensor.
The fan runs for 20 seconds before each measurement instead of 30, which saves about 15% of battery.
The dashboard shows a small marker when a reading was taken in very humid air.
LoRa link for the garden node
The garden is just out of Wi-Fi range, so the second node now talks to the server over LoRa through a small gateway on the windowsill. Packets are tiny, so even the slowest data rate is fine.
One surprise: the first antenna I tried was tuned for the wrong band and the range was about ten metres. A correct quarter-wave wire antenna fixed it completely.
Printable enclosure, take three
The first two enclosures either trapped heat or let rain in. The current design uses a louvred shield around the sensor chamber and keeps the battery in a separate sealed compartment. Temperature readings in direct sun are now within about half a degree of a shaded reference.
Starting point
I wanted to know why the air in the flat felt stuffy in the evenings. A CO₂ sensor on a breadboard answered that in one night: over 1800 ppm with the windows closed. That breadboard slowly turned into this project.