Hi quasipickle,
I think you may have a faulty sensor on this one.
Since the on-board amplifier has to be pretty sensitive to what the probe produces, I think things can go bad rather easily.
It’s possible that the amplifier’s input impedance is too lower / higher than expected and that might lead to bad readings.
I would recommend you to check with your supplier on this matter and have them a replacement for you.
Other than that, there’s still the probability of loose connections.
Please take a look at my sensor’s connector and see that I’ve pushed the wires all the way in and I’ve turned the screws really hard.

Please tell us what you have done and if you have solved anything on the way.
Thank you!
I’ve stripped & re-seated the probes on both sensors.
In total I have 3 high-temp sensors. One keeps returning a “Temperature out of range” error, so I think that one might be faulty. The other two (one plugged in to A0
, the other into A2
) are returning almost identical results to each other: 23C room, 14C probe. If there was a faulty sensor or probe, I would expect their numbers to differ at least a bit.
I’m going to buy a couple more sensors, and another Grove Pi (our project will need 4 if we can get this working) - to see if perhaps something is broken on the GrovePi.
If it matters, I have the first thermocouple pin set as 14, the second as 16. Both are returning an analog value of 67 or 68.
Hi @quasipickle,
Did you approximate your room temperature or have you used a standard thermometer for measuring it?
Here’s the quote from back then:
It’s not actually 13C in the room - it’s 23C
If you didn’t actually measured it, can you do it now?
I want to see what’s the “real” temperature in the first place.
Depending on what you say, I’ll be trying to narrow down a bit the possibilities.
On the other hand, do you intent to use these sensors for monitoring room temperatures (like from 10C degrees
to 35C degrees
) or do you want to use them for applications that require extreme temperatures?
Thank you!
Hi,
The 23C was what was being reported from the room temperature sensor portion of the high-temperature sensor. Just running it now, I get the output:
Probe: 11.957345216258856°C
Room: 22.57658174261985°C
Verifying by querying a DHT temp/humidity sensor, I get 25.2 °C
I intend to use these sensors for extreme temperatures - inside a barbeque where I anticipate the maximum temperature would get to 150C.
Hi @quasipickle,
I understand your situation and I can make the following summary - we are talking about 7 measuring sensors in total.
-
3 high temperature probes - of which 2 are indicating around 11 °C
and the last one is giving errors (temperature out of range)
-
3 room temperature sensors (which are found on each of the high temperature Grove boards) - of which 2 are indicating around 22 °C
and the last one is giving errors (temperature out of range)
-
1 DHT sensor - which indicates around 25 °C
All of the above are inconsistent and prevent me from getting a diagnostic.
My own tests look different from what you’ve got and make me think that those 2 functional boards are decalibrated and you need replacements.
Thank you!
That is an accurate summary.
So… 3/3 high temperature sensors aren’t working?
Is decalibration something that I could have done on my end? I’d like to know so I don’t do it again.
Thanks.
Hi @quasipickle,
It’s quite impossible to determine on my side what really happened there.
From my experience I haven’t encountered such a situation - as you already know, I’ve reproduced the test a couple of times after you’ve mentioned the issue and in all the situations, the readings were okay.
We’ll be waiting for you to test the new batch of sensors and then come back with some news.
Success!
And thank you!
I just received 2 more sensors and tried them out. I’m getting the same results. I thought since typically white is ground, that I would reverse the wires and put the white in the hole labelled “GND”, and the red in the hole labelled “TP4”. That made the results a little more accurate. For a while I was getting readings of 20/24 & though that had fixed it. Now I’m getting readings of 16/22 and 14/22.
analog_value
in the method __getThermocoupleVoltage()
is always 68 or 69. Is that an expected value (therefore possibly indicating a software problem) or is that too low (therefore possibly indicating a hardware problem).
Hi @quasipickle,
Seeing that all of your 5 sensors behave exactly the same, it means they all share a common problem.
On the other side of things, I have tried again my sensor and it gives me good readings with an absolute difference of 1 Celsius Degrees
between the room temperature and the temperature of K-Type
tip - which is expected and fine - even 2-3 Celsius Degrees
would be totally acceptable.
Having my sensor work in the right parameters and seeing yours behaving such similarly between them, makes me think that something isn’t setup properly. A mistake that’s probably easily overlooked may lead to such situations, because 5 sensors going faulty is highly unlikely.
I’d suggest you start this mini-project from ground 0 again and see how it goes. Maybe something has been missed out.
Thank you!
I concur - the problem is something other than the sensors. I don’t know where else to look though. I just updated the GrovePi firmware and re-cloned & installed the GrovePi python libraries. Running your high_temperature_example.py
, I get the same old numbers - not close numbers like you’re getting.
I agree that the problem is system-wide, I just don’t know what I could possibly have done to change anything. If something isn’t set up properly, what could it possibly be - I haven’t set up anything?
In my last post I said
analog_value
in the method __getThermocoupleVoltage()
is always 68 or 69
Is that an appropriate value for 22C? Or is it an appropriate value for 14C/16C? I’m wondering if the problem is somehow not enough voltage is getting to the sensors? Maybe the GrovePi itself is broken? None of the digital sensors I connect seem to have any problem - just the analog sensors, and just the high-temperature component.
Hi @quasipickle,
The analog_value
in the __getThermocoupleVoltage()
function sits at around 71
- my room is significantly warmer.
Heating up the K-Type tip
by a couple of degrees only raises the analog_value
to about 72-73
.
So the precision that’s offering is quite low. I’m starting to think there’s a bad electrical contact somewhere (it can be something really minor), because for an increment of the analog_value
variable, the temperature changes significantly - so it could justify your “offset”.
While thinking about it, the difference between 69
and 71
is almost neglectable, but for the sensor it matters a lot, because it represents a change of a couple of Celsius
degrees.
Are you powering your Raspberry Pi
(and hence the GrovePi
) with anything else than a microUSB
?
Whether you’re using a microUSB
or not for powering it up, what’s the maximum amperage you can get?
I’ve checked my voltages I get on the Raspberry Pi
and these are the following figure:
These figures look alright to me. How do they look at you?
Thank you!
Hi Robert,
We’re using microUSB.
I tested the voltages by connecting to pin 6 (the ground) and pin 2 (5V) and pin 1 (3V)
The 5V supply is kicking out 5.14V
The 3.3V supply is kicking out 3.31V
FYI, I also dipped the sensor into a cup of hot water. Our chemistry department lent me a datalogger so I could get a reliable temperature. When I measured the water, it was 78C, the sensor was returning around 68C. I realize this doesn’t change the direction of debugging, but it does show that the offset is not temperature dependent.
Thanks.
Hi @quasipickle,
Sorry for the delay, but I think I’ll need more time to spend on this thing.
I think I got something and I’m working on it. I’ll come back ASAP.
Thank you for your patience!
Hi Robert,
Your support has been exceptional. Thanks for working on this - take all the time you need.
1 Like
We bought and installed a new GrovePi+. The sensor results are the same. Other, digital, sensors continue to work as expected.
Hi @quasipickle,
I haven’t forgot you.
The code you’re currently trying out is not going to give the expected results.
I’m working on something that I think it’s going to do the job.
I’m truly sorry for the delay and I’ll try to get back to you by the end of this week.
Thank you!
I’m curious why it wouldn’t, as I’m pulling it right from GitHub. I’m guessing you found something in the code?
I do appreciate your dedication to solving my problem. I look forward to hearing more.
Hi @quasipickle,
I’ve come back with an update on the software of this high temperature sensor.
So lets start by inserting the following command in your Raspberry Pi
's terminal:
git clone -b feature/software/library/python/grove_high_temperature_sensor https://github.com/RobertLucian/GrovePi.git
Then just cd
to the grove_hightemperature_sensor
folder and try again the example program we’ve already been trying with so far.
So, for the last few days, the sensor worked really nice - the temperatures were on match with a classic glass thermometer I have. I’ve went up to 100 Celsius Degrees
and the error stayed at +-2.5 Celsius Degrees
- which I think that’s more than okay.
During this night, I’ve experimented again with the sensor, but unfortunately I think it went bad, since it started oscillating a lot. Otherwise it wouldn’t oscillate that much, right? Maybe there’s something with the on-board amplifier.
Can you measure the readings this sensor gives by taking it gradually from 0°C
up to 100°C
with increments of 10°C
? Please measure the temperature by inserting the probe into the water - the process of finding out the temperature is going to be much faster and more reliable.
I’m curious to see what’s the error (if there’s one) the sensor gives when compared to a more professional thermometer.
Thank you!
Hi Robert,
After installing the scipy
dependency, I ran some tests. I hope it doesn’t matter, but I went from hot to cold rather than cold to hot. Below are the results. The column on the left is the professional datalogger. The column on the right is the high temp sensor.
I tested multiple sensors at room temperature and got really close, so I only did the greater-temperature-range test with one sensor.
Other than the sample explicitly mentioned, all these numbers were measured in water.
The room temperature from the sensor was 22C. The datalogger read a little under 19C.
| 84 | 76 |
| 80 | 76 |
| 78 | 72 |
| 77 | 70-72 |
| 75 | 70 |
| 74 | 73 |
| 73 | 67 |
| 68 | 62 |
| 61 | 57 |
| 54 | 50 |
| 32 | 30 |
| 45 | 41 |
| 26 | 23.8 |
| 24 | 21-24 |
| 18 | 15-17 (measured air temperature) |
| 17 | 15-17 |
| 7.2 | 8.7 |
Hi @quasipickle,
I’ve been trying to perfect the configuration values for the high temperature sensor
.
So, you can either git pull
the changes or you can click on the following link
:
github.com/DexterInd/GrovePi/tree/master/Software/Python/grove_hightemperature_sensor
Going to grove_hightemperature_sensor
directory, you’re going to see 4 files:
-
high_temperature_example.py
- this is our example program which we always run - you already know this, but I’m thinking for newcomers too.
-
grove_hightemperature_sensor.py
- this is our library which we need to import in a Python
script in order to access the high temperature sensor
. This library is dependent on thermocouple_table.json
file.
-
thermocouple_table.json
- this is where K-Type's
sensor table resides. It’s used for describing the relation between the voltage
& the temperature
. You can think of it as a non-linear function where the input of it is the voltage
we get on the amplifier and the output is the temperature
.
Also, thermocouple_table.json
is required by grove_hightemperature_sensor.py
. Without it, you can’t run the program. So these files need to be in the same directory.
-
README.md
- this is a tutorial for calibrating the sensor. Again, as I have specified in the tutorial, the temperature sensor is already calibrated and it’s good to go.
Now, @quasipickle, what you can do is test again with the changes I’ve brought and see if the temperature gets closer to the real value.
In my tests, I’ve seen the measured temperature being slightly lower than the real value - by 2-4 Celsius Degrees
(which was measured with a professional thermometer). So I think that’s okay, considering the great range of temperatures this sensor can measure.
I’ve written this tutorial thinking that maybe you can calibrate it by yourself, provided these new updates are still not giving the satisfying answer.
Seeing that both of us have different values made me think that each sensor / batch of sensors
are / is
different and may need appropriate calibration.
Please keep us updated with your experiments.
I’m curious to see if this is going to solve the issue.
Thank you!