Design Resources

Design & Integration Files

• Schematic
• Bill of Materials
• Gerber Files
• Layout Files (Allegro)
• Assembly Drawing Download Design Files 612.07 K

Evaluation Hardware

Part Numbers with "Z" indicate RoHS Compliance. Boards checked are needed to evaluate this circuit.

  • EVAL-ADICUP360 ($52.97) EVAL-ADICUP360
  • EVAL-CN0394-ARDZ ($58.85) EVAL-CN0394-ARDZ
Check Inventory & Purchase

Features & Benefits

  • Flexible 4-channel thermocouple system
  • Cold junction compensation
  • Arduino-compatible interface to ADICUP360

Circuit Function & Benefits

The circuit shown in Figure 1 is a flexible, integrated, 4-channel thermocouple measurement system based on the Arduino-compatible EVAL-ADICUP360 platform, which contains the ADuCM360 low power, precision analog microcontroller. The ADuCM360 has an ARM Cortex™-M3 processor core, a number of peripherals, and also precision analog functions including a dual, 24-bit, Σ-Δ analog-to-digital converter (ADC); multiplexer; programmable gain amplifier (PGA); and voltage reference.

Figure 1. Thermocouple Measurement System (Simplified Schematic: All Connections and Decoupling Not Shown)


The circuit can process up to four independent thermocouple channels, and the software linearization algorithms support eight different types of thermocouples (B, E, J, K, N, R, S, and T). The four thermocouples can be connected in any combination, and resistance temperature detectors (RTDs) on each thermocouple channel provide cold junction compensation (CJC). No extra compensation is needed. Thermocouple measurements using this system cover the full operating range of the various types of thermocouples.

The circuit interfaces to the EVAL-ADICUP360 Arduino-compatible platform for rapid prototyping. With a USB to UART interface and open source firmware, the EVAL-CN0394-ARDZ and EVAL-ADICUP360 combination can be easily adapted to a variety of thermocouple applications.

Circuit Description

Temperature Measurement Introduction

Thermocouples are one of the most frequently used sensors for temperature measurements in industrial applications because of their low cost, ruggedness, repeatability, as well as wide operating temperature range and fast response time. Thermocouples are especially useful for making measurements at high temperatures (up to 2300°C for Type C thermocouples).

A thermocouple consists of the junction of two wires of different metal types, as shown in Figure 2.

Figure 2. Thermocouple Connection Showing Measurement and Reference Junctions for One Channel


The junction is placed where the temperature is to be measured, TTC, and is referred to as the measurement junction. The other end of the thermocouple is connected to a precision voltage measurement system, and this connection is referred to as the reference junction, or alternately the cold junction (CJ). The temperature difference between the measurement junction, TTC, and the cold junction, TCJ, generates a voltage, VTC − VCJ , that is caused by the difference between the temperatures of the two junctions. The voltage generated is typically from several microvolts to tens of millivolts and is dependent on the temperature difference and the thermocouple type.

Cold Junction Compensation (CJC)

The voltage generated by a thermocouple must be converted to temperature. Converting the voltage measured to an accurate temperature can be difficult, because the thermocouple voltage is small, the temperature-voltage relationship is nonlinear, and the cold junction temperature must also be accurately measured.

The total output voltage of the thermocouple is caused by the difference between the temperature of the thermocouple and the cold junction temperature. Figure 2 shows that the cold junction temperature is measured with another temperature sensitive device, typically a thermistor, diode, RTD, or semiconductor temperature sensor. The temperature-sensing device used for this circuit is a Pt1000 RTD, and there is one RTD in each of the four channels for accurate measurements.

In Figure 2, the total thermocouple voltage, VTC – VCJ, is measured with the precision ADC in the ADuCM360 and converted to a digital format using the following equation:

Equation A

VTC − VCJ is the measured thermocouple voltage.
VREF is the reference used for measurement. For this circuit, the internal 1.2 V reference is used for the thermocouple measurement.
CODE is the 28-bit word in the ADuCM360 ADC data register (ADCxDAT) with a gain of 8.

A constant current source, IEXE (obtained from the ADucM360) drives the series combination of the RTD and a precision 1.6 kΩ reference resistor, R5. The IEXE setting for the CN-0394 circuit is 620 μA that produces a nominal VREF of 1.6 kΩ × 620 μA = 0.992 V, and a drop of 1 kΩ × 620 μA = 0.62 V across the RTD. The voltage across R5 is used as a reference to the ADC. The RTD resistance, RRTD, is calculated using the following equation:

Equation B

