

The Gravity: Factory Calibrated Electrochemical Nitrogen Dioxide Sensor by DFRobot is a highly sensitive and reliable sensor designed to detect and measure nitrogen dioxide (NO₂) levels in the air. Utilizing advanced electrochemical technology, this sensor provides accurate and stable readings, making it ideal for environmental monitoring and industrial applications. The sensor is factory calibrated, ensuring consistent performance across a wide range of environmental conditions.








Below are the key technical details of the sensor:
| Parameter | Value |
|---|---|
| Measurement Range | 0–20 ppm (parts per million) |
| Resolution | 0.01 ppm |
| Accuracy | ±0.1 ppm |
| Response Time (T90) | ≤ 60 seconds |
| Operating Voltage | 3.3V–5.5V |
| Operating Current | ≤ 5 mA |
| Operating Temperature Range | -20°C to 50°C |
| Operating Humidity Range | 15%–90% RH (non-condensing) |
| Output Signal | Analog voltage (0.1V–3.0V) |
| Sensor Life Span | > 2 years |
| Dimensions | 37mm x 32mm |
The sensor module has a 4-pin interface. Below is the pinout description:
| Pin | Label | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V–5.5V) |
| 2 | GND | Ground connection |
| 3 | AOUT | Analog output signal proportional to NO₂ levels |
| 4 | NC | Not connected (reserved for future use) |
Below is an example of how to interface the sensor with an Arduino UNO to read and display NO₂ levels:
// Gravity: Factory Calibrated Electrochemical Nitrogen Dioxide Sensor Example
// Connect the sensor's AOUT pin to Arduino's A0 pin
// Ensure VCC and GND are properly connected to the Arduino
const int sensorPin = A0; // Analog pin connected to AOUT
float voltage; // Variable to store sensor output voltage
float no2Concentration; // Variable to store NO2 concentration in ppm
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
Serial.println("NO2 Sensor Initialization...");
}
void loop() {
// Read the analog voltage from the sensor
int sensorValue = analogRead(sensorPin);
// Convert the analog value (0–1023) to voltage (0–5V for Arduino UNO)
voltage = sensorValue * (5.0 / 1023.0);
// Map the voltage to NO2 concentration (0.1V–3.0V corresponds to 0–20 ppm)
no2Concentration = (voltage - 0.1) * (20.0 / (3.0 - 0.1));
// Ensure the concentration is within the valid range
if (no2Concentration < 0) {
no2Concentration = 0;
}
// Print the results to the Serial Monitor
Serial.print("Voltage: ");
Serial.print(voltage, 2); // Print voltage with 2 decimal places
Serial.print(" V, NO2 Concentration: ");
Serial.print(no2Concentration, 2); // Print concentration with 2 decimal places
Serial.println(" ppm");
delay(1000); // Wait for 1 second before the next reading
}
No Output Signal or Incorrect Readings
Unstable or Fluctuating Readings
Output Voltage Exceeds Expected Range
Low Sensitivity or No Response to NO₂
Q1: Can this sensor detect gases other than NO₂?
A1: No, this sensor is specifically designed and calibrated for nitrogen dioxide (NO₂) detection. It may not provide accurate readings for other gases.
Q2: How often should I calibrate the sensor?
A2: The sensor is factory calibrated and does not require frequent calibration. However, you may recalibrate it periodically for enhanced accuracy in specific environments.
Q3: Can I use this sensor outdoors?
A3: Yes, but ensure it is protected from extreme weather conditions, high humidity, and condensation.
Q4: What is the lifespan of the sensor?
A4: The sensor has a lifespan of over 2 years under normal operating conditions.