How to Use Thermocouples in Your Next Project

Mark Harris
|  Created: December 14, 2020  |  Updated: January 11, 2021
How to Use Thermocouples in Your Next Project

Thermocouples are the final sensor type in a series where we look at all the main types of temperature sensors you might use in an electronics project. In this series, we have looked at the various ways to implement different temperature sensors in your project. At the end of the series, we’ll be putting the sensors and implementations in a head to head competition using real-world conditions. Through this real-world testing, will gain a better understanding of how different sensors behave and respond to changing conditions, as well as how linear and accurate their output of sensed temperature is.

You can find the design files for this project released under the open-source MIT license on GitHub, the same as all my other projects. You’re free to use the circuits or the project as you wish, even for commercial projects.

Temperature sensors are vital to many industries, and thermocouples more so than most. Thermocouples can be incredibly precise and have an enormous range of sensing temperatures, making them ideal with many industrial thermostatic, process control and monitoring applications. In this series, we’ll look at a range of different sensor types and how best to use them. We’ll be looking at:

Previously, we built two project templates, in the introduction to this series on temperature sensors. These project templates each have the same interface and connector placement which will allow us to have a standard test set up for all the different temperature sensors we are looking at. One of these projects is designed for digital temperature sensors, and the other is designed for analog temperature sensors. In this article, we’ll use both, utilizing the digital project template for a high-resolution ADC and the analog template for all the other implementations.

For the conclusion of this series, we will be building two host boards for these sensor cards, one designed to test a single card for validation purposes, and the other designed to interface to a stack of cards. This second host board, once we have multiple sensors mounted on it, will be used when we evaluate the performance of all the sensor implementations.


If you are looking to measure extreme temperatures, beyond any of the sensors we have already looked at, then you may be looking for a thermocouple. Thermocouples work quite differently from all the other sensors we have looked at, rather than measuring a change in resistance, thermocouples generate a potential difference (voltage) from two different alloys of metal welded together. This allows you to measure from absolute zero to beyond the melting point of iron and steel with the right thermocouple. Thermocouples are also very robust in construction and do not break as easily as any of the other sensors we’ve looked at in this project. Thermocouples are not as accurate as a resistance temperature detector can be, but are accurate enough for most applications, especially considering the huge temperature range. 

The fact that thermocouples generate electricity from temperature also makes them valuable in space exploration as a power source. Thousands of thermocouples in series around a radioactive heat source create a Radioisotope Thermoelectric Generator which was used on deep-space missions such as the Voyager probes, Cassini and New Horizons, as well as the Curiosity rover on Mars amongst others. 

For our purposes, a K type thermocouple made up of nickel-chromium for the positive lead, and nickel-aluminium for the negative lead is by far the most common and the cheapest type of thermocouple and what we will be using. With a K type thermocouple, you can measure from -270C to around 1372C which produces -6.458mV to 54.886mV respectively. As you can see, the amount of voltage generated across this vast temperature span is rather minimal, so we will need some circuitry to be able to measure the temperature from this tiny voltage. It’s worth noting that not all K type thermocouples are capable of withstanding the maximum temperature the thermal junction can - many very low-cost K type thermocouples may only handle 500-700C before their insulation degrades. The implementation of a low cost, lower temperature K-Type and a higher cost, higher temperature K-Type thermocouple is typically going to be the same, however, as it’s the thermal junction that provides the voltage potential we are reading. That being said, not all metals are created equal, and some cheaper thermocouples may be using less pure metals or have other shortcuts which can make the more expensive options a better choice.

Beyond the thermocouple's performance, there are other considerations to consider when working with thermocouples to ensure accuracy is as expected. You should use the largest wire diameter possible for the thermocouple as long as it does not shunt heat away from the measurement area. I've used K type thermocouples from McMaster Carr that have 8 gauge wire with cast ceramic sections for insulation - perfect for die casting and heat-treating applications. The thick wire allows for lower wire resistance to provide a more precise measurement, as well as less chance of destroying the wire. Mechanical stress and vibration and quickly damage a thermocouple's lead, so your thermocouple should be isolated from both as much as possible. If you have long thermocouple wires, use a twisted pair extension that is shielded to improve immunity from interference which could make the small voltages generated by the hot junction more challenging to read precisely. If you use an extension wire, the connection to the thermocouple's cable should be as close to the temperature of the conversion IC as possible, as that interface between the extension and thermocouple is where the cold junction is located.

Reading the temperature accurately from a thermocouple isn't quite as simple as amplifying the voltage, however. To get an accurate measurement, we also need a reference point for the measurement, commonly called a cold junction. As you connect the thermocouple to your board or just an extension wire, you are creating a connection between two additional dissimilar metals. Therefore, you're creating two more thermo-electric junctions at the "cold junction" - where the end of the thermocouple that is sensing temperature is the "hot junction".

There are several methods of performing cold junction compensation; however, most are not practical for a PCB. The method most thermocouple conversion ICs use is to use the ICs temperature as the offset for the junction temperature, therefore ensuring that the connector for the thermocouple is close to your conversion IC and is the same temperature as the conversion IC is critical to an accurate measurement. In this project, we are only going to be looking at using a thermocouple with a conversion IC. It greatly simplifies the process without high cost compared to adding the additional components, not to mention engineering and testing time, to perform cold junction compensation in your microcontroller code.

In this project, we'll implement two thermocouple amplifiers reading a K Type thermocouple.





Thermocouple to digital converter

Thermocouple amplifier





14 Bit


Resolution (°C)



Operating Temp (IC)

-40 to +125

0 to +50

Min Supply Voltage (V)


± 2.7

Max Supply Voltage (V)


± 18

Current consumption (mA)

0.9 - 1.5



Maxim Integrated

Analog Devices




Thermocouple Implementation: MAX31855

This is arguably the most popular thermocouple interface IC available, with a different IC model for each thermocouple type. The MAX31855 supports K, J, N, T, S, R, and E type thermocouples, which cover everything you’re likely to come across in the real world. The letter suffix after MAX31855 is the thermocouple type, so for this project, I’m using the MAX31855K to work with my K type thermocouple. The MAX31855 has a 14bit ADC internally and communicates it’s readings over an SPI bus. Despite the ability to read temperatures as high as 1800C and down to 270c, the ADC offers a 0.25c resolution with +/- 2C accuracy for K type thermocouples between -200c and +700c. As mentioned above, cold junction compensation is vital to an accurate measurement with a thermocouple, and the MAX31855 takes care of this transparently along with the signal conditioning of the thermocouple’s output.

While the MAX31855 uses SPI, it is a read-only device, so it does not utilise the MOSI pin, which requires only 3 data lines to the integrated circuit. Depending on other SPI devices you might be using, this could save you a microcontroller pin or at least make routing more accessible to the thermocouple to digital converter IC. As we’re talking about the communications protocol, from practical experience you should not make rapid conversion requests to the MAX31855 - if you do, spurious results are likely to be generated. I find that 4 requests per second are a safe temperature request speed to ensure reliable data is given.

The implementation for the MAX31855 is incredibly simple, with only 2 passives required and an SPI port on your microcontroller. This sensor directly converts the thermocouple output voltage to a digital temperature reading making implementation with a microcontroller very quick and easy.

Connecting the thermocouple
Figure 1. Connecting the thermocouple

I’m using a low profile poke home type wire to board connector from AVX for connecting the thermocouple, the same series as I used in my RGBW lighting controller. This connector is ideal for these test boards as its low height allows the boards to stack without the connector getting in the way, and it also provides a really easy way to connect the thermocouple securely.

MAX31855 3D Printed Circuit Board
Figure 2. MAX31855 3D Printed Circuit Board

I’m leaving the thermal break in place for this board design, as I want to keep measured temperatures consistent between the different test coupon boards that we are building. I’ll tape the thermocouple hot junction to the circuit board in the same place as the other sensors are placed with some Kapton tape. This placement should give us a consistent measurement relative to the other test boards in the series.

As mentioned earlier, the connector must be as close to the conversion IC as possible. Hence, the two are right next to each other with the decoupling capacitor for the thermocouple placed between them. 

Thermocouple Implementation: AD8495

From Analog Devices we have an instrumentation amplifier with built-in cold junction compensation. The output from this device is analog and therefore can be used for temperature limiting and safety applications that back up a microcontroller, or in a purely analog circuit. You can still read the output with a microcontroller, however, at 5mV/°C you’ll likely want to use an external high bit count ADC to ensure you can get an accurate reading of the temperature.