R5 is the reference resistor, R5 = 1.6 kΩ.
CODE is the 28-bit word in the ADuCM360 ADC data register (ADCxDAT) with a gain of 1.

In the CN-0394 circuit, the thermocouple voltage and the RTD voltage are both converted by the ADuCM360 24-bit ADCs. Note that the measurement is ratiometric and not dependent on the accuracy of either the reference voltage or the value of the IEXE excitation current.

The RTD resistance, RRTD, is then converted into the cold junction temperature, TCJ, using either a lookup table or polynomial equations. The RTD transfer function known as the Callender-Van Dusen equation is made up of two distinct polynomial equations to provide a more accurate result and is used in the CN-0394 software. Refer to the Circuit Note CN-0383 for a more detailed explanation of these RTD equations.

The cold junction temperature, TCJ, is then converted into the corresponding thermocouple voltage, VCJ, using the equations in the ITS-90 Thermocouple Database. The CN-0394 software uses the ITS-90 polynomial equations rather than the lookup tables to perform this conversion.

The software then sums the total thermocouple voltage (VTC− VCJ) with the cold junction VCJ to obtain the thermocouple EMF, VTC.

The ITS-90 inverse equations are then used to convert the thermocouple EMF, VTC, to the equivalent thermocouple temperature, TTC.

For the thermocouple theory, linearization tables, equations, and cold junction compensation, refer to the NIST ITS-90 Thermocouple Database, NIST Standard Reference Database 60, Version 2.0 (available on the NIST website). For the general theory of thermocouples and temperature measurements, see Chapter 7 of Sensor Signal Conditioning.

Analog-to-Digital Conversion

The CN-0394 circuit uses the ADuCM360 integrated, dual, 24-bit, Σ-Δ ADC to perform the conversions. The ADuCM360 contains an input multiplexer and an integrated PGA with gain options of 1 to 128. The ADuCM360 can be configured to have 6 differential inputs or 12 single-ended inputs.

The ADuCM360 also offers a multitude of filter options and output data rates, ensuring that the user has the highest degree of flexibility.

The PGA allows amplification of the small thermocouple voltage to a level that is optimum for the internal sigma-delta ADC. The proper gain setting is determined by the amplitudes of the thermocouple signals and the value of the reference voltage. The CN-0394 software supports eight types thermocouple: B, E, J, K, N, R, S, and T.

Different thermocouples have different ranges and sensitivities, as shown in Figure 3. For instance, Type J thermocouples are made by joining iron and constantan and have an approximate range of −210°C to +1200°C with a sensitivity of 55 μV/°C.

Figure 3. Thermocouple Output Voltage vs. Temperature


Therefore, by using the integrated PGA of the ADuCM360, the small thermocouple voltage levels can be sensed and accurately converted to a digital representation.

The cold junction temperature range is 0°C to 50°C, and the maximum and minimum output voltage range is determined by examining the voltage swings of the various types and including the cold junction voltage component that is subtracted from the thermocouple voltage. The Type E thermocouple requires the widest range, as shown in Table 1.

Table 1. Maximum Thermocouple Voltage Swing (Type E)
Output Hot Junction Cold Junction Voltage
Maximum 1000°C 0°C


The ADuCM360 ADC bipolar differential input range using the internal 1.2 V reference is ±125 mV with the PGA gain set to G = 8. This range covers the output voltage ranges of all eight types of thermocouples, therefore no external signal conditioning circuits are needed, and the PGA can operate at a fixed gain of 8 for all thermocouple types. The 24-bit resolution allows thermo-couples with small signal ranges (such as Type B) to be measured without the need for gain ranging. The thermocouple is connected in the differential mode to the ADC, and the negative input is connected to a 900 mV common-mode bias voltage supplied by the ADuCM360.

The EVAL-CN0394-ARDZ board has four miniature Type U female thermocouple connectors (Omega PCC-SMP-U-100) for connecting to the thermocouples mating male connectors. The cold junctions are formed at the connector contacts, and the CJC RTDs are located close to the connectors.

A simple 2-wire RTD connection is used in the CN-0394 circuit; however, the ADuCM360 contains programmable excitation currents that can be used for 2-wire, 3-wire, and 4-wire RTDs. Details on 3-wire and 4-wire applications can be found in Circuit Note CN-0383, respectively.

System Noise Measurements and Results

It is important that the system noise be low so that the small amount of voltage from a thermocouple can be measured accurately. Figure 4 shows the histogram of 512 samples taken with the thermocouple connector shorted on one channel. The ADuCM360 sinc3 filter was on, chop mode was enabled, and the data rate was 50 Hz.

