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.

27 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

ParameterSpecification
Measurement PrincipleLaser Scattering
Measured ParametersPM1.0, PM2.5, PM10 (mass and number concentration), Temperature, Humidity
Particle Size Range0.3 μm to 10 μm
PM Measurement Range (Effective)0 ~ 500 μg/m³
PM Resolution1 μg/m³
Temperature Range0 ~ 99 ℃
Temperature Resolution0.1 ℃
Temperature Accuracy±0.5 ℃
Humidity Range0 ~ 99%
Humidity Resolution0.1%
Humidity Accuracy±2%
InterfaceUART (TTL level @3.3V)
Baud Rate9600 bps
Supply Voltage5.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)
Dimensions50 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.NameFunction
PIN1VCCPositive Power (5V)
PIN2GNDGround
PIN3SETSet pin (TTL@3.3V; High level/suspending = normal, Low level = sleep mode)
PIN4RXSerial port receiving pin (Connects to Microcontroller TX)
PIN5TXSerial port sending pin (Connects to Microcontroller RX)
PIN6RESETModule reset signal (TTL@3.3V; Low level resets)
PIN7/8NCNot Connected
PIN9NCNot Connected
PIN10NCNot Connected
PIN11NCNot Connected
PIN12NCNot Connected
PIN13NCNot Connected
PIN14VCCPositive 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”