Measure pH, ORP, EC or salinity with an Arduino or Raspberry Pi

Isolated EC Probe Interface

  • Electrical Conductivity in Siemens (0.5 - 20.0 mS/cm²)
  • Total Dissolved Solids in PPM (250 - 10,000 PPM)
  • Salinity in PSU (2 - 12 PSU)
  • Temperature in Celsius/Fahrenheit (-55 - 125 °C) with optional temperature sensor
  • Electrically Isolated

What it is

An electrically isolated I2C sensor that can read an electrical conductivity probe (cell-constant K1). It measures the conductivity of a solution and converts it into Siemens (S) total dissolved solids and salinity. The firmware allows for single or dual-point calibration with temperature compensation. There is a connector available to use a waterproof temperature sensor for temperature compensation. The firmware on the device provides two calibration options, single or dual point.

The board uses the Qwiic Connect System, an easy-to-use, polarized, push-to-fit connector. No more mistaken connections or soldering header pins. Adafruit calls these connectors STEMMA QT.

All boards have a conformal coating to help protect against moisture, corrosion, and short circuits.

Electrical Isolation

When different probes are connected to the same controlling device, they can cause interference. The environment also causes interference due to ground-loops or other electrical noise like pumps. Electrically isolating the probe can help to prevent these problems.

Using it

There is plenty of documentation on the specification, setup, and use of the sensor.

The Arduino IDE, PlatformIO, and library is in their respective library managers. Any Arduino compatible board will work.

A python and rust library is available for the Raspberry Pi and a MicroPython library is available for any compatible board.

Arduino C++

Raspberry Pi Rust

Raspberry Pi Python or Micropython

Buying it

The sensor comes with one Qwiic wire, you can buy extras if needed. There are 3 types of wires to choose from; Qwiic to Qwiic used to connect a Qwiic board to another Qwiic board, Qwiic to male headers, and Qwiic to female headers.

It also comes with a dust cap, hex nut, washer and rubber seal for the BNC connector.

For accurate measurements, you need to be able to provide the water's temperature. So you'll probably want to get a waterproof temperature sensor, it connects directly to the board and doesn't get any easier. But the library will accept the temperature from any source.


Support, Documentation, and Questions

Sensor Circuit Datasheet

EC Probe Datasheet

Waterproof Temperature Sensor Datasheet

If you have questions, find a bug, or have any suggestions, go to this project's GitHub page and submit an Issue or Pull Request. Or you can send an email to [email protected].