Example Code for Arduino-Temperature Calibration
Last revision 2026/01/12
This industrial electrical conductivity probe integrates PT1000 RTD that can be used to measure and calibrate liquid temperature easily. The following program adds temperature calibration to the basic measurement.
If you have another type of temperature sensor, or plan to use other temperature data sources, you can also get the temperature directly and fill it into `getEC_us_cm(EC_Voltage, Temp)` in Celsius (°C).
Hardware Preparation
- DFRduino UNO R3 x 1
- Electrical Conductivity Probe x 1
- Electrical Conductivity Signal Conversion Board x 1
- PT1000 RTD Signal Conversion Board x 1
- Electrical Conductivity Calibration Solution 1413us/cm x 1
- Jumper wires
- Tested Solution
Software Preparation
- Arduino IDE (version 1.8.x or later)
- Download and install the DFRobot_ECPRO Arduino Library. (About how to install the library?)
Probe - Signal Conversion Board
| Probe Wire | Signal Conversion Board |
|---|---|
| S+ (EC) | Electrical Conductivity Board S+ |
| S- (EC) | Electrical Conductivity Board S- |
| TEMP | PT1000 Board T+ |
| TEMP | PT1000 Board T- |
Signal Conversion Board - Arduino
| Signal Conversion Board | Arduino UNO |
|---|---|
| Electrical Conductivity Board | A1 |
| PT1000 Board | A2 |
Other Preparation Work
Connect all the parts.
Sample Code
#include "DFRobot_ECPRO.h"
#define EC_PIN A1
#define TE_PIN A2
DFRobot_ECPRO ec;
DFRobot_ECPRO_PT1000 ecpt;
uint16_t EC_Voltage, TE_Voltage;
float Conductivity, Temp;
void setup()
{
Serial.begin(115200);
ec.setCalibration(1); //Replace the 1 with the calibrated K value if it's calibrated
Serial.println("Default Calibration K=" + String(ec.getCalibration()));
}
void loop()
{
EC_Voltage = (uint32_t)analogRead(EC_PIN) * 5000 / 1024;
TE_Voltage = (uint32_t)analogRead(TE_PIN) * 5000 / 1024;
Temp = ecpt.convVoltagetoTemperature_C((float)TE_Voltage/1000);
Conductivity = ec.getEC_us_cm(EC_Voltage, Temp);
Serial.print("EC_Voltage: " + String(EC_Voltage) + " mV\t");
Serial.print("Conductivity: " + String(Conductivity) + " us/cm\t");
Serial.print("TE_Voltage: " + String(TE_Voltage) + " mV\t");
Serial.println("Temp: " + String(Temp) + " ℃");
delay(1000);
}
Result
Default Calibration K=1.00
EC_Voltage: 1538 mV Conductivity: 976.46 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1538 mV Conductivity: 976.46 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1538 mV Conductivity: 976.46 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1538 mV Conductivity: 976.46 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1533 mV Conductivity: 973.29 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1533 mV Conductivity: 973.29 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1533 mV Conductivity: 973.29 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1533 mV Conductivity: 973.29 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
EC_Voltage: 1533 mV Conductivity: 973.29 us/cm TE_Voltage: 783 mV Temp: 23.02 ℃
Was this article helpful?
