Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
You must login to post a message.

10/26/2021 1:55 AM
Welcome, Ukwoody, liamsmith, timbarnes, SydHagen and GISpoIRiS !

10/25/2021 3:16 PM
MendoEB, Welcome to HRO! Welcome

10/21/2021 2:41 AM
muckymuck, mckinleyharris and williamjonex welcome cup

10/19/2021 6:22 AM
Welcome tarunk!

10/17/2021 12:40 PM
Ploni and nader fouad, Welcome!

In Memory Of Ginny

Latest Donations
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Anonymous - 5.00
Users Online
Guests Online: 13

Members Online: 0

Total Members: 7,377
Newest Member: Ukwoody

View Thread

Who is here? 1 guest(s)
 Print Thread
Procedure for calibrating TC4 temperature measurements
I'm looking for help with a process for calibrating the temperature measurement(s) I'm getting from the TC4 with a type k thermocouple. I can find information about how to read the eeprom, but nothing about how (and if) to change the values, I'm getting temperature readings from the TC4 that are about 20 to 25F lower (375 vs 400 at the same time in the same bean mass) than a PID I've been using. I realize that the PID could be off too, but I have calibration instructions for that.

I also have a related question. Does the TC4 apply the same calibration factor to all attached thermocouples?

Hi, John -

Readings that vary by that much are not a calibration issue. Rather, it is most likely to be one of two things:

1. A ground loop issue. This is known to occur in the following conditions:
a) Grounded thermocouple probes that are in contact with some metal on the roaster, and
b) A power supply for the TC4 that is not earth-grounded. Examples are USB cables connected to laptops running from a 2-prong charger or 2-prong wall warts.

2. The wrong thermocouple type.

When ground loop issues have bitten me, I've solved them by forcing the roaster body and the TC4 GND signal to both be at the same potential. In English, this means run a wire from a point of metal on the roaster to one of the GND pins on the TC4.

