JQ300-R
AI

The **JQ300-R** is a specialized sensor module primarily used for **Air Quality Monitoring**. It is designed to detect multiple environmental parameters and output data via serial communication, making it popular for DIY projects (Arduino/ESP32) and industrial air purifiers.
---
## 1. Core Technical Specifications
The JQ300-R is an integrated "all-in-one" sensor. Below are the primary electronic characteristics:
| Parameter | Specification |
| :--- | :--- |
| **Operating Voltage** | DC 5V (±0.2V) |
| **Operating Current** | < 100mA |
| **Interface Type** | UART (TTL Level @ 3.3V) |
| **Warm-up Time** | 3 - 5 minutes for stable readings |
| **Output Baud Rate** | 9600 bps |
| **Dimensions** | Approx. 35mm x 22mm |
---
## 2. Sensor Capabilities (Measurement Range)
The module integrates several sensing elements to provide a comprehensive air quality profile:
1. **TVOC (Total Volatile Organic Compounds):** 0 – 9.999 mg/m³
2. **eCO2 (Equivalent CO2):** 400 – 5000 ppm (Calculated based on VOC levels)
3. **HCHO (Formaldehyde):** 0 – 1.999 mg/m³
4. **Temperature:** 0 – 50°C
5. **Humidity:** 0 – 99% RH
---
## 3. Pinout Configuration
The JQ300-R typically uses a 4-pin or 5-pin connector. The standard wiring is as follows:
| Pin | Label | Description |
| :--- | :--- | :--- |
| 1 | **VCC** | 5V Power Supply |
| 2 | **GND** | Ground |
| 3 | **TX** | Transmit Data (Connect to MCU RX) |
| 4 | **RX** | Receive Data (Connect to MCU TX) |
---
## 4. Communication Protocol
The module outputs a data packet automatically every second via the UART interface. The data is usually sent in a Hexadecimal format.
### Example Data Frame Structure:
A typical frame consists of a header, the data bytes, and a checksum.
```text
Header: 0x2C
Byte 1-2: Formaldehyde (HCHO)
Byte 3-4: TVOC
Byte 5-6: eCO2
Byte 7-8: Temperature
Byte 9-10: Humidity
Checksum: (Sum of previous bytes) & 0xFF
```
---
## 5. Integration Implementation (Arduino Example)
To read data from the JQ300-R, you use the Hardware or Software Serial library.
```cpp
#include
// RX on D2, TX on D3
SoftwareSerial jqSerial(2, 3);
void setup() {
Serial.begin(9600);
jqSerial.begin(9600);
Serial.println("JQ300-R Initializing...");
}
void loop() {
if (jqSerial.available() > 0) {
byte data = jqSerial.read();
// Logic to parse the Hex frame goes here
Serial.print(data, HEX);
Serial.print(" ");
}
}
```
---
## 6. Usage Considerations
* **Calibration:** The eCO2 reading is an estimate based on VOCs, not a true NDIR (Non-Dispersive Infrared) measurement. For safety-critical CO2 monitoring, an NDIR sensor is preferred.
* **Environment:** Avoid exposing the sensor to high concentrations of corrosive gases or silicone vapors, which can poison the chemical sensing elements.
* **Burn-in:** New modules may require a "burn-in" period of 24-48 hours of continuous operation to achieve maximum accuracy.
- ⤷
How do I calculate the checksum for the JQ300-R data packet?
- ⤷ Can the JQ300-R run on a 3.3V power supply?
- ⤷ What is the difference between eCO2 and true NDIR CO2 sensors?