2025/04/30

Is Your Air Making You Air-itated? AirGradient Knows.

AirGradient make air quality sensors both for indoor and outdoor use. Both currently utilise the same sensors, but the outdoor one is designed to be kept outside (and can be made visible on AirGradient's map, while indoor units are private). The indoor under is the I-9PSL (AirGradient ONE, 9th Generation).

AirGradient Indoor Air Quality Monitor

The units come fully assembled or as kits (slightly cheaper, though construction isn't difficult). The indoor unit came as a kit, and only took a few minutes to put together.

AirGradient box open

The packaging is very simple cardboard, with little wasted.

USB cable and sensor in packaging

The USB A to C cable used right angle plugs, useful for the indoor unit (USB C) but less so for the USB A end, which plugs into a standard USB power supply.

Indoor Sensor box (front)

The indoor unit has the PCB/display already attached to the case.

Inside Indoor unit

Separating the case reveals the PCB and the large Plantower PM1/2.5/10 sensor.


Inside Indoor unit and sensors

The three sensors units need to be (simply) attached to the PCB. There are headers that the sensors just plug on to. The two smaller ones are temperature and relative humidity and TVOC/NOx sensors and the larger the CO2.

Inside Indoor unit with sensors plugged in

It's important to connect the sensors the right way around. The CO2 sensor is obvious while the smaller sensors should face outwards. The Plantower particulate matter detector is pre-installed.

Indoor unit boot screen

Once plugged into power, the system boots does some self tests.

Indoor unit successful boot

Once booted, it shows the firmware version.

Indoor unit LED test

It's possible to press the button and do a LED test.


Indoor unit successful setup

Once everything's done it shows the air quality measurements.

Indoor unit assembled with USB power

The rear of the case showing the USB cable attached and slotted through the case. The feet are also attached (they snap into the airflow slots).

When in setup mode the system enables a local hotspot. Once joined to the hotspot, the device should auto-connect to the hotspot which allows setting the SSID/password of the network to connect to.

Once it connects to the WIFi it will then try and call home and connect to AirGradient's servers. Initially it will show not configured and an account needs to be setup on AirGradient and then using the devices MAC address the device can be added and it will start sending data. The dashboard gives an overview of the air quality, but clicking on the menu item, allows many configuration options.

AirGradient Dashboard

It's possible to access your own data through the AirGradient API or by being pushed out to a MQTT broker, but internal monitor's data won't be pushed to external services such as OpenAQ. Outdoor monitors have a checkbox to allow pushing the data out.

It is possible to connect the unit to services like ESPHome, Prometheus, and openHAB and Apple Home Assistant.

It's all run with a ESP32-C3-MINI (32-bit RISC-V single-core processor, up to 160MHz, 384 KB ROM, 400 KB SRAM, 8 KB SRAM in RTC, 4 MB flash in chip package) and uses a Texas Instruments watchdog timer.

In terms of actual sensors there's the: -
  • Particle Sensor Module - Plantower PMS5003 (laser scattering principle). Accuracy Fully Assembled & Tested Model (I-9PSL-DE_asd): Accuracy PM2.5: ±4μg/m3@0~100μg/m3, ±8%@100-500μg/m3. Accuracy Kit Version (I-9PSL-DE_kit): Accuracy PM2.5: ±10μg/m3@0~100μg/m3, ±10%@100-500μg/m3. (PM1 and PM10 are also measured but PM2.5 has the highest accuracy).
  • CO2 Sensor Module - SenseAir S8 (NDIR). 400 to 10000ppm. Accuracy: ±40 ppm ±3% of reading at 5 to 30°C, 20- 70%RH (400 - 2000ppm range). SenseAir S88 (NDIR). 0 to 10000ppm. Accuracy: ±40 ppm ±3% of reading at 5 to 30°C, 0- 85% RH (400 - 3000ppm range).
  • TVOC/NOx Module - Sensirion SGP41. Accuracy: TVOC <±15 @ 0 to 500 VOC Index (also available in ppb); NOx<±50@0-500NOx Index.
  • Temperature and Humidity - Sensirion SHT40. Accuracy: Temperature ±0.2°C @ -40 to + 125°C; Humidity ±2% RH @ 0 - 100% RH.
Though everything works fine, some of the sensors are relatively old now.

THE OLED display shows: -

OLED display


There's a single status LED at the top of the unit and then a row of Pollutant LEDs that indicate air quality.

The status LED shows: -

Status LED

Red: Connection to WI-FI network failed. This may be due to incorrect credentials or unsupported encryption.

Yellow: Connected to WI-FI network but the server can not be reached through the Internet, e.g. blocked by firewall.

Purple: Server is reachable but there is some configuration issue to be fixed on the server side.


The Pollutant LEDs: -

Pollutant LEDs PM2.5


The default settings is to show PM2.5, but this can be changed in the settings to showCO2 (carbon dioxide) settings: -

Pollutant LEDs CO2

Though AirGradient sell units the software, hardware and even the case are available under an open source license.

Though there can be fiddly issues with the install (read the instructions first), it's easy to build and the set-up is easy. WiFi is only 2.4GHz but generally that shouldn't be a problem as even newer WiFi access points etc. still support 2.4GHz.

Again follow the instructions to connect the unit to AirGradient's dashboard and it just works.

It is possible to better calibrate the PM2.5 sensor for low levels (the unit should be placed outside or next to an open window to read the local base environment and left for 20 minutes to calibrate.


The indoor units cost $195 fully assembled, or $138 as a kit and the outdoor unit is $190 assembled and $125 as a kit directly from AirGradient.

There's also shipping to add (from Thailand), but sub $200 for a pretty reasonably accurate air quality monitor is pretty reasonable.

If you happen to be interested in you indoor or outdoor air quality environment, definitely recommended (and with all the integrations available suitable for geeks who want to do their own stuff too).

NOTE: there are other GPIO pins exposed so other sensors could be added and then new firmware adapted to support them.