

The ZH07 Laser Dust Sensor is a compact and efficient device designed to detect and measure particulate matter (PM) in the air using advanced laser technology. It provides real-time data on dust concentration, making it ideal for applications requiring air quality monitoring. The sensor is capable of detecting fine particles, such as PM2.5 and PM10, with high accuracy and reliability.








The ZH07 Laser Dust Sensor is designed for ease of integration into various systems. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 5V DC |
| Operating Current | ≤ 100mA |
| Particle Detection Size | 0.3µm to 10µm |
| Measurement Range | 0 to 1,000 µg/m³ |
| Output Interface | UART (3.3V TTL) |
| Response Time | ≤ 1 second |
| Operating Temperature | -10°C to 50°C |
| Operating Humidity | 0% to 99% RH (non-condensing) |
| Dimensions | 48mm x 37mm x 12mm |
| Weight | ~20g |
The ZH07 sensor has a 7-pin interface for power and communication. Below is the pinout:
| Pin Number | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (5V DC) |
| 2 | GND | Ground |
| 3 | RESET | Reset pin (active low, optional) |
| 4 | NC | Not connected |
| 5 | RXD | UART receive pin (3.3V TTL logic) |
| 6 | TXD | UART transmit pin (3.3V TTL logic) |
| 7 | NC | Not connected |
VCC pin to a 5V DC power source and the GND pin to ground.RXD and TXD pins to interface with a microcontroller or other UART-compatible device. Ensure the UART logic level is 3.3V.RESET pin can be used to reset the sensor if needed. Pull it low momentarily to trigger a reset.Below is an example of how to interface the ZH07 Laser Dust Sensor with an Arduino UNO:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial zh07Serial(10, 11); // RX = Pin 10, TX = Pin 11
void setup() {
Serial.begin(9600); // Initialize Serial Monitor at 9600 bps
zh07Serial.begin(9600); // Initialize ZH07 UART communication at 9600 bps
Serial.println("ZH07 Laser Dust Sensor Initialized");
}
void loop() {
if (zh07Serial.available()) {
// Read data from the sensor
byte data[9];
for (int i = 0; i < 9; i++) {
data[i] = zh07Serial.read();
}
// Validate data packet (basic checksum example)
if (data[0] == 0xFF && data[1] == 0x18) {
int pm2_5 = (data[3] << 8) | data[4]; // PM2.5 concentration
int pm10 = (data[5] << 8) | data[6]; // PM10 concentration
// Print the results to the Serial Monitor
Serial.print("PM2.5: ");
Serial.print(pm2_5);
Serial.print(" µg/m³, PM10: ");
Serial.print(pm10);
Serial.println(" µg/m³");
}
}
delay(1000); // Wait 1 second before reading again
}
No Data Output:
Inaccurate Readings:
Sensor Not Responding:
Checksum Errors in Data:
Q: Can the ZH07 detect particles smaller than 0.3µm?
A: No, the ZH07 is designed to detect particles in the range of 0.3µm to 10µm.
Q: Is the sensor compatible with 5V UART logic?
A: No, the ZH07 uses 3.3V TTL logic for UART communication. Use a level shifter if interfacing with a 5V system.
Q: How often should the sensor be cleaned?
A: Cleaning frequency depends on the environment. In dusty conditions, clean the sensor every 1-2 months.
Q: Can the sensor operate outdoors?
A: The ZH07 is not weatherproof. Use a protective enclosure if deploying it outdoors.