Reference
Last revision 2026/01/21
Library
- DFRobot_ORP_PRO Library: Arduino library for reading ORP values from the Gravity Analog ORP Sensor PRO.
Principle
ORP(Oxidation-Reduction Potential) is a measure of the ability of oxidation and reduction of an aqueous solution, which the relative degree of oxidizing or reducing. The unit is mV. If the oxidation reduction potential is high then chemical oxidation is strong , while if the potential is lower then oxidation is weaker. The positive potential means that solution shows a certain degree of oxidation, while the negative potential means that solution shows a certain degree of reduction. ORP is an important index of water quality detection, although it can not separate water quality independently, it can be combined with other water quality indexes to reflect the ecological environment better.
Other Supplementary Information
⚠ Note
- Don't short-circuit the two leads of ORP probe, otherwise, it may cause permanent damage to the probe. Connect to the terminal as soon as possible after removing the protective sleeve.
- ORP probe is a precision part whose glass bubble can't be touched by hard objects. Please put back the protective cover immediately after use.
- To ensure the measurement accuracy, it is recommended to provide a stable power and reference voltage for the ADC and ORP transmitter.
Fix Probe
ORP industrial probes can be connected to the container by pipe threads of NPT 3/4"
Waterproof Connection
Gravity: Analog ORP Sensor PRO kits come with two types of waterproof connectors that make it easy to set up a waterproof measurement system.
More Documents
Accuracy Improvement
Due to differences among electronic components and interference from power supply, notable errors may be resulted in when measuring directly. The following methods are recommended to reduce errors and improve accuracy.
- Provide a accurately stable 5V power supply or reference voltage for the MCU or ADC used to read the analog voltage.
- Calibrate the ORP signal converter using the Zero Calibration method below:
Zero Calibration
Although voltage reference chips provide stable voltage, component differences can cause up to 50mV deviations. Correct this by measuring the reference voltage in advance:
- Remove the ORP probe and short-circuit the S+ and S- pins of the ORP signal converter with a wire.
- Upload Sample Code -1 and record the reference voltage from the serial monitor.
- In Sample Code -2, replace the
0inDFRobot_ORP_PRO ORP(0);with the recorded reference voltage. - Upload Sample Code -2—sensor readings will now be corrected.
Recalibrate if the power supply or signal converter is replaced.
Sample Code -1
#define PIN_ORP A1
#define ADC_RES 1024
#define V_REF 5000
void setup()
{
Serial.begin(115200);
}
void loop()
{
Serial.println((((long)analogRead(PIN_ORP)*V_REF + ADC_RES / 2) / ADC_RES) - 2480);
delay(1000);
}
Sample Code -2
#include "DFRobot_ORP_PRO.h"
#define PIN_ORP A1
#define ADC_RES 1024
#define V_REF 5000
unsigned int ADC_voltage;
DFRobot_ORP_PRO ORP(-9);//set reference voltage mv
void setup() {
Serial.begin(115200);
Serial.print("calibration is: ");
Serial.print(ORP.getCalibration());
Serial.println(" mV");
}
void loop() {
ADC_voltage = ((unsigned long)analogRead(PIN_ORP) * V_REF + ADC_RES / 2) / ADC_RES;
Serial.print("ORP value is: ");
Serial.print(ORP.getORP(ADC_voltage));
Serial.println(" mV");
delay(1000);
}
Measurement results after calibration
ORP value is: -59.00 mV
ORP value is: -59.00 mV
ORP value is: -59.00 mV
ORP value is: -59.00 mV
ORP value is: -59.00 mV
Was this article helpful?
