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

How to Use PLANTOWER PMS7003 Gas Sensor: Examples, Pinouts, and Specs

Image of PLANTOWER PMS7003 Gas Sensor
Cirkit Designer LogoDesign with PLANTOWER PMS7003 Gas Sensor in Cirkit Designer

Introduction

The PLANTOWER PMS7003 is a high-precision laser-based air quality sensor designed to measure particulate matter (PM) concentrations in the air. It can detect PM1.0, PM2.5, and PM10 particles, providing real-time data on air pollution levels. The sensor uses laser scattering technology to achieve accurate and reliable measurements, making it ideal for applications such as indoor air quality monitoring, outdoor environmental monitoring, air purifiers, HVAC systems, and IoT-based air quality solutions.

Explore Projects Built with PLANTOWER PMS7003 Gas Sensor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered MQ-2 Gas Sensor with Alert Buzzer
Image of gas detect: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
This is a simple gas detection alarm system that uses an MQ-2 sensor to detect gas presence and sound a buzzer when gas is detected. It is powered by a rechargeable 18650 battery, with a TP4056 module for battery management and charging. A rocker switch is used to control the power to the system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered Environmental Monitoring Station with ESP32 and Gas Sensors
Image of AIR QUALITY MONITORING: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
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.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Based Gas Detection and Alert System with GSM Notification
Image of Copy of Copy of gas sensor: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
This circuit is designed to monitor air quality using an MQ135 sensor and alert users of gas presence. When the sensor detects gas levels above a certain threshold, it triggers a red LED to blink, a piezo buzzer to sound an alarm, and an Arduino UNO to send an SMS and make a call via a SIM800L GSM module. The circuit also includes a 16x2 LCD with an I2C module to display air quality readings, and a 3.7V battery to power the SIM800L module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Based Gas Leak Detector with GSM Notification and Servo Valve Control
Image of lpg detector: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
This circuit is designed as a gas leakage detection system with SMS alert capabilities. It uses an Arduino UNO to monitor MQ-6 and MQ-7 gas sensors for LPG and CO levels, respectively, and activates a servo-controlled valve, buzzer, and exhaust fan if gas concentrations exceed preset thresholds. Additionally, the system uses a SIM900A GSM module to send SMS alerts in case of gas detection, and it is powered by a series of 18650 Li-ion batteries managed by a protection board.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with PLANTOWER PMS7003 Gas Sensor

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 gas detect: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
Battery-Powered MQ-2 Gas Sensor with Alert Buzzer
This is a simple gas detection alarm system that uses an MQ-2 sensor to detect gas presence and sound a buzzer when gas is detected. It is powered by a rechargeable 18650 battery, with a TP4056 module for battery management and charging. A rocker switch is used to control the power to the system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of AIR QUALITY MONITORING: A project utilizing PLANTOWER PMS7003 Gas Sensor 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.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of Copy of gas sensor: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
Arduino-Based Gas Detection and Alert System with GSM Notification
This circuit is designed to monitor air quality using an MQ135 sensor and alert users of gas presence. When the sensor detects gas levels above a certain threshold, it triggers a red LED to blink, a piezo buzzer to sound an alarm, and an Arduino UNO to send an SMS and make a call via a SIM800L GSM module. The circuit also includes a 16x2 LCD with an I2C module to display air quality readings, and a 3.7V battery to power the SIM800L module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of lpg detector: A project utilizing PLANTOWER PMS7003 Gas Sensor in a practical application
Arduino UNO Based Gas Leak Detector with GSM Notification and Servo Valve Control
This circuit is designed as a gas leakage detection system with SMS alert capabilities. It uses an Arduino UNO to monitor MQ-6 and MQ-7 gas sensors for LPG and CO levels, respectively, and activates a servo-controlled valve, buzzer, and exhaust fan if gas concentrations exceed preset thresholds. Additionally, the system uses a SIM900A GSM module to send SMS alerts in case of gas detection, and it is powered by a series of 18650 Li-ion batteries managed by a protection board.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

The following table outlines the key technical specifications of the PMS7003 sensor:

