pH noise reduction


I’ve used a PH probe from Inesa Scientific and a combination of DOC and Temperature sensor Arduino Uno and Raspberry Pi.

The current setup is as follows:

  • Arduino gathers data from the probe and will display in Grafana through Node-Red. It shows the reading for every 1 second.

Th setup works quite well, but the readings are quite noisy. I’ve calibrated the probe using buffer solutions 7.01 and 4.01, and I’ve also installed a good power supply, as well as filter caps on the power input to the sensor board.

The weird thing is that the readings stabilize to within +/-0.2 when I put the probe in a beaker fill with the buffer solution. When the probe is in the container (10 litre of water) itself , the readings average about right, but spread from 6.8 to 4.

Please help me in this problem thank you

moving average filter?

I like the Simple Kalman Filter.
simple Kalman filter?

I'm not so surprised. Relatively pure water (including tap water) is difficult to measure since it has virtually no chemical buffering capacity. I.e. a minute variation in chemistry (a contaminant, CO2 uptake from the air) will greatly influence the pH reading you get. In addition to this you may have electrical problems with your analog frontend, but keep in mind that trying to measure unbuffered solutions is always tricky, since they are thrown out of balance (pH7) so easily.

Do you know how can i fix it?

That's tricky. I'd strt by eliminating any noise from the sensor and analog frontend itself by making sure that buffered solutions give stable measurements. If that has been accomplished, I'd just take several measurements and average them in software. You could work with a rolling average for instance. It will reduce responsiveness of your meter, but that probably isn't an issue as most pH adjustment procedures include a substantial settling time anyway.