Over the summer, while California was in the middle of fire season I decided , mostly out of a morbid curiosity I suppose, to monitor the air quality inside my house. There are a number of commercial solutions available, however they're all either complex, costly, or both. I was looking for something that could take the place of my existing Wemos & ESPHome-based temperature and humidity sensors.

After a bit of research I found the PMS5003T, which measures PM 2.5, temperature, and humidity. The sensor uses a tiny ribbon cable, so they can't be connected directly to the Wemos' pins. I designed a simple circuit board for the sensor, with additional pins so it can be extended for future use. Unfortunately I wasn't paying attention to the conversion of mils and didn't make the mounting holes anywhere near large enough.

I still need to find some little boxes for them, for the most part they're just tucked into corners.

The software is pretty straightforward. The boards run ESPHome with the stock pmsx003 integration. The only real customization is a sliding window moving average to reduce jitter.

sensor:
  - platform: pmsx003
    type: PMS5003T
    pm_2_5:
      name: "Office Emory Particulate Matter"
      filters:
        - sliding_window_moving_average:
            window_size: 15
            send_every: 15
    temperature:
      name: "Office Emory Temperature"
      accuracy_decimals: 0
      filters:
        - sliding_window_moving_average:
            window_size: 15
            send_every: 15
    humidity:
      name: "Office Emory Humidity"
      accuracy_decimals: 0
      filters:
        - sliding_window_moving_average:
            window_size: 15
            send_every: 15

I also have a handful of spares, so if you're interested I can send either a DIY kit or a fully assembled version.