I needed a pH sensor for my AquaTank project, opened google, searched a bit and was stung by the prices “Holy ****, thats expensive!!”

109$  Sparkfun
35$ Atlas-scientific
29$ Absolute Cheapest – DFrobot

Still not cheap enough for me 🙂

And then I found this thread : http://forum.arduino.cc/index.php?topic=180333.0
Well I’ll explain shortly – a guy found a 8$ pH pen meter on DX and we want to hack it to get the pH on our arduinos, I succeeded.

pH meters in general:
A pH probe is zeroed on 7 and generates about 0.06 volts (depends on the probe) for each pH unit. for a value of 8 the voltage will be 0.06 volts and for a value of 6 it will be -0.06.
The negative voltage is the most tricky part to read, and of course the very small voltage samples, so you need a high resolution, high accuracy ADC.

Hacking the cheap meter:
The thread was dead until someone got a meter that had the part number on the main chip (the rest got custom labeled chips) that’s inside the meter.
And indeed its just a voltmeter chip with a LCD interface, so basically it measures the voltage of the probe and converts it to corresponding pH units.
So no interfacing any signals that carry the pH from the chip.
so another guy suggested to put a 16bit shift register to register the signal to the LCD and decode them to numbers – piece of cake – NOT
LCD’s are driven by an AC voltage – you cant connect AC to a shift register.

Then I said why not order the pH meter, some shift registers and put in line diodes in order to rectify the current and everything will be dandy 🙂 I did.

Got the meter, got my hacksaw and went all hacksawy on it, it was heavily siliconed at the base for water-proofing (this is the white stuff)
Had to be careful not to cut the PCB.


The chip is ICL7106CM44- a voltmeter chip with a LCD interface. The LCD is a 18.8 LCD, its a 1 – on or off, a decimal point – on or off and 2 full digits that go from A to G.
With the datasheet of the chip I managed to specify which pin drives which segment on the LCD, took my multi-meter and measured the voltage of the pins, and it was around 4.5V AC

chip pinout

Pin BP/GND –  its like the common ground for the LCD
Pin AB4 – Drives the “1” first digit
Pins A3-G3 – Drives the second digit
Pins A2-G2 – Drives the third digit (the first after the decimal)
Pins A1-G1 – Not in use (but if you want higher resolution for the pH metering you get it here) I won’t be using it.

I soldered some tiny leads to a larger header to get it on a breadboard, it took:

  • 2x CD4021BE shift registers ( 2 because each has 8 inputs and i have 15 leads to listen to)
  • 15x 1N4148 Diodes
  • 15x 10K Resistors (as pullup resistors)

Wired the shift registers with the diodes and pullup resistors, threw some codes together that reads the binaries of the shift registers and decoding them into numbers, and it works !!
With the diodes the voltage peaks at 2.5v – enough to tickle the shift register 🙂





There is much noise coming into the registers but occasionally it meets the right spot and decodes the digit, with a good refresh rate, so its very usable !

but what a MESS !!
ordered a BNC connector, a pH probe and s small PCB.
took a old 100 pin IDE hard disk cable (many tiny leads – solid core, easy to work with), removed the lcd and soldered the leads to the right pads (traced them with a multimeter) and put the LCD back on the board, nice looking and holds the cables in place.
I tried to make it as compact as possible – hence the vertical diodes and resistors, it was a pain to solder the leads to the resistors but I made it and it works! and its compact 🙂
The result:




Total cost of this : 8$ for the meter + 4$ for shift registers, diodes, resistors, bnc connector and PCB = 12$
I wanted an external electrode so its another 5$

to make your life easier you can purchase the 29$ kit – if you need an external probe this might be worthy
back in the time I made this I was unaware of this kit and the whole point was to hack this meter – it still was cheaper, and I liked the process 🙂
and there is additional 7$ shipping cost. so its 36$/

If you plan on recreating this – Please note you might get a meter with different chip and pinouts might be different
The connection diagram:

The code :

Useful links:

pH meter :  eBay | DX
Arduino ShiftIn 
ICL7106CM44 on Digikey
My message on arduino.cc

If you plan to do something similar please mind I don’t take any responsibility if this blows, burns your house or creates a black hole and sucks you into it 🙂

Happy Hacking and Creating!