I'm using a K-type thermocouple to read the temperature of a 3D printer hot-end. To amplify the thermocouple voltage I am using the Analog Devices AD8495 chip. This chip is mounted on a custom-made board, I've included the schematic and layout of the parts below.

I have discovered experimentally that the temperature measurements produced by my firmware from reading the ADC the AD8495 is attached to are off by a factor of between 20-30% of the "actual" temperature as measured by a commercial IR thermometer that I have.

I have tried swapping out different thermocouples, different thermocouple extension wires (and I checked the polarity of the extension wire is correct and that there are no shorts in the extension wire), and multiple different versions of my board to check that it wasn't an error in the particular AD8495 on the first board.

Across all of these equipment changes I'm still seeing a consistent discrepancy in temperature measured by the thermocouple and temperature reported by the IR thermometer. Not only that, but the error seems to be proportional to the actual temperature of the device, so at temperatures near 25°C there is a small error of only a few degrees, but at temperatures around 150°C the error is as much as nearly 60°s!

My experimental data (and some derived error calculations) are available here: https://pastebin.com/Qq9Fj7cb

I have validated that the firmware is correctly calculating the temperature from the ADC reading by taking measurements of the output voltage of the AD8495 and calculating the temperature by hand using the supplied reference voltage of 1.24V and the transfer function described in the AD8495 datasheet.

From my reading of the data sheet, the measurement error I am seeing most closely resembles a gain error, however the actual measurement error is nearly 100 times greater than what I would expect given the maximum gain error specified in the data sheet.

I'm stumped at this point, and any further troubleshooting steps or measurements to take to help clarify what the issue is would be much appreciated.



  • \$\begingroup\$ "... are off by a factor of between 20-30% of the "actual" temperature ..." only makes sense if you are on an absolute temperature scale such as the kelvin scale. 12ºC isn't 20% hotter than 10ºC. It may be helpful to convert all your readings to kelvin and look for a pattern such as a wrong slope rather than an offset. \$\endgroup\$ – Transistor Sep 25 '19 at 21:31

The circuit looks fine. Unless you have the wrong connector (needs to be matched to the thermocouple)

I have discovered experimentally that the temperature measurements produced by my firmware from reading the ADC the AD8495 is attached to are off by a factor of between 20-30% of the "actual" temperature as measured by a commercial IR thermometer that I have.

IR thermometers create their own problems (like what material am I looking at? what is the emmissivity?) Not a good way to get an opinion on temperature. Use another thermocouple. Make sure the both thermocouples are thermally tied to the same temperature in the same way. (when the thermocouple is hot, the cable is cool and this can throw things off a bit if the thermocouple doesn't have a good connection to the material with the temperature of interest.

I use a 289 fluke meter. Even then, in my opinion below 10C between thermocouples is decent and below 5C is great.

  • \$\begingroup\$ I was just going to ask if the OP had any extra junction with dissimilar metals \$\endgroup\$ – Scott Seidman Sep 25 '19 at 22:00
  • \$\begingroup\$ My understanding is that the connector on the board can be the metal transition and thus as long as the connector itself is at roughly the same temperature as the CJC temperature measurement things will work out okay. Does that seem accurate? \$\endgroup\$ – Geoff Sep 25 '19 at 23:17
  • 1
    \$\begingroup\$ as your V+ and V- signals move thru your PCB, you need ZERO temperature gradient, which requires ZERO thermal flux flowing orthogonal to the +/- signals. Have you made a sketch of the heat sources (including your FACE, and any HOT objects near to the PCB)? The thermal resistance of standard copper foil (1 ounce/foot^2) is 70 degree Centigrade per watt of heat flow, for EACH square of copper foil. Draw that sketch. By the way, FR-4 is about 7,000 degree Centrigrade per watt, for the same (1.4 mil) thickness, thus 1/16th inch FR-4 is about 200 degree C per watt. Draw that sketch. \$\endgroup\$ – analogsystemsrf Sep 26 '19 at 2:04
  • \$\begingroup\$ @analogsystemsrf do you have any resources where I could learn more about making such a drawing? Or even terms to google for? I'm (almost) entirely self-taught in my knowledge of electrical engineering and I haven't dealt with the effects of heat like this before. Sounds like I need to do a bunch of reading! \$\endgroup\$ – Geoff Sep 28 '19 at 22:53
  • \$\begingroup\$ @analogsystemsrf I'm also unclear about what you mean by "face" here. Is that the surface of the board? \$\endgroup\$ – Geoff Sep 28 '19 at 22:54

It sounds like you need a reference which you can compare the thermocouple measurements to. IR is not a good way to go - far too much variance caused by emmisivity and other issues.

My first suggestion is to have a portion of the thermocouple wire in contact with what you are measuring. You want to make the thermocouple junction read the actual temperature of the object WITHOUT the junction being cooled by the wire. The best way to do that is to have the last few inches of the wire at the same temperature as what you are measuring.

If you don't have access to an accurate thermometer or other temperature-measuring device, consider using indicator sticks used by pottery hobbyists. These are called usually quite accurate.

  • \$\begingroup\$ Thanks for the tips, I'll try out some of those ideas and report back. \$\endgroup\$ – Geoff Sep 29 '19 at 22:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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