Three-in-One Sensor – PM1.0, PM2.5, and PM10, Temperature and Humidity Sensor – PMS5003T

Original price was: ₨6,150.00.Current price is: ₨5,200.00.

13 Items sold in last 3 months
  • Delivery to Pakistan

Shipping via Leopards

1-3 Business Days (Normally)

Shipping calculated at checkout.

  • Delivery to US

Shipping via DHL, UPS, or FedEx.

3-12 Business Days (Normally)

Shipping calculated at checkout.

Payment Methods:

Overview

3- in-1 Air Quality Sensor – PMS5003ST

PMS5003T is an advanced, compact environmental monitoring module that combines precision laser-based particulate matter (PM) sensing with a high-accuracy temperature and humidity sensor. Utilizing laser scattering technology and the Mie theory algorithm, it can accurately measure and output real-time data for different particle sizes (PM1.0, PM2.5, PM10), as well as ambient temperature and humidity through a single digital UART interface.

Technical Specifications

Parameter Specification
Measurement Principle Laser Scattering
Measured Parameters PM1.0, PM2.5, PM10 (mass and number concentration), Temperature, Humidity
Particle Size Range 0.3 μm to 10 μm
PM Measurement Range (Effective) 0 ~ 500 μg/m³
PM Resolution 1 μg/m³
Temperature Range 0 ~ 99 ℃
Temperature Resolution 0.1 ℃
Temperature Accuracy ±0.5 ℃
Humidity Range 0 ~ 99%
Humidity Resolution 0.1%
Humidity Accuracy ±2%
Interface UART (TTL level @3.3V)
Baud Rate 9600 bps
Supply Voltage 5.0 V (typical, range 4.5V to 5.5V)
Active Current ≤ 100 mA
Standby Current ≤ 200 μA
Response Time < 1 second (single); ≤ 10 seconds (comprehensive)
Dimensions 50 mm × 38 mm × 21 mm

Pin Definitions

The PMS5003T typically uses a 1.25mm pitch connector (cable provided with purchase). The pinout is as follows:
Pin No. Name Function
PIN1 VCC Positive Power (5V)
PIN2 GND Ground
PIN3 SET Set pin ([email protected]; High level/suspending = normal, Low level = sleep mode)
PIN4 RX Serial port receiving pin (Connects to Microcontroller TX)
PIN5 TX Serial port sending pin (Connects to Microcontroller RX)
PIN6 RESET Module reset signal ([email protected]; Low level resets)
PIN7/8 NC Not Connected
PIN9 NC Not Connected
PIN10 NC Not Connected
PIN11 NC Not Connected
PIN12 NC Not Connected
PIN13 NC Not Connected
PIN14 VCC Positive Power (5V)

Example MicroPython Code

This MicroPython example demonstrates how to read data from the PMS5003T sensor using the UART interface on a board like the Raspberry Pi Pico W or ESP32. This code implements data packet parsing to extract PM values, temperature, and humidity.
Hardware Connections (e.g., Raspberry Pi Pico):
  • PMS5003T VCC -> Pico VBUS (5V)
  • PMS5003T GND -> Pico GND
  • PMS5003T TX -> Pico UART RX Pin (e.g., GPIO 5)
  • PMS5003T RX -> Pico UART TX Pin (e.g., GPIO 4)
  • PMS5003T SET -> Pico 3.3V (for normal operation)
 
python
import struct
from machine import UART, Pin
import time

# --- Configuration ---
UART_ID = 1  # Use UART 1 on Pico (GPIO 4/5 are UART1 TX/RX)
TX_PIN = 4
RX_PIN = 5
BAUD_RATE = 9600
# ---------------------

def read_pms_data(uart):
    """Reads a single, valid data packet from the PMS5003T sensor."""
    while True:
        # Read the start bytes (0x42, 0x4D)
        if uart.any():
            if uart.read(1) == b'\x42':
                if uart.read(1) == b'\x4d':
                    # Read the rest of the 30 bytes for a full 32-byte packet
                    data_bytes = uart.read(30)
                    if len(data_bytes) == 30:
                        # Unpack the data using the struct module
                        # >H: big-endian unsigned short (2 bytes)
                        # HHH: 3x PM mass conc. (CF=1)
                        # HHH: 3x PM mass conc. (Atmospheric environment)
                        # HHHHHH: 6x particle count (0.3um to 10um)
                        # HH: Reserved
                        # h: Temperature (signed short)
                        # h: Humidity (signed short)
                        # H: Checksum
                        unpacked_data = struct.unpack('>HHHHHHHHHHHHHhhH', data_bytes)

                        # Calculate checksum to verify data integrity
                        checksum = sum(b'\x42\x4d' + data_bytes[:-2])
                        if checksum == unpacked_data[-1]:
                            return {
                                "pm1_0_cf1": unpacked_data[0],
                                "pm2_5_cf1": unpacked_data[1],
                                "pm10_0_cf1": unpacked_data[2],
                                "pm1_0_atm": unpacked_data[3],
                                "pm2_5_atm": unpacked_data[4],
                                "pm10_0_atm": unpacked_data[5],
                                "pc_0_3um": unpacked_data[6],
                                "pc_0_5um": unpacked_data[7],
                                "pc_1_0um": unpacked_data[8],
                                "pc_2_5um": unpacked_data[9],
                                "pc_5_0um": unpacked_data[10],
                                "pc_10_0um": unpacked_data[11],
                                # Temperature is value / 10, Humidity is value / 10
                                "temperature_c": unpacked_data[13] / 10.0,
                                "humidity_percent": unpacked_data[14] / 10.0,
                            }
                        else:
                            print("Checksum failed. Discarding packet.")
                    else:
                        print(f"Incomplete packet received: {len(data_bytes)} bytes instead of 30.")
                else:
                    # Not a valid start, continue searching for 0x4D
                    continue
            else:
                # Not a valid start, continue searching for 0x42
                continue

