Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use PMS7003: Examples, Pinouts, and Specs

Image of PMS7003
Cirkit Designer LogoDesign with PMS7003 in Cirkit Designer

Introduction

The PMS7003 is a laser-based particulate matter sensor designed to measure the concentration of airborne particles, including PM1.0, PM2.5, and PM10. It uses laser scattering technology to provide highly accurate and real-time data on air quality. The sensor is compact, reliable, and widely used in applications such as air purifiers, HVAC systems, environmental monitoring, and IoT-based air quality monitoring systems.

Explore Projects Built with PMS7003

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Cellular-Enabled IoT Device with Real-Time Clock and Power Management
Image of LRCM PHASE 2 BASIC: A project utilizing PMS7003 in a practical application
This circuit features a LilyGo-SIM7000G module for cellular communication and GPS functionality, interfaced with an RTC DS3231 for real-time clock capabilities. It includes voltage sensing through two voltage sensor modules, and uses an 8-channel opto-coupler for isolating different parts of the circuit. Power management is handled by a buck converter connected to a DC power source and batteries, with a fuse for protection and a rocker switch for on/off control. Additionally, there's an LED for indication purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Based Security System with Fingerprint Authentication and SMS Alerts
Image of Door security system: A project utilizing PMS7003 in a practical application
This circuit features an Arduino Mega 2560 microcontroller interfaced with a SIM800L GSM module, two fingerprint scanners, an I2C LCD display, an IR sensor, and a piezo buzzer. Power management is handled by a PowerBoost 1000 Basic Pad USB, a TP4056 charging module, and a Li-ion 18650 battery, with an option to use a Mini AC-DC 110V-230V to 5V 700mA module for direct power supply. The primary functionality appears to be a security system with GSM communication capabilities, biometric access control, and visual/audible feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 and SIM800L Powered Smart Energy Monitor with OLED Display and Wi-Fi Connectivity
Image of SERVER: A project utilizing PMS7003 in a practical application
This circuit is a power monitoring system that uses an ESP32C3 microcontroller to collect power usage data from slave devices via WiFi and SMS. The collected data is displayed on a 0.96" OLED screen, and the system is powered by an AC-DC converter module. Additionally, the circuit includes a SIM800L GSM module for SMS communication and LEDs for status indication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
Image of Copy of CanSet v1: A project utilizing PMS7003 in a practical application
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with PMS7003

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 LRCM PHASE 2 BASIC: A project utilizing PMS7003 in a practical application
Cellular-Enabled IoT Device with Real-Time Clock and Power Management
This circuit features a LilyGo-SIM7000G module for cellular communication and GPS functionality, interfaced with an RTC DS3231 for real-time clock capabilities. It includes voltage sensing through two voltage sensor modules, and uses an 8-channel opto-coupler for isolating different parts of the circuit. Power management is handled by a buck converter connected to a DC power source and batteries, with a fuse for protection and a rocker switch for on/off control. Additionally, there's an LED for indication purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Door security system: A project utilizing PMS7003 in a practical application
Arduino Mega 2560 Based Security System with Fingerprint Authentication and SMS Alerts
This circuit features an Arduino Mega 2560 microcontroller interfaced with a SIM800L GSM module, two fingerprint scanners, an I2C LCD display, an IR sensor, and a piezo buzzer. Power management is handled by a PowerBoost 1000 Basic Pad USB, a TP4056 charging module, and a Li-ion 18650 battery, with an option to use a Mini AC-DC 110V-230V to 5V 700mA module for direct power supply. The primary functionality appears to be a security system with GSM communication capabilities, biometric access control, and visual/audible feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SERVER: A project utilizing PMS7003 in a practical application
ESP32C3 and SIM800L Powered Smart Energy Monitor with OLED Display and Wi-Fi Connectivity
This circuit is a power monitoring system that uses an ESP32C3 microcontroller to collect power usage data from slave devices via WiFi and SMS. The collected data is displayed on a 0.96" OLED screen, and the system is powered by an AC-DC converter module. Additionally, the circuit includes a SIM800L GSM module for SMS communication and LEDs for status indication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of CanSet v1: A project utilizing PMS7003 in a practical application
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

The PMS7003 offers precise measurements and is equipped with a UART interface for easy integration into various systems. Below are the key technical details:

Key Specifications

Parameter Value
Operating Voltage 4.5V - 5.5V
Operating Current ≤ 100mA
Standby Current ≤ 200µA
Particle Size Detection 0.3µm - 10µm
Measurement Range 0 - 1,000 µg/m³
Response Time ≤ 1 second
Data Output UART (9600 bps, 8N1)
Operating Temperature -10°C to +60°C
Operating Humidity 0% - 99% RH (non-condensing)
Dimensions 50mm x 38mm x 21mm

