

The Turbidity Module is a sensor designed to measure the cloudiness or haziness of a liquid, typically water. This cloudiness is caused by suspended particles that scatter light, and the module quantifies this turbidity level. The module outputs either an analog or digital signal, which corresponds to the turbidity of the liquid being measured. It is widely used in water quality monitoring, environmental testing, and industrial applications.








The Turbidity Module typically consists of an optical sensor and an onboard signal processing circuit. Below are the key technical details:
| Parameter | Specification |
|---|---|
| Operating Voltage | 5V DC |
| Operating Current | 30mA (typical) |
| Output Type | Analog (0-4.5V) and Digital (High/Low) |
| Detection Range | 0 to 1000 NTU (Nephelometric Turbidity Units) |
| Response Time | < 500ms |
| Operating Temperature | -30°C to 80°C |
| Dimensions | Varies by manufacturer (e.g., 42mm x 32mm) |
The Turbidity Module typically has a 4-pin interface. Below is the pinout:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (5V DC) |
| 2 | GND | Ground connection |
| 3 | AOUT | Analog output signal, proportional to turbidity level |
| 4 | DOUT | Digital output signal, HIGH when turbidity exceeds a preset threshold |
VCC pin to a 5V power source and the GND pin to ground.AOUT pin to an analog input pin on your microcontroller.DOUT pin to a digital input pin. Adjust the onboard potentiometer to set the threshold for the digital output.AOUT pin and map it to the turbidity range (e.g., 0-1000 NTU).DOUT pin for HIGH or LOW signals based on the preset threshold.Below is an example of how to interface the Turbidity Module with an Arduino UNO to read analog turbidity values:
// Turbidity Module Example with Arduino UNO
// Reads analog turbidity values and prints them to the Serial Monitor
const int turbidityPin = A0; // Connect AOUT pin of the module to Arduino A0
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(turbidityPin, INPUT); // Set the turbidity pin as input
}
void loop() {
int sensorValue = analogRead(turbidityPin); // Read the analog value from the sensor
float voltage = sensorValue * (5.0 / 1023.0); // Convert the analog value to voltage
float turbidity = map(sensorValue, 0, 1023, 0, 1000);
// Map the sensor value to turbidity range (0-1000 NTU)
// Print the results to the Serial Monitor
Serial.print("Analog Value: ");
Serial.print(sensorValue);
Serial.print(" | Voltage: ");
Serial.print(voltage);
Serial.print("V | Turbidity: ");
Serial.print(turbidity);
Serial.println(" NTU");
delay(1000); // Wait for 1 second before the next reading
}
No Output Signal:
VCC and ground to GND).Inaccurate Readings:
Digital Output Always HIGH or LOW:
Fluctuating Readings:
Q: Can the Turbidity Module measure other liquids besides water?
A: Yes, it can measure the turbidity of other transparent liquids, but the calibration may need adjustment for accurate results.
Q: How do I calibrate the sensor?
A: Use a liquid with a known turbidity value (e.g., a calibration solution) and adjust the readings in your code or hardware setup accordingly.
Q: What is the difference between analog and digital output?
A: The analog output provides a continuous voltage proportional to the turbidity level, while the digital output is a binary signal (HIGH/LOW) based on a preset threshold.
Q: Can I use the Turbidity Module with a 3.3V microcontroller?
A: The module is designed for 5V operation. Use a level shifter or voltage divider to interface with 3.3V systems.