Using existing thermistor


I'm waiting for my Uno board to arrive to start building a pool heat pump controller.

I need to monitor the pool temp. I know there are tons of guide on doing this.

But I'd like to know if it would be possible to use the water sensor already used by my heat pump.

The heat pump already monitor the temperature and displays it on an lcd. The board inside the heat pump is a viconics HP727S. I presently don't know the type of sensor but I believe it's a thermistor.

Instead of using my own thermistor or other type of sensor (1-wire), is there a way I could use the information coming for the thermistor used by the heat pump ? On the board itself, the two connector the water sensor are connected to are screw in type so I could easily attach additionnal wires to the arduino board.

I'm a complete newbie in this and I plan to learn a lot before I can accomplish my goal. Any help is appreciated. Thank you !

On the board itself, the two connector the water sensor are connected to are screw in type so I could easily attach additionnal wires to the arduino board.

Do you have a voltmeter? No? We'll wait here while you go get one.

OK, stick the probes on the two screws. What voltage do you see? Does the voltage change as the temperature changes?

Ok, thanks for the help. Got a voltmeter and finally had the time to unscrew the heat pump front panel to test this. I got a reading from the two screws, 2.263v. I poured a bucket of hot water in the pool return and waited to see if the reading would vary. It did. Since the heat pump was running, I could see the LCD from the heat pump control panel indicated the water going from 85 to 88 for a brief moment and I saw the readings on the voltmeter change at the same time.

The controller in my heat pump is a viconics HP727s. I'm lucky enough that on their site, a manual has a table for the thermistor used with their controller. I was able to match the 2.263 v reading I got at 85F to their table. See last page of the document at :

So I'm thinking things are looking good. I guess I "just" need to get these voltage readings in the arduino and build from there. But can someone point me in the right direction ? The table I got on their site doesn't provide the voltage for all temperature. It's in 5F increment. How do I measure this more precisely, at least for each 1F ? Also, what is the connection to the arduino supposed to be like ? One wire to GND and the other to and analog pin ? Is it really important which one is which ? Using either end of my voltmeter on each screws on the heat-pump controller gave me the same results.

Thanks again for anyone who's willing to help.

This is what I would do. Get a math program that can generate an equation from a set of input data. I personally use QTiPlot on linux, but I'm sure there are others out there for whatever platform you're on. Maybe Excel can do this function also. For extra bonus points, do it with pen & paper.

Easier if you convert those voltage numbers into ADC readings first. 0 - 5 volts = 0 - 1023 counts.

I would be surprised if a 3rd order polynomial didn't give the best fit. (Disclaimer: I'm not a mathematician).

You could also put all that data in a table, and use a straight line approximation between adjacent points.

This is assuming that those voltages are referenced to ground, and that ground is common with the Arduino.


A big thanks for the input.

I'm planning on giving the heat pump controller board manufacturer a call next monday, they're based here in Montreal. Perhaps they can provide info about the thermistor used.

Regarding your comment, I have to admit I'm not sure about that last part regarding ground. This perhaps expose me as a complete newbie in both electronics and arduino but I'm here to learn !

Not sure that "info about the thermistor used " is going to help you much. You already have a chart of the voltage vs temperature, which is all you really need.

If you're going to talk to them, better question would be "which terminals are ground". Find this out, and maybe I or someone else here can point you in the right direction re connecting it to your Arduino.


As I mentionned, the table they provide on their site is in 5F increment. Perhaps they can give me a more complete table, or an equation I can use to calculate the temperature without havin to use a table ?

I was able to connect the thermistor to my arduino over the weekend. I got some voltage reading from a analogread sketch. The readings were in line with the table from the manufacturer. I have to admit, I made the connection to arduino, one wire to ground the other to an analog pin, without knowing which one of the sensor terminal is supposed to be ground. Since I got readings, does this matter ? Is there a chance I could damage the arduino if I use the wrong terminal. Perhaps I was just lukcy and used the proper one. One of the sensor wire had a blue line on it, this is the one I used for ground.

But my connections were all temporary, I need to think about the way I want to connect all this in a more permanent way. I used some 20awg stranded wire I had lying around (originaly used to connect my central vaccum system outlet) but I had some difficulties inserting that wire into the arduino. What do you recommend I use ?

I already explained how to generate the equation from the information already given. I'm trying to encourage you to learn something here. Sure, I could do it for you, but where's the fun in that?

While ever the Arduino is completely floating (not connected to ground in any way) you're probably safe in connecting it. As for blowing things up, I'd be more concerned about the Vicon ($$$$$) than the Arduino. The Arduino is cheap & easily replaced.


A quick Google shows that QTiPlot is cross-platform & free. So no excuses.

