Long story short I'm in the process of building an outdoor air quality, temperature, humidity, pressure, and motion sensor setup for my front porch. One is the PM1006K which is a cheap (10.00 on Amazon) pm2.5 sensor. It's supposedly used in some consumer air filter systems and a review said it worked with ESPHome... well it does after a ton of poking and prodding with a little flogging of the wires.
The link is to the github page where I have the final product posted. I know there are better sensors available but they tend to run more and the really good ones use a laser sensor and burn out over time so it becomes an ongoing (some only last 8000 hours) expense.
This one is a DC01 Infrared PM2.5 Air Quality Sensor. And I'm pairing it with a DHT22 for temperature and humidity, a BMP280 temperature and barometric pressure sensor, an MQ-2 + MQ-7 + MQ-135 for hazardous gasses and smoke, and a BH1750 light sensor, a AM-312 + a HC-SR04 for motion detection. All running on an ESP32-S3 which is also acting as a Bluetooth Low Energy proxy.
All the code will be able to be found at https://github.com/nightshade00013/MuttMutt-ESPHome when it's 100% completed. But being the pm2.5 working correctly was a huge step in the right direction. And the main reason why I am posting this now so others who are interested in building a cheap sensor can get started.