Pin Configuration

The PMS7003 has a 7-pin connector for power and data communication. Below is the pinout:

Pin Number Name Description
1 VCC Power supply (4.5V - 5.5V)
2 GND Ground
3 SET Sleep mode control (active low)
4 RX UART Receive (connect to MCU TX)
5 TX UART Transmit (connect to MCU RX)
6 RESET Reset pin (active low)
7 NC Not connected

Usage Instructions

Connecting the PMS7003 to a Microcontroller

To use the PMS7003 in a circuit, follow these steps:

  1. Power Supply: Connect the VCC pin to a 5V power source and the GND pin to ground.
  2. UART Communication: Connect the TX pin of the PMS7003 to the RX pin of the microcontroller and the RX pin of the PMS7003 to the TX pin of the microcontroller.
  3. Sleep Mode: If you want to enable sleep mode, pull the SET pin low. Leave it high or unconnected for normal operation.
  4. Reset: Optionally, connect the RESET pin to a GPIO pin on the microcontroller for manual resets.

Important Considerations

  • Placement: Ensure the sensor is placed in an area with good airflow for accurate readings. Avoid placing it near sources of high humidity or condensation.
  • Warm-Up Time: Allow the sensor to warm up for at least 30 seconds after powering it on to ensure accurate measurements.
  • Data Filtering: The sensor outputs raw data, so you may need to implement filtering or averaging in your code to smooth out fluctuations.

Example Code for Arduino UNO

Below is an example of how to interface the PMS7003 with an Arduino UNO:

#include <SoftwareSerial.h>

// Define the RX and TX pins for SoftwareSerial
SoftwareSerial pms7003Serial(10, 11); // RX = Pin 10, TX = Pin 11

// Buffer to store incoming data from the PMS7003
uint8_t pmsData[32];

void setup() {
  Serial.begin(9600); // Initialize Serial Monitor
  pms7003Serial.begin(9600); // Initialize PMS7003 UART communication

  Serial.println("PMS7003 Sensor Initialized");
}

void loop() {
  if (pms7003Serial.available() >= 32) {
    // Read 32 bytes of data from the sensor
    for (int i = 0; i < 32; i++) {
      pmsData[i] = pms7003Serial.read();
    }

    // Validate the data frame
    if (pmsData[0] == 0x42 && pmsData[1] == 0x4D) {
      // Extract PM2.5 concentration (bytes 12 and 13)
      uint16_t pm25 = (pmsData[12] << 8) | pmsData[13];

      // Extract PM10 concentration (bytes 14 and 15)
      uint16_t pm10 = (pmsData[14] << 8) | pmsData[15];

      // Print the results to the Serial Monitor
      Serial.print("PM2.5: ");
      Serial.print(pm25);
      Serial.print(" µg/m³, PM10: ");
      Serial.print(pm10);
      Serial.println(" µg/m³");
    }
  }

  delay(1000); // Wait 1 second before reading again
}

Notes on the Code

  • The SoftwareSerial library is used to create a secondary UART interface for the PMS7003.
  • The sensor outputs a 32-byte data frame. The code validates the frame by checking the start bytes (0x42 and 0x4D).
  • PM2.5 and PM10 concentrations are extracted from the data frame and displayed on the Serial Monitor.

Troubleshooting and FAQs

Common Issues

  1. No Data Output:

    • Ensure the sensor is properly powered (4.5V - 5.5V).
    • Verify the UART connections (TX to RX and RX to TX).
    • Check the baud rate (9600 bps) in your code.
  2. Inaccurate Readings:

    • Allow the sensor to warm up for at least 30 seconds.
    • Ensure the sensor is placed in a well-ventilated area, away from obstructions or high humidity.
  3. Sensor Not Responding:

    • Check the SET pin. If it is pulled low, the sensor will enter sleep mode.
    • Verify the RESET pin is not unintentionally pulled low.

FAQs

Q: Can the PMS7003 detect particles smaller than 0.3µm?
A: No, the PMS7003 is designed to detect particles in the range of 0.3µm to 10µm.

Q: How often should the sensor be calibrated?
A: The PMS7003 is factory-calibrated and does not require user calibration. However, periodic cleaning of the air inlet and outlet may help maintain accuracy.

Q: Can I use the PMS7003 outdoors?
A: The sensor is not waterproof or dustproof. If used outdoors, it must be housed in a protective enclosure with proper airflow.

Q: What is the lifespan of the PMS7003?
A: The sensor has an estimated lifespan of 3 years under normal operating conditions.