Figure 4. Shorted Input Histogram For Single Channel, 512 Samples, ADC Sinc3 Filter On, Chop Enabled, 50 Hz Data Rate


From the histogram, the peak-to-peak noise referenced to the input is 2.51 μV. For a full-scale input of 125 mV, the noise free code resolution can be calculated:

Equation C

System Thermocouple Measurements and Results

Thermocouple system measurement tests require accurate knowledge of the thermocouple temperature over a wide temperature range. Though oil baths are accurate, they have a limited temperature range and are slow to stabilize.

An accurate thermocouple simulator, such as the Time Electronics 1090 temperature calibrator, offers an attractive alternative to the oil bath method. Figure 5 shows a block diagram that explains the simulator test concepts.

Figure 5. Testing Thermocouple Measurement System Using a Thermocouple Simulator


The simulator allows the user to input the thermocouple type and temperature as well as the cold junction temperature. The simulator then uses the ITS-90 tables and equations to convert the thermocouple temperature, TTC, and the cold junction temperature, TCJ, into their respective voltages, VTC and VCJ. Then VCJ is subtracted from VTC to yield the simulator output voltage, VTC – VCJ.

The overall accuracy of the simulator depends on the thermocouple type and temperature, but is typically between 0.5°C and 2°C.

Note that the simulator does not test the accuracy of the system cold junction compensation circuit, which must be tested separately with a thermocouple attached.

Figure 6 shows the error between simulated and measured temperature for E, J, K, N, and T type thermocouples, and Figure 7 shows the error for B, R, and S type thermocouples. A zero-scale and full-scale calibration was performed on the ADuCM360 ADC before taking the measurements.

Figure 6. EVAL-CN0394-ARDZ Temperature Measurement Error for E, J, K, N, T Type Thermocouples Using Thermocouple Simulator


Figure 7. EVAL-CN0394-ARDZ Temperature Measurement Error for B, R, S Type Thermocouples Using Thermocouple Simulator


The errors shown in Figure 6 and Figure 7 are a combination of the following sources:

  • Simulator error (0.15°C to 3°C depending on type and range)
  • ADC reference voltage accuracy (0.2%)
  • System offset and gain errors that remains after internal ADC calibration (less than 10 μV)
  • ADC nonlinearity (15 ppm FSR, which is 1.9 μV for FSR = 125 mV)
  • Error in ITS-90 equations (varies from 0.001°C to 0.06°C depending on type and range)

The reference error (0.1% for the ADuCM360 internal reference) causes a system gain error and can contribute several degrees Celsius of error at high temperatures.

The B, R, and S type thermocouples are more sensitive to offset errors because of their small Seebeck coefficients.

The ADuCM360 nonlinearity and the error in the ITS-90 equations are both negligible with respect to the other error sources.

The measured data shown in Figure 6 and Figure 7 is within the accuracy specifications of all eight standard thermocouples over their respective ranges.

For highest accuracy, especially with B, R, and S type thermo-couples, a system-level zero-scale and full-scale calibration must be performed using a precision external voltage source.

A more accurate external reference, such as the ADR4525 with (0.02% initial accuracy), can also be used to minimize gain errors.

Cold junction compensation was tested by connecting a Type J thermocouple to a channel and maintaining the thermocouple at ambient temperature while cycling the CN-0394 board under a ThermoStream or Thermonics temperature controller. The Type J thermocouple was chosen because of its high sensitivity to temperature change.

The measurements were made at cold junction temperatures of 0°C, 25°C, and 105°C, and the results are shown in Figure 8.

Figure 8. EVAL-CN0394-ARDZ Temperature Measurement Error for Type J Thermocouple at Room Temperature for Cold Junction Temperatures of 0°C, 25°C, and 105°C


A complete set of documentation for the EVAL-CN0394-ARDZ hardware including schematics, layout files, Gerber files, and bill of materials can be found in the CN-0394 Design Support Package.

System Design Tradeoffs

The EVAL-CN0394-ARDZ board is designed to provide maximum flexibility for any combination of four independent thermocouple input channels, and the circuit design uses a minimum of additional components.

The ADC in the ADuCM360 can provide higher accuracy if a system-level zero-scale and full-scale calibration is performed before making measurements.

The ADC in the ADuCM360 is capable of improved noise performance if the inputs are configured for differential operation and an input anti-aliasing filter is added to each channel. A typical filter arrangement is shown in Figure 9, where R1 + R2 and C3 form a differential mode filter (bandwidth of approximately 800 Hz) and R1/C1 and R2/C2 form common-mode filters (bandwidth of approximately 16 kHz).

