How do you make air quality data readable from across a room? Edgar S answered with a wooden box, a round screen, and one word: OPTIMAL, NORMAL, FAIR, CAUTION, WARNING, or CRITICAL.
What is AIR PRO?
AIR PRO is a Pip-Boy style air quality monitor documented on Adafruit Playground. A Qualia S3 board drives the round display, and a Sensirion SEN66 module measures CO2, particulates from PM1.0 to PM10, VOC, NOx, temperature, and humidity every 2 seconds. Instead of a wall of numbers, the screen boils everything down to a status word plus the main culprit, for example “MAIN THREAT: CO2, VENTILATE ROOM”.
How is it wired and coded?
Everything sits on one I2C bus. The SEN66, an SHT45 temperature sensor, and a rotary encoder all share SDA and SCL through STEMMA QT cables, so there is no soldering and no breadboard. The firmware is CircuitPython with no cloud service and no phone app. Wi-Fi switches on for a few seconds once an hour to fetch the time, then shuts off again.
- Board: Qualia S3 with round display
- Main sensor: Sensirion SEN66 (CO2, PM, VOC, NOx)
- Second sensor: SHT45 on the same I2C bus
- Refresh rate: every 2 seconds
The tricky part is placement. Edgar mounted the SHT45 and SEN66 on the outside wall of the box, because sensors inside pick up heat from the board and backlight and report a warmer room than you actually have.
Try it in your own classroom
Start with a single I2C sensor on any CircuitPython board and print readings to the serial console. Once CO2 values move when you breathe on the sensor, add threshold logic: a common rule of thumb flags rooms above roughly 1000 ppm CO2. School robotics clubs and ECE thesis groups can log the numbers for a week and compare a ventilated room with a closed one. Grab the build notes at Adafruit, then look up STEMMA QT sensors and cables at circuit.rocks.
Frequently Asked Questions
Which sensor does AIR PRO use?
It uses a Sensirion SEN66 for CO2, PM1.0 to PM10, VOC, and NOx, plus an SHT45 for temperature and humidity, all read every 2 seconds over I2C.
Does it need soldering or a cloud account?
No. The sensors and rotary encoder connect with STEMMA QT cables, and the CircuitPython code runs locally. Wi-Fi only turns on briefly each hour to set the clock.
What will I learn if I build this?
You will learn I2C bus sharing, reading multi-gas sensor data, setting alert thresholds, sensor placement to avoid board heat, and how to write CircuitPython firmware.
