I’ve done a few rounds of 100 Days of Code in the past, but never really made it past 2 weeks. Part of the reason for that failure is the weekend portion - I don’t like to computer on the weekend since I computer very hard during the week.

I decided it would be a really good use of my time to work on my Indoor Air Quality platform as a part of my attempt at 100 Days of Code. It’s the next step for me in my career, so I need a way to force my effort.

There are two parts to making my IAQ platform successful, the sensors themselves, and the backend system.

Day 2

I spent some time today getting organized and then writing some basic hello world functionality for a few of the sensors. The BME680 can print Temperature, Humidity, Pressure, Gas and calculated air quality to the terminal and to /shared/bme680.json. The system will have another container that can come by and pick up data from the file later. My first goal will be to get this sensor dialed in the best I can.

The SFA3X sensor is able to print data to the terminal using a C library I found. I don’t want to use C, so I’ll need to look into other options here, including porting the library over. I really don’t want to do this myself, but it might be a good exercise.

The HM3301 sensor will need me to build a software based i2c emulation, because it requires that you slow down the i2c bus, which would mess with the other sensors. I’ll dig into that in the coming days. I know this sensor works well with Python, because I’ve used it in the past.

Finally, the Multichannel Gas v2 sensor - it’s a complete disaster. There are some libraries that exist, but they’re not working that well. I need to probably combine a couple of them to see if I can hack something together. I’m sure this can be done with a little bit of work. I’ll probably spend some time later tonight or tomorrow working on this.

All in all, it feels good to start making progress.