It is probably somewhat less risky (to your computer's USB port) and maybe just as effective to use a resistor of 1K to 10K between the TC4 GND and the roaster frame.

You can test this ground loop theory a few different ways.

1. Power the TC4 from a battery and make sure it is not electrically connected to anything else besides the roaster.

2. Run the TC4 from a laptop that is not plugged in or in any other way connected to an electrical source besides its own internal battery, which is essentially the same as above.

3. Compare readings from the TC4 with the roaster plugged in (i.e. grounded to the electrical system) and with it unplugged and not in contact with ground.

I don't fully understand what is causing this problem, but I've run into it myself and have always been able to fix it by the above steps.

Caution: this should not damage the USB port on your computer, but it could. So a safer solution is to use the resistor method, or just use ungrounded thermocouples.


Thanks for a thoughtful and detailed answer. Your directions give me a good place to start.

I've been running the Arduino and TC4 from a usb cord to a laptop running on battery power. The thermocouples that I've been using are


The popper is running with two two-wire plugs - both running through a single power strip. The fan runs through a dimmer and the element through a router speed controller. The protective casing on the thermocouple is touching metal on the roaster - but not grounded metal. I can easily connect the TC4 ground to the protective metal casing on the thermocouple wire. I'll try it and see what I can find. I did something in mid roast yesterday that caused a jump in the temperature reading. Maybe it was a good thing.

Ground differential voltage and current leaking to ground is known to cause problems in delicate circuitry. The solution is either complete isolation, or using a good common ground.
Dan, John -

It would be interesting to know if the shielding on the probe is electrically connected to both, one, or neither of the thermocouple leads. Can you check the continuity with a DMM? If the shielding isn't connected "equally" to both leads, then the readings could be affected quite a bit.

I made some measurements in one of the situations where this problem cropped up for me. Short version of the story is that I measured upwards of 50VAC difference between the V- output from an isolated switching 9V supply (i.e. 2-prong wall wart) and earth ground. Even though this voltage should show up on both thermocouple leads, and even though the ADC chip is set up to read differences, it still messes up the mV readings.

Running a wire from earth ground to the V- output from the 2-prong isolated wall wart has always fixed the problem. I have even been able to fix it by using up to a 100K series resistor to tie the V- output to ground.

I would really welcome any advice and input on this if there are ways to make the TC4 less susceptible.


I did some checking yesterday here's what I found. Grounding is definitely an issue, but I'm confused by the results of my tests, maybe you and others with more electronics experience can help me understand.

I ran some tests on some of my thermocouples with a decent DMM - a Fluke 87 iv. Here's a generalization of the results using type k thermocouples with metal shielding. Checking the continuity between the metal shield and each lead for the thermocouple showed a slight difference - about 4 ohms on to one side and about 6 ohms on the other. The milliamps across the leads and the milliamps across one lead and the shield are very close. Using the temperature setting on the Flike - at approximately 70 degrees in my "office" the temperature measurement was within 1.5 F using thermocouple lead 1 and lead 2, using lead 1 and shield, and using lead 2 and shield. these measurements were consistent across two thermocouples from the same manufacturer.

I hooked up the Arduino and TC4 via a USB cable and did a couple of experiments. I connected a thermocouple to the TC1 connector and ran roast logger. I found that T1 (the thermocouple) was fairly consistent, but T2 - the ambient temperature - would drop based on grounding of the thermocouple (T1) shield to the Arduino or TC4 ground. I pulled the power cord from my laptop and this effect went away. This was an interesting response but I realize in retrospect that I wasn't being a good scientist and my observation recording was less than stellar. I was hoping to cause a fluctuation in T1 so that I could isolate and correct for the cause. I switched USB cables and could swear that I got a different response from T2 on roast logger - but no T1 response - then I got pulled away to do other things.

In short, I could make T2 ambient temperature fluctuate based on grounding but not the T1 thermocouple temperature.

Hopefully I can get some time tonight. I plan to set up for roasting and take measurements in the "operational" setting.

Hi, John -

Interesting information. I doubt that the 4 ohm vs 6 ohm resistance readings are an indicator of any problems with the probes and the shielding. The difference is probably just unavoidable measurement variation when dealing with such low resistance values.

Did you have any kind of probe or wire connected to the TC2 terminals when you made the "ambient" temperature readings? If not, then I think you have to disregard the ambient temperature readings made that way.

If you want the the TC4 to report ambient temperature readings from one of the channels, then you must short the + and - screws for that channel together using a short loop of wire. When a pair of inputs is left open, the ADC will report some random voltage reading that is usually near zero. But that reading is officially "undefined."

Do you repeatably see differences among these scenarios:

1A. Probe tips grounded to roaster, Arduino power provided by USB cable, computer power supply provided by isolated 2-prong wall wart.

1B. Same as 1A, except probes not touching anything.

2A. Probe tips grounded to roaster, Arduino power provided by USB cable, computer on batteries

2B. Same as 2A, except probes not touching anything.

3A. Probe tips grounded to roaster, Arduino power provided by USB cable, computer V- supply tied to ground, either by 3-prong plug or by added ground wire.

3B. Sames as 3A, except probes not touching anything.

I did some measurements last night and measured a 50VAC difference between the V- from a 2-prong Sparkfun wall wart and earth ground. I was powering my Arduino/TC4 from this wall wart.

When I connected a thermocouple probe to TC1 and left the tip of the probe in air, not in contact with anything, then I got good measurements.

When I used alligator clips to connect the tip of the probe to earth ground, then I could measure a voltage of 50VAC from the tip of the probe to the Arduino GND circuit. This was enough to confuse the ADC and throw off the readings by around 5F at room temperature.

Thanks Jim,

I didn't spend any time on this yesterday, but I can address some of the implicit questions. I didn't have anything connected to TC2. I didn't even know that's how roast logger grabbed the ambient temperature. So I guess I was seeing an "undefined" temperature - but one that is sensitive to grounding.

Hopefully I'll have some time tonight.

Thinking ahead a little, I'm not sure how to go about grounding the roaster. It is a 72000 popper with a plastic body, a brushed AC motor with a two wire plug, and a heating coil with a two wire plug. As far as easy changes to make, I can plug my laptop into the shared power strip - but it's a two wire plug. I can take a ground from the shared power strip to the arduino / TC4, and thermocouple shield, and the popper "chimney". I could also ground the roasting chamber. It isn't connected to the chimney, but it is connected to the motor. I'll explore these options and see what happens.



yamhill wrote:
I didn't spend any time on this yesterday, but I can address some of the implicit questions. I didn't have anything connected to TC2. I didn't even know that's how roast logger grabbed the ambient temperature. So I guess I was seeing an "undefined" temperature - but one that is sensitive to grounding.

I'm not sure which application you are running, maybe RoastLoggerTC4?

Do you wish to see and log the ambient temperature?

Are you using only one probe?

Thanks for the additional information regarding your roaster. If the roaster is not grounded, then there is probably going to be a difference of many AC volts between the metal on the popper and earth ground.

So even if the USB cable is connected to earth ground, then you still have a possible problem with potential differences affecting the readings.

It may be safe to add a ground wire to your popper, but I don't want to speculate since I don't know how the thing is wired internally.

I think your best bet in this circumstance will be to try and isolate the thermocouple, electrically, from any metal on the popper. And if you are not using TC2 to measure temperatures inside the popper, then short the TC2+ and TC2- screw terminals together using a short piece of copper wire to avoid getting spurious readings.

Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Question about TC4 ambient temperature/cold junction MCP3424/MCP9800 Dataloggers/Controllers/Rate of Rise Meters 5 03/27/2021 9:28 AM
Target temperature profile for new roaster Roasting Coffee 5 01/06/2021 2:58 PM
Temperature tracking Behmor 1600 6 05/07/2020 2:12 AM
Temperature Probes Building a Coffee Roaster 2 04/23/2019 2:23 AM
Charge temperature / preheat for popper? Roasting Coffee 9 03/14/2019 9:27 AM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2021 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX