Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003: Examples, Pinouts, and Specs

Image of PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003Design with PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003 in Cirkit Designer

Introduction

The PM2.5 Air Quality Sensor with Breadboard Adapter Kit (Adafruit Part ID: 3686) is an advanced sensor designed to measure fine particulate matter in the air, specifically particles that have a diameter of less than 2.5 micrometers (PM2.5). These particles are considered hazardous as they can penetrate deep into the human respiratory system and cause health issues. The PMS5003 sensor is commonly used in air quality monitoring devices, environmental monitoring stations, and HVAC systems to ensure air quality is within safe limits.

Explore Projects Built with PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Arduino UNO Based PM2.5 Air Quality Monitoring System: A project utilizing PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003 in a practical application
Arduino UNO Based PM2.5 Air Quality Monitoring System

This circuit connects a PM2.5 Air Quality Sensor (PMS5003) to an Arduino UNO for air quality monitoring. The sensor's VCC and GND pins are powered by the Arduino's 5V and GND pins, respectively. The sensor's RX and TX pins are connected to the Arduino's digital pins D8 and D9 for serial communication, allowing the Arduino to read and process the air quality data from the sensor.

Open Project in Cirkit Designer
Image of Solar-Powered Environmental Monitoring Station with ESP32 and Gas Sensors: A project utilizing PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003 in a practical application
Solar-Powered Environmental Monitoring Station with ESP32 and Gas Sensors

This circuit is designed to monitor various gas levels and air quality using a set of sensors (MQ-136, MQ-6, MQ-137, MQ-7, and PMS5003) interfaced with an ESP32 microcontroller. The ESP32 collects sensor data and can control a relay module potentially for activating systems like fans or alarms based on the sensor readings. Additional components include a DHT22 for temperature and humidity readings, a power supply with a step-down converter, and safety features like resettable fuses and an LVD (Low Voltage Disconnect) to protect the battery and circuit.

Open Project in Cirkit Designer

Technical Specifications

Key Technical Details

Pin Configuration and Descriptions

Pin Number Name Description
1 VCC Power supply (4.5V-5.5V)
2 GND Ground connection
3 SET Set pin (active low)
4 RX UART receive pin
5 TX UART transmit pin
6 RESET Reset pin (active low)
7 NC Not connected
8 NC Not connected

Usage Instructions

Interfacing with a Circuit

To use the PMS5003 sensor with a development board like the Arduino UNO, follow these steps:

  1. Connect the VCC pin to the 5V output on the Arduino.
  2. Connect the GND pin to one of the GND pins on the Arduino.
  3. Connect the TX pin of the sensor to a digital pin on the Arduino configured as RX (for software serial communication).
  4. Connect the RX pin of the sensor to a digital pin on the Arduino configured as TX (for software serial communication).
  5. The SET and RESET pins can be left unconnected if you wish the sensor to run continuously.

Important Considerations and Best Practices

Example Code for Arduino UNO

#include <SoftwareSerial.h>

SoftwareSerial pmsSerial(10, 11); // RX, TX

void setup() {
  Serial.begin(9600);
  pmsSerial.begin(9600);
}

void loop() {
  if (pmsSerial.available()) {
    // Read data from the sensor
    uint8_t buffer[32];
    int index = 0;
    while (pmsSerial.available() && index < 32) {
      buffer[index++] = pmsSerial.read();
    }
    
    // Process the data (assuming the data starts with 0x42 0x4d)
    if (index == 32 && buffer[0] == 0x42 && buffer[1] == 0x4D) {
      int pm25 = (buffer[12] << 8) + buffer[13];
      Serial.print("PM2.5: ");
      Serial.print(pm25);
      Serial.println(" ug/m3");
    }
  }
}

Troubleshooting and FAQs

Common Issues

Solutions and Tips for Troubleshooting

FAQs

Q: Can the sensor be used outdoors? A: Yes, but it should be protected from direct sunlight, rain, and condensation.

Q: How often should the sensor be calibrated? A: The PMS5003 sensor is factory-calibrated and typically does not require additional calibration.

Q: What is the lifespan of the sensor? A: The sensor has a lifespan of approximately 3 years when used as recommended.

Q: Can I use multiple PMS5003 sensors with one Arduino? A: Yes, but each sensor will require a separate software serial port, or you can use a multiplexer for the UART lines.