Parameter Value
Manufacturer Plantower
Part Number PMS7003
Measurement Range 0.3 µm to 10 µm (particle size)
PM Concentration Range 0 to 1,000 µg/m³
Accuracy ±10% (standard particles)
Response Time ≤ 1 second
Operating Voltage 4.5V to 5.5V
Operating Current ≤ 100mA
Interface UART (3.3V TTL)
Operating Temperature -10°C to 60°C
Operating Humidity 0% to 99% RH (non-condensing)
Dimensions 50mm x 38mm x 21mm
Weight ~50g

Pin Configuration and Descriptions

The PMS7003 sensor has an 8-pin connector. The pin configuration and descriptions are as follows:

Pin Number Pin Name Description
1 VCC Power supply input (4.5V to 5.5V)
2 GND Ground
3 SET Sleep mode control (Low: Sleep, High: Active)
4 RX UART Receive (3.3V TTL)
5 TX UART Transmit (3.3V TTL)
6 RESET Reset signal (Low: Reset, High: Normal operation)
7 NC Not connected
8 NC Not connected

Usage Instructions

How to Use the PMS7003 in a Circuit

  1. Power Supply: Connect the VCC pin to a 5V power source and the GND pin to ground.
  2. UART Communication: Connect the RX and TX pins to a microcontroller or UART interface. Ensure the UART logic level is 3.3V to avoid damaging the sensor.
  3. Sleep Mode: Use the SET pin to control the sensor's sleep mode. Pull the pin low to put the sensor in sleep mode and high to activate it.
  4. Reset: Use the RESET pin to reset the sensor if needed. Pull the pin low momentarily to reset the sensor.

Important Considerations and Best Practices

  • Placement: Install the sensor in a location with good airflow for accurate measurements. Avoid placing it near sources of high humidity or condensation.
  • Power Stability: Use a stable power supply to prevent measurement errors.
  • UART Configuration: Set the UART baud rate to 9600 bps for communication with the sensor.
  • Data Parsing: The sensor outputs data in a fixed 32-byte frame format. Ensure your microcontroller or software can parse this format correctly.

Example Code for Arduino UNO

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

#include <SoftwareSerial.h>

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

// Buffer to store incoming data
uint8_t dataBuffer[32];

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

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

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

    // Validate the data frame (check start and checksum)
    if (dataBuffer[0] == 0x42 && dataBuffer[1] == 0x4D) {
      uint16_t pm1_0 = (dataBuffer[10] << 8) | dataBuffer[11];
      uint16_t pm2_5 = (dataBuffer[12] << 8) | dataBuffer[13];
      uint16_t pm10 = (dataBuffer[14] << 8) | dataBuffer[15];

      // Print PM values to Serial Monitor
      Serial.print("PM1.0: ");
      Serial.print(pm1_0);
      Serial.print(" µg/m³, PM2.5: ");
      Serial.print(pm2_5);
      Serial.print(" µg/m³, PM10: ");
      Serial.print(pm10);
      Serial.println(" µg/m³");
    }
  }
}

Notes:

  • Use a level shifter if your microcontroller operates at 5V logic levels.
  • Ensure the sensor is powered on and in active mode before reading data.

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Data Output:

    • Ensure the sensor is powered correctly (4.5V to 5.5V).
    • Verify the UART connections (RX and TX) and baud rate (9600 bps).
    • Check if the SET pin is set to high (active mode).
  2. Incorrect or Fluctuating Readings:

    • Ensure the sensor is placed in a stable environment with good airflow.
    • Avoid placing the sensor near high humidity or condensation sources.
    • Use a stable power supply to prevent voltage fluctuations.
  3. Sensor Not Responding:

    • Check the RESET pin. Ensure it is not held low.
    • Verify the wiring and connections for any loose or incorrect connections.

FAQs

Q1: Can the PMS7003 detect gases like CO2 or VOCs?
A1: No, the PMS7003 is designed to measure particulate matter (PM1.0, PM2.5, PM10) and does not detect gases like CO2 or VOCs.

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

Q3: Can the sensor operate outdoors?
A3: Yes, but it should be protected from direct exposure to rain, high humidity, and extreme temperatures.

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