The first 2 parts are out! It's currently focused on a particulate matter sensor (the pms5003) for taking pm2.5 measurements. If you have any feedback or if there are any other features/sensor integrations you'd like to see please let me know.
Some ideas I have floating in mind: a temperature/humidity sensor, CO2 sensor, VOC sensor, and MQTT integration.
Also look at the failure time and make sure you are sleeping correctly when not reading. esphome has this implemented and it is really great, it wakes up 10 seconds early, starts the fan/airflow, then takes the reading, then sleeps (for 50 seconds) in my case where I want to sample every 1 minute. Without this the lifetime of the sensor is around 1 or 1.5 years of continuous use if I recall correctly.
Even as an experiment with the sole purpose of learning stuff and having fun I find Arduino libs tend to hide all the fun stuff effectively diminishing the learning experience. Sometimes it's good to reinvent the wheel (like writing the driver yourself with the sdk) if your goal is to understand how why it works.
Maybe it's a stupid question but for the verification bytes you're adding the different constants, commands and options. For the sleep that comes out to 0x173 (as you also wrote down). Why is the higher verification byte then 0x73 and not 0x173? Or is it a typo?
0x173 doesn't fit in a byte. As the text explains, there are two validation bytes; the first one gets the high 8 bits ("the high byte") of 0x173 (which is 0x01) and the second one gets the low eight bits (0x73).
+1 to this. It doesn't help that some dependency injection frameworks' (ahem, looking at you Dagger2) error messages can be convoluted and hard to understand.
Firefox removed support for RSS back in 2018. It would've been great to get first class support from the browser but I understand their motivations for deprecating support.
I'm not sure how the agency is structured - but what I can vouch for (and seen work) is continuous communication amongst coworkers in the form of tech talks and documentation. That way, knowledge is distributed within the team and a situation like this is avoided upfront.