The AD849x series of thermocouple amplifiers operate off a single supply, however, can still read temperatures below zero, where the thermocouple’s voltage is negative. While the AD8495 can deliver up to 5mA of current to a load, that will lead to self-heating which as discussed in earlier articles in the series, leads to inaccurate readings. In this case, not of the thermocouple temperature, but the cold junction temperature and therefore the cold junction temperature compensation. If your application using the AD8495 requires more than a token amount of current, you should use a voltage follower to supply current and provide a high impedance input for the AD8495’s output. The AD849x’s instrumentation amplifier implementation offers an excellent common-mode rejection of noise that can be picked up from long thermocouple cables.

The AD8495 that we are using in this project is optimised for operation between 0°C and 50°C, however, can read the full range of a K type thermocouple. The AD8494 has the same temperature range for a J type thermocouple. If a higher temperature for the cold junction/converter operating range is required, the AD8496 and AD8497 offer 25°C to 100°C optimised operation range for J type and K type thermocouples respectively.

Suppose you’re working with very high temperatures in your project and want to add safety functionality that will work no matter what happens to the microcontroller. In that case, you could use the AD8495 with an analog comparator to provide a shutoff to a heating element. Digital outputs are simple and allow precise readings; however, sometimes you need an analog output for a secondary (or primary) safety feature in a device.

The implementation of the AD8495 is not as simple as the MAX31855, as to read negative temperatures we need to provide a dc bias to the signal if we’re going to use a single supply and want a positive voltage output across the full range of the sensor. The output voltage is defined as: 

Figure 3. Output voltage equation

Therefore we know that 100°C will create a 0.5V increase in output voltage, as this thermocouple implementation will have the thermocouple attached to the circuit board which hosts the converter IC, we’re not going to be experiencing what a K type thermocouple would consider extreme temperatures. By providing a 1.25V bias, so 0°C will equal 1.25V, we can measure temperatures down to -250°C and up to 410°C, both of which will exceed the capabilities of the converter IC and the board it is mounted to. I could use a lower reference voltage. However I’m going against the datasheet here, and 1.25V is very convenient for me.

To provide a reference voltage, the datasheet recommends not using a voltage divider directly, but instead use an operational amplifier or buffer amp to buffer the voltage of the divider to the Ref pin. When comparing costs, a 1.25V MAX6070 voltage reference is a cheaper solution and also more precise, it’s the lowest voltage output of all the voltage references in my library.

AD8495 Schematic
Figure 4. AD8495 Schematic

The implemented schematic is still relatively simple for a thermocouple amplifier with cold junction compensation, but not quite as simple as the digital converter. What I find interesting about the REF pin is that rather than just using a voltage reference or voltage divider here, we could also add a potentiometer to a resistive divider to provide fine-tuning of the thermocouple to offer a high precision calibrated circuit if we wanted.

AD8495 Printed Circuit Board Schematic
Figure 5. AD8495 Printed Circuit Board Schematic

The circuit board is very similar to the MAX31855, with the thermocouple connector and decoupling capacitor right next to each other, to provide a good cold junction compensation reference. Like the MAX31855, we will be attaching the thermocouple hot junction to the PCB with Kapton tape in the same location as the other sensor types we have looked at in this series.

Thermocouple RF Filter

If you are expecting to use the thermocouple in an adverse RF/EMI environment, consider adding a simple RC filter to your thermocouple lines. I won’t be adding this to the PCB we’re making in this project, however, given the prevalence of thermocouples in industrial and process monitoring applications, I feel it’s worth noting.


You can find details of each of these test circuit boards with all the other temperature sensor implementations on GitHub. These boards are released under the MIT open-source license, so you’re welcome to build them yourself, implement their circuits in your projects or use them in whatever way you wish.

Make sure you take a look at the other projects in this series if you are interested in temperature sensors, as you might find a cheaper alternative to using a thermocouple or another option that could work for your project. At the end of this series, you’ll see a comparison between all the different sensor types, so you can directly compare how the different sensor implementations perform across varying conditions relative to each other.

Would you like to find out more about how Altium Designer® can help you with your next PCB design? Talk to an expert at Altium.

Altium Designer Free Trial


About Author

About Author

Mark Harris is an engineer's engineer, with over 16 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

You can contact Mark directly at:

Related Resources

Related Technical Documentation

Back to Home
Thank you, you are now subscribed to updates.