Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have a tri - meter (ph, ppm, temp) that reads and displays readings on three LCD screens. I'm trying to hijack the measurement at some point in the circuit and read it in through on of the inputs on my Arduino. Can anyone tell me where I might start by looking at this circuit? The ph meter (left has only two wires) the ppm meter, apears to have 5, hot, return and three others. I'm assuming the signals are run through some sort of op amp, then displayed on the screens through on of the three logic chips.

enter image description here enter image description here

share|improve this question
Don't you have a datasheet of the instrument you're trying to hijack? At least a model number? –  clabacchio May 16 '13 at 7:10
no, I was not able to find the datasheet –  user379468 Jun 6 '13 at 3:40
add comment

3 Answers

up vote 2 down vote accepted

You have received some excellent answers on intercepting the data in the digital domain but it may also be worth considering using the analog signals presented at pins 30 and 31 on the ICL7136. An adantage to this is only having a pair of lines to connect per device and probably a simpler software interface. Some things you'd need to check are:

  • Make sure attaching a small piece of shielded wire and the ADC channel doesn't interfere with the accuracy of the existing readings.

  • Check that the output voltage swing is sufficient to give enough resolution for your application with the AVR's ADC.

Possible solutions to a lack of resolution would be to add some extra signal conditioning and/or use a higher resolution external ADC. It's another avenue worth investigating depending on your requirements.

share|improve this answer
I think that's the most direct path to a solution. –  Scott Seidman May 16 '13 at 11:00
I was able to get this to work! I found the spec sheet for the ICL7136, but the ones used in this component are MQFP (the square one) so it's actually 38 and 39 I have to measure. The voltage swing is pretty small, and for the ppm meter does not really match the resolution I need. Can you elaborate a little on how I would condition the signal? it goes from 3.4 volts to 3.6 volts (corresponding to a ppm from 0 to 1000) –  user379468 Jun 6 '13 at 3:40
@user379468, glad's it's working ok. It might be worth asking a new question about scaling the 3.4 - 3.6 volts to 0-5V, I haven't done a lot of analog conditioning so someone else will probably have a better answer. But I just found this page that should help you get started so maybe give it a try and post a question if you get stuck electrotap.com/2004/11/01/… –  PeterJ Jun 6 '13 at 3:55
add comment

The Intersil ICL7136 is a high performance, low power 3 1/2 digit, A/D converter. Included are seven segment decoders, display drivers, a reference, and a clock.

data sheet

So you might need to pick up those 3 x 3.5 x 7-segment display outputs and reconstruct numbers from them. The Arduino probably doesn't have enough digital IO pins for this. You'd need another microcontroller to provide interface between 3x7136 and your Arduino.

Hopefully someone can identify an easier answer.

share|improve this answer
add comment

The driver appears to be ICL7136 as @RedGrittyBrick has observed.

This driver doesn't output its data in a readily readable format, but is designed to drive an LCD directly.

There is one output pins for each of the LCD segments:

enter image description here

(No decimal place is output. Decimal must be hardwired by the designer according to the range of the application I guess.)

So the signals are output like this, but they are inverted when the backplane (BP) signal is high. This is to drive the LCD signal with an AC voltage.

enter image description here

Wikipedia has a truth table of seven-segment values. These can be used to construct a lookup table to transform the values back to the number.

enter image description here

Notice the leading "1" and the negative sign are just single bit outputs (AB4 and POL, respectively).

So we would like to sample the segment values, but half the time they will be inverted.

Here's one way to get ICL7136 data into a microcontroller. This uses three latches to hold the data lines. The data is latched on the rising edge of the backplane signal, so it is inverted.

To read digit one, SEG1 is brought high and SEG2 and SEG3 are held low. Then the state of the LCD segments can be read from ABCDEFM. Likewise for the other two digits. (M holds POL and AB4 values as per schematic.)

enter image description here

share|improve this answer
This is truly a complete answer, I'm going to read it over a few times and see if I can digest it. –  user379468 May 16 '13 at 16:53
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.