BTW, it appears their published figures for 180 degF are significantly in error.

I've currently got a 3rd order polynomial with an R^2 (quality of fit) of 0.99961. Will re-run it tonight (my time) without the erroneous 180degF and see if I can't get four nines.


As I mentionned, the table they provide on their site is in 5F increment. Perhaps they can give me a more complete table, or an equation I can use to calculate the temperature without havin to use a table ?

You are still only going to get the nominal values for a typical thermistor. If they ran a test on the specific thermistor used in your controller (not likely) then the results are probably on a sheet of paper tucked inside the controller somewhere.


Thanks for all the help.

I'm sorry to have to say that your comments are already way to technical for me at the moment. I think I understand what your trying to do with QTiPilot. I'm downloding it at the moment.

Can someone explain to me what exactly is happening when I connect the 2 headers from the heat-pump controller to the arduino (ground and digital pin) ? I'm getting the exact same readings that appear on the PDF from the manufacturer for a specific temperature. Looking at various diagram on how your supposed to connect a thermistor to the arduino, ie use a resistor, I don't understand how I'm still getting some reading only using two wires. Would I get the same thing only connecting one wire to the arduino ?

I have two kids at home so the my "testing time" at night is quite limited !

It’s simple, really. The extra resistor already exists in the Vicon unit.

But, re-reading your original post, I’m more confused than ever on what you’re trying to achieve here. You say you want to build a heat pump controller using a Uno, but you want to pull the temperature reading as a voltage from the existing, commercial heat pump controller? Doesn’t make a lot of sense. Obviously, I’m missing something.


I re-read my original post. Your right, it's not clear.

What I want is to be able to get the pool water temperature over the internet and turn the heater on-off from a web-page. I don't want to replace the existing controller, only output the temp to the internet and allow it to be controlled via web.

The heat pump controller (viconics) will still do all the work.

The controller has two header that are to be used as a remote. A closed circuit on those contact will turn the heat on and an open circuit will turn it. Or vice-versa, the documentation specify the exact operation.

To get the temperature, my original idea was to use DS18B20 sensors. But I would need to seal them properly in something that can handle being in chlorinated water 24/7. So I tough, why not use the thermistor already place inside the heat-pump ?

So the plan is to get the temperature as a voltage reading, convert this to F using a formula or table, output this to a webpage. I would also need a button on the page which would turn the heat pump on or off, probably using a small relay.

I already have the DS18B20 so if using the thermistor is not a good idea, I'll try this route.

OK. Now it makes a lot more sense.

Using the existing thermistor and feeding that to an Arduino should be fine.

Sorting out what is "ground" on the thermistor contacts and the 2 remote controller contacts should be a priority.

And did you mean "internet" or "intranet". The first is fraught with security problems. The second means your internal Lan. There should be firewall between that and the outside world (internet).


I just used my multimeter on the two headers on the heat pump control board. The thermistor wires are connected to pin #1 & 2 on this board. Using the black probe on pin #2 and the red one on #1, I got a 2.242v reading on the multimeter, in line with the 87F on the LCD of the heat pump and in line with the chart. Using the probes in reverse order, I got a -2.242 reading.

So, is it safe to assume ground is pin #2 ?

And yes, I did mean "internet". You'r probably mostly right about the security concern but we'll see what's possible.

So, is it safe to assume ground is pin #2 ?

Don't know about "safe", but I'd assume pin 2 was ground, yes.

ok, so I’ll be connection pin #2 to ground on the arduino and pin #1 to one of the analog pin.

I’m kind of uneasy about bringing this voltage into the arduino. This comes from reading about how thermistor are usually connected to the arduino, using the 5v supply, ground and a analog pin to obtain reading. In those case the thermistor is using the arduino power supply.

In my case, the power (variable voltage) is coming from the heat pump controller. Is it ok to bring this into the arduino ?

Like I already mentionned, I did make this connection over the weekend and I got the reading in the serial monitor. Just want to make sure I’m not doing something that’ll eventually cause problems.

Hopes this makes sense…

Also, I wanted to mention I did calculate a 3rd order polynomial formula based on the table from the manufacturer. I did it in excel using the chart fonction and trendline. I actually gives good result. I don’t have the R2 value with me but it was around 0.996 I think. I also did a 4th order. Thanks for the help on this.

Hopes this makes sense....

It would make better sense to me if everywhere you said "digital pin", you say analog input pin instead?


thanks. changes done.

Perhaps a lot of people here already figured this out but I just realized (with some help from my brother…) that the heat pump controller is sending a constant current to the thermistor. That’s how I’m we’re able to get variable voltage readings from the 2 header pin.

This is different than many of the exemple I had read about using thermistor with the arduino using constant voltage and a resistor.