# Initialize UART
uart = UART(UART_ID, baudrate=BAUD_RATE, tx=Pin(TX_PIN), rx=Pin(RX_PIN))
# Ensure sensor is awake by keeping SET pin high or floating (it floats high by default if not connected)

print("PMS5003T Sensor Reader Active. Waiting for data...")

try:
    while True:
        data = read_pms_data(uart)
        if data:
            print("-" * 25)
            print(f"PM1.0 (Env): {data['pm1_0_atm']} ug/m³")
            print(f"PM2.5 (Env): {data['pm2_5_atm']} ug/m³")
            print(f"PM10.0 (Env): {data['pm10_0_atm']} ug/m³")
            print(f"Temperature: {data['temperature_c']:.1f} °C")
            print(f"Humidity: {data['humidity_percent']:.1f} %")
            print("-" * 25)
        
        # The sensor outputs data every 200-800ms in active mode, 
        # so a small delay is sufficient to avoid buffer overflow
        time.sleep(1) 

except KeyboardInterrupt:
    print("Program terminated by user.")
except Exception as e:
    print(f"An error occurred: {e}")
finally:
    uart.deinit()

Note: The provided code offers a basic framework. Robust applications should include full checksum verification as described in the sensor’s official datasheet to ensure data integrity.

 

Why Partner with TechonicsLTD.com?

We are a globally engaged enterprise, consistently delivering end-to-end electronics solutions and comprehensive support to a growing international clientele. Our commitment extends beyond simple component supply; we integrate our technical expertise to become a vital partner in your innovation lifecycle.

Core Pillars of Our Value

  • Global-Ready Supply Chain & Extensive Product Range: Access a broad inventory of quality electronic components, from high-demand microcontrollers and integrated circuits to specialized sensors like the PMS5003T. Our established international logistics ensure the right parts are available for your global projects.
  • Precision PCB Services: We specialize in rapid, high-quality manufacturing and custom design of printed circuit boards, ensuring the foundational quality and reliability of your hardware.
  • Integrated Embedded & IoT Engineering Team: This is our critical differentiator. Our seasoned in-house engineers provide comprehensive technical partnership, from initial Research & Development (R&D) to complex final product design. We don’t just supply components—we help you architect and realize complete, tailored, and scalable solutions for the global market.

Trusted by international clients, TechonicsLTD.com provides the quality, profound expertise, and reliable partnership necessary for success in today’s competitive landscape.

Contact us today for a free consultation to explore how our specialized services can accelerate your next project.

Products You Can Build with TechonicsLTD.com

  1. Smart Indoor Air Quality (IAQ) MonitorA standalone device that continuously displays real-time levels of PM2.5, formaldehyde, temperature, and humidity on an HMI Touchscreen or OLED screen, with Wi-Fi connectivity to log data to the cloud.
  2. IoT Air Purifier/HVAC Controller
    • An integrated system that uses the sensor data to automatically trigger ventilation systems or air purifiers when pollutant levels (e.g., PM2.5 or HCHO) exceed a predefined safe threshold.
  3. Portable/Wearable Environmental Tracker
    • A battery-powered, compact device that allows users to check air quality conditions wherever they go, sending alerts to a smartphone app via Bluetooth or Wi-Fi.
  4. Integrated Smart Home Hub (e.g., compatible with Home Assistant or Alexa)
    • A central smart home device that incorporates the sensor’s readings into existing automation routines, such as turning on bathroom fans when humidity is high or sending alerts about high formaldehyde levels.

Detailed Description

 

Customer Reviews

0 reviews
0
0
0
0
0

There are no reviews yet.

Be the first to review “Three-in-One Sensor – PM1.0, PM2.5, and PM10, Temperature and Humidity Sensor – PMS5003T”