MinipH I2C pH Interface
Project description
MinipH pH interface is a very cost effective solution for adding pH sensing capability to any project. while it only uses I2C communications for digital output it also contains an analog output which can be used in conjunction with the I2C communications. This makes it an ideal addition to any electronic tool box, especially those that need water quality sensors!
KISS
Simple but effective pH interface, great for every project that needs pH sensing
While working with Peter from ManyLabs/WireGarden, we wanted to begin to create a system of open source water quality sensors that can be cheaply deployed in schools, remote research, maker projects, basically anywhere there is a need! This project is the result of several months of research and prototyping on top of my current pH projects, I spent a lot of time incorporating a solid analog font end to interface with the pH probe which is often neglected even in commercial products.
By using a cheap, accurate and reliable I2C ADC we can both increase accuracy and decrease cost, and also create a product that people can source parts for globally at reasonable prices. while the the ADC is in a small package they are easy enough to handle even for hand soldering! This unit can even be hand assembled, and I have included a single sided variant of the design for those that want to create their own from scratch!
The front end consists mainly of the standard fixed gain/offset from our pH interface tutorial, but with great care taken in layout to ensure the best possible results from the probe itself(guard rings, current return path consideration, digital and analog separation, decoupling on each IC, etc…).
The result of this project, is a very high quality sensor interface at a very reasonable cost that is easy to use! You checkout my store to find MinipH.
Basic Usage
Very similar to the I2C breakout, it is easy to take readings, and witht he LeoPhi math easy to turn them into pH values!
The usage of the device is very straightforward and example code is provided, the gist of it is to simply ask the ADC for its value over standard I2C (both fast and slow modes) and assemble the bytes to recreate the 12bit number. Post processing is the standard pH calculations that can be found both here and on a few various other websites out there (although we all tend to calculate pH ever so slightly, I suspect the end results are all similar though)
I have already uploaded a decent example on how to implement ph readings from a MinipH board to my github, and I will also include it here as well!
As a side note the ADC does about ~28.8KSPS giving us more then enough data points and bandwidth to be able to oversample and decimate, although with the quality of the 12 bit reading it gives already it would really be an overkill at this point (I am sure someone will anyway!)
[git:sourcecode_cpp@https://github.com/SparkysWidgets/MinipHBFW/blob/master/MinipH.ino]Happy Water Sensing!
MinipH I2C pH Interface by Sparky’s Widgets is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.Based on a work at http://www.sparkyswidgets.com/portfolio-item/miniph-i2c-ph-interface/.