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

Calibrating pH Probes

Calibrating a pH probe is a fairly straightforward process. There are a few issues to keep in mind. This article will summarize a research paper1.

  • Non-linear slope of the pH probe
  • Temperature
  • Sensitivity
  • Stirring
A pH probe isn't linear

Typical pH probes will never measure 7.0 in a 7.0 buffer solution. There are several reasons.

The practical take-away from that is that you shouldn't use dual-point calibration with 7.0 in the middle. In other words, if you are interested in pH measurements around 6.0 you would want to use 4.0 and 7.0 to calibrate a pH probe. If you are interested in 8.5, you would use 7.0 and 10.0 for your points. The calibration values 4.0, 7.0, 10.0 are simply the most common calibration buffer solutions. If you have access to differing values that are closer to your range, that'd be better.

In the higher and lower ranges, it also is no longer linear. The variance is something you'll have to determine yourself.


Temperature effects pH, but in a hard-to-compensate for way. The actual pH can change, so compensating for it might not be appropriate, but the probe can be effected as well. The way in which temperature changes the conductivity or resistivity of the electrode is hard to predict and accurately compensate for.


Measuring pH to a sensitivity of 0.001 is an unreasonable expectation, especially outside of a lab setting.


You can use the probe to stir your solution, but ony to mix it. Once the solution is uniformly mixed, you should stop and wait until your measurements stabilize. The motion of the solution changes the slope of the measurement. This presents an issue to keep in mind if your probe installation will be in moving water.

  1. ↩︎