Further design techniques for achieving optimum performance with RTD and thermocouple circuits can be found in Circuit Note CN-0383, and Circuit Note CN-0384.

Figure 9. Optional Differential and Common-Mode Input Filters for ADuCM360


The ADuCM360 can be configured in a number of low power operating modes under direct program control, including a hibernate mode (internal wake-up timer active) that consumes only 4 μA. In hibernate mode, peripherals such as external interrupts or the internal wake-up timer can wake up the device. This mode allows the device to operate with ultralow power and still respond to asynchronous external or periodic events.

Common Variations

The ADuCM360 internal 1.2 V reference has ±0.1% initial accuracy. For higher accuracy and reduced full-scale gain error, the ADR4525 2.5 V, ±0.02% reference can be used instead.

Circuit Evaluation & Test

This circuit uses the EVAL-CN0394-ARDZ Arduino shield board and the EVAL-ADICUP360 Arduino platform board. The two board easily stack together easily, with the EVAL-CN0394-ARDZ on the top, and EVAL-ADICUP360 on the bottom. The thermocouples plug into the P1 to P4 sockets of the EVAL-CN0394-ARDZ board.

The system connects to the PC through the USB interface on the EVAL-ADICUP360 board. Both boards are powered from the USB 5 V supply. The RTD sensors are already assembled on the EVAL-CN0394-ARDZ printed circuit board (PCB).

Equipment Needed

The following equipment is needed:

  • PC with a USB 2.0 port and Windows® 7 (64-bit) or later
  • EVAL-CN0394-ARDZ Arduino shield-compatible circuit evaluation board
  • EVAL-ADICUP360 development board or compatible Arduino platform board
  • Any combination of B, E, J, K, N, R, S, and T thermocouples (four total), or Time Electronics 1090 temperature calibrator or equivalent
  • ADICUP360 software (IDE), see the CN-0394 User Guide
  • Serial terminal software such as PuTTY or Tera Term
  • USB A to USB micro cable
  • EVAL-CN0394-ARDZ demo code (see the CN-0394 User Guide)

Getting Started

  1. Select the correct jumper settings on both the EVAL-CN034-ARDZ board and the EVAL-ADICUP360 board. The jumper settings are described in detail in the CN-0394 User Guide.
  2. Plug the EVAL-CN0394-ARDZ Arduino shield board into the EVAL-ADICUP360 Arduino-compatible platform board.
  3. Connect the thermocouple sensors to the EVAL-CN0394-ARDZ board.
  4. Connect the user USB port to the PC.
  5. Each of the four channels uses an omega style connector for the thermocouples, which simplifies plugging in and out different thermocouple types. The Type U connector was selected so that all the channels on the board (P1 to P4) are universal and interchangeable.
  6. Drag and Drop the demo_cn0394.bin file onto the MBED Drive
  7. The software must be configured for the thermocouple types on P1, P2, P3, and P4 as described in the CN-0394 User Guide.
  8. When the program is running, the output data is calculated and displayed in the terminal window.
  9. Information regarding the Arduino form factor-compatible ARM Cortex™-M3 development platform (EVAL-ADICUP360) is available in the EVAL-ADICUP360 User Guide.

Functional Block Diagram

A block diagram of the test setup is shown in Figure 10.

Figure 10. Test Setup Functional Diagram (Both Boards Powered from PC USB 5 V Supply)



When the sample code is built and loaded onto the EVAL-ADICUP360 and the EVAL-CN0394-ARDZ is mounted on top, the device communicates with the PC, and continuously updates and displays the following for each channel:

  • Channel number and thermocouple type
  • RTD resistance
  • Linearized RTD temperature (cold junction temperature)
  • Linearized thermocouple temperature

Warning messages display if the final linearized temperature for the selected thermocouple is out of the range defined by the ITS-90 equations. Other programming options are described in detail in the CN-0394 User Guide.

Figure 11 shows a photo of the EVAL-CN0394-ARDZ board.

Figure 11. EVAL-CN0394-ARDZ Board Photo

Sample Products

Evaluation Boards

Pricing displayed is based on 1-piece.

Up to two boards can be purchased through Analog.com. To order more than two, please purchase through one of our listed distributors.

Pricing displayed is based on 1-piece. The USA list pricing shown is for budgetary use only, shown in United States dollars (FOB USA per unit), and is subject to change. International prices may vary due to local duties, taxes, fees and exchange rates.