YourCee PMS9103M PM2.5 Laser Dust Sensor Module - UART Particle Monitoring for Indoor Air Quality The YourCee PMS9103M is a laser-scattering dust sensor module for measuring airborne particulate matter in indoor air-quality projects. It detects particles from 0.3um to 10um and reports concentration data up to 999ug/m3 with 1ug/m3 resolution, making it useful for air purifiers, fresh-air units, desktop air monitors, and environmental data loggers. The module runs from a tightly regulated 5V supply and uses 3.3V TTL-level serial pins for communication. Its compact 48 x 40 x 12mm body and real-time response make it practical for embedded enclosures, while the SET and RESET pins support sleep and reset control. Pair it with a Raspberry Pi Pico W, an ELAB Nano V3, or a broader environmental sensor stack including the BME680 Sensor Board. Because laser dust sensors rely on airflow and optical measurement, avoid blocking the inlet/outlet path and keep the module away from condensation, oil mist, and direct debris. Allow a short warm-up and use rolling averages when displaying AQI-style readings. Technical Specifications Parameter Value SKU YourCee-PMS9103M Sensor Type Laser dust / PM2.5 particle sensor Detection Size 0.3um to 10um Concentration Range Up to 999ug/m3 Resolution 1ug/m3 Supply Voltage 4.9V-5.1V, 5V typical IO Level 2.7V-3.6V, 3.3V typical Current Up to 70mA, operating current listed as 0.1A on product page Response Time 0-10s, 5s typical Operating Temperature -10C to +60C Operating Humidity 5%-80% RH, non-condensing Accuracy +/-10ug/m3 at 0-100ug/m3; +/-10% at 100ug/m3 and above Dimensions 48 x 40 x 12mm Weight Approx. 40g Board Layout & Label Guide VCC - 5V power input; keep within the listed 4.9V-5.1V range. GND - Power negative and signal reference. SET - Sleep control input; high or floating is normal operation, low is sleep. RXD - 3.3V TTL serial receive pin. TXD - 3.3V TTL serial transmit pin. RESET - Low-level reset input. Air Path - Keep inlet and outlet unobstructed for reliable particle sampling. Shielded Body - Six-sided shielding helps anti-interference performance. Application Scenarios 1. Python UART Frame Logger Read raw serial data from the PM sensor for protocol inspection. import serial ser = serial.Serial("COM7", 9600, timeout=1) while True: data = ser.read(32) if data: print(data.hex(" ")) 2. Arduino UART Bridge Forward module serial output to the USB serial monitor. #include SoftwareSerial pmSerial(10, 11); void setup() { Serial.begin(115200); pmSerial.begin(9600); } void loop() { while (pmSerial.available()) { Serial.write(pmSerial.read()); } } 3. Sleep Control Test Use the SET pin to switch between active and sleep modes. const int setPin = 7; void setup() { pinMode(setPin, OUTPUT); } void loop() { digitalWrite(setPin, HIGH); delay(30000); digitalWrite(setPin, LOW); delay(30000); } 4. Raspberry Pi Serial Capture Log raw particle frames for later parser development. import serial import time ser = serial.Serial("/dev/ttyUSB0", 9600, timeout=1) with open("pm_log.hex", "a", encoding="utf-8") as log: while True: frame = ser.read(32) if frame: log.write(str(time.time()) + "," + frame.hex() + "\n") log.flush() Packing List 1 x YourCee PMS9103M PM2.5 Laser Dust Sensor Module FAQ Q: What particles can it detect?A: The listing specifies 0.3um to 10um particle detection. Q: What voltage does it need?A: Use a stable 5V supply within 4.9V to 5.1V. Q: Are the UART pins 5V tolerant?A: The listed IO level is 3.3V, so use level shifting if needed. Q: Can it measure PM2.5?A: Yes, it is intended for PM2.5 dust and particulate monitoring. Q: Can it run in humid air?A: Use it within 5%-80% RH and avoid condensation. Q: What is SET for?A: SET controls normal operation versus sleep mode. Q: Why do readings fluctuate?A: Particle distribution changes quickly; use averaging and stable airflow. Q: Where should I mount it?A: Keep the air path open and avoid dust clumps, water droplets, and direct fan turbulence.