

The DFRobot Turbidity Sensor is a device designed to measure the turbidity of water, which is an indicator of the presence of suspended particles. It provides an analog voltage output proportional to the turbidity level, making it an essential tool for water quality monitoring applications. This sensor is widely used in environmental monitoring, aquariums, water treatment systems, and laboratory experiments.
By integrating this sensor into a circuit, users can detect changes in water clarity and quantify the concentration of suspended particles, enabling real-time monitoring and analysis.








Below are the key technical details and pin configuration of the DFRobot Turbidity Sensor:
| Parameter | Value |
|---|---|
| Operating Voltage | 5V DC |
| Output Signal | Analog Voltage (0-4.5V) |
| Measurement Range | 0 to 1000 NTU (Nephelometric Turbidity Units) |
| Operating Temperature | -30°C to 80°C |
| Response Time | < 500ms |
| Cable Length | 1 meter |
| Dimensions | 60mm x 20mm x 20mm |
| Pin Name | Description |
|---|---|
| VCC | Power supply input (5V DC) |
| GND | Ground |
| AOUT | Analog output signal proportional to turbidity |
Wiring the Sensor:
VCC pin of the sensor to the 5V pin of your microcontroller or power source.GND pin to the ground (GND) of your circuit.AOUT pin to an analog input pin of your microcontroller (e.g., Arduino).Calibrating the Sensor:
Reading the Output:
Below is an example of how to use the DFRobot Turbidity Sensor with an Arduino UNO:
// DFRobot Turbidity Sensor Example Code
// This code reads the analog output from the turbidity sensor and converts it
// into a voltage value. The voltage can then be used to estimate turbidity.
const int sensorPin = A0; // Connect the AOUT pin of the sensor to A0
float sensorVoltage = 0; // Variable to store the sensor voltage
int sensorValue = 0; // Variable to store the raw analog reading
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(sensorPin, INPUT); // Set the sensor pin as an input
}
void loop() {
// Read the raw analog value from the sensor
sensorValue = analogRead(sensorPin);
// Convert the raw value (0-1023) to a voltage (0-5V)
sensorVoltage = sensorValue * (5.0 / 1023.0);
// Print the voltage to the Serial Monitor
Serial.print("Sensor Voltage: ");
Serial.print(sensorVoltage);
Serial.println(" V");
// Add a delay for stability
delay(1000); // Wait for 1 second before the next reading
}
No Output Signal:
Inconsistent Readings:
Output Voltage Stuck at Maximum or Minimum:
Readings Drift Over Time:
Q: Can this sensor be used in saltwater?
A: Yes, the sensor can be used in saltwater, but regular cleaning is recommended to prevent corrosion or buildup.
Q: How do I convert the voltage output to NTU?
A: The relationship between voltage and NTU depends on calibration. Use a known turbidity standard to create a conversion formula specific to your setup.
Q: Can I use this sensor with a 3.3V microcontroller?
A: The sensor is designed for 5V operation. If using a 3.3V microcontroller, a level shifter or voltage divider may be required for compatibility.
Q: What is the maximum depth the sensor can be submerged?
A: The sensor is designed for shallow water applications. Avoid submerging it beyond the cable's length or exposing it to high water pressure.