I overengineered an air quality sensor because the commercial options didn't cut it (and I like PCB design ^^)

Hey there! I'm an electrical engineer and wasn't happy with what's on the market, so naturally I built my own air quality monitoring PCB. Completely overengineered, exactly how I wanted it lol

It's a custom 4-layer PCB including four sensors, three isolated power rails and ESPHome. It measures CO₂, VOC, NOx, temperature, humidity, pressure with sensor fusion, dew point, an air quality score and a few other things. The WS2812 on the front goes red when the air gets bad. Very handy :slight_smile:

Making it public in case anyone else wants to build one. Full details, schematic, firmware, enclosure files:

Here is a photo of a fully assembled unit. Currently I am running two in my apartment and plan on building some more - maybe with some extensions like the Adafruit PMSA003I breakout on the QWIIC port? I purposefully specced the port to handle the current requirements of that board.

Usually I don't show my projects online (IP/industry stuff, the kind of hardware I am developing is pretty closed source..), so I'm very interested in some thoughts! If anyone builds this board please let me know haha. I'm also happy to answer some questions!

Really interesting project. Thanks for the open source PCB and documentation. In order to make it useful for me I need some 2.5pm and 10pm measurements too. Any plans to expand them in your PCB?

Looks good but what about everything on the board heating up an causing temperature to read higher?

You are welcome :slight_smile:

I am not yet sure if I will design a new revision. If I do it will also be open source and would house PM measurements directly on the board as well. But for now my idea to measure PM was the following (maybe this is useful to you?)

The board features a QWIIC compatible extension port and my plan is to add the Adafruit PMSA003I breakout on there. I purposefully specced the port to handle the current requirements of that board, so in theory it should work out alerady. I haven't gotten that breakout board yet tho, so it's still untested..

That is definitely the case. The temp readings all have an offset. But after some testing it seems like the board heats up into a thermal equilibrium about 5 °C higher than ambient. So I just removed that offset and got pretty accurate temperature readings :slight_smile:

If I would redesign the board I would add some thermal relief cuts or an external thermometer like the DS18B20 tho..