I'm working on a project, which is focused on taking frequent (250ms interval or smaller) measurements of extreme temperatures (0-700 C) in 16 points. I need to take measurements of multiple thermocouples, and I'm having trouble deciding on the best approach.

One of my ideas was to use 16 thermocouple amplifier ICs that are I2C enabled, putting all of them on a PCB with STM32F4 and taking measurements every 250ms. However, most thermocouple amplifier ICs like MCP96RL00 allow for only 8 devices per bus, which creates the need to use two I2C buses for 16 thermocouples.

Then, I was thinking of using a single, good thermocouple amplifier IC, with cold junction compensation and all the fancy features, connecting all thermocouple negative terminals to a common piece of copper on a PCB and using a ultiplexer to switch between which thermocouple's positive terminal goes to the IC. However, I have very poor experience with analog electronics, and I'm not sure if there even exists a multiplexer, that allows voltages as small as those of thermocouples (milivolts), has low resistance, and has 16 channels. I wasn't able to find one such device.

Electromechanical relays could do the job, but they might be too slow for going through 16 or more thermocouples every 250ms.

How to approach this problem? Is any of my ideas viable? Would you suggest something more optimal? If the multiplexer way is viable, can someone point me in the right direction of a multiplexer, which can be used this way? I don't need extreme precision - 2-5 degrees Celsius of precision would be acceptable. Worst-case scenario, 16 MCP96RL00 will do the job, but I'd like to optimize the costs wherever possible, to stay within the budget - it's a student project with a very tight one. In case of expanding to 64 or 128 thermocouples, the costs get insane.

  • \$\begingroup\$ Do cost considerations prevent using multiple good thermocouple amplifier ICs? \$\endgroup\$ Commented Jun 26, 2021 at 21:35
  • \$\begingroup\$ If that was my precision and I had that number of thermocouples I certainly would try to mux them to save on the cost of amplifiers ICs. THere are a few gotchas though about the mux. I don't remember what they are but I know there are articles about it which you can Google. At worst, you can forego on solid state muxes and go with electromechanical relays but remember...you are dry switching those relays. Really dry switching so select and use them well and don't ever run currents through them at any time over their life. \$\endgroup\$
    – DKNguyen
    Commented Jun 26, 2021 at 21:36
  • \$\begingroup\$ @AndrewMorton Unfortunately, yes. It also lacks scallability, and in case of expanding the system, to, say, 64 or 128 thermocouples, which is a possible turn of events in the future, the cost gets way too high. \$\endgroup\$
    – PineLel
    Commented Jun 26, 2021 at 21:44
  • \$\begingroup\$ @DKNguyen I'm worried that electromechanical relays may be too slow for going through all 16 inputs every 250ms \$\endgroup\$
    – PineLel
    Commented Jun 26, 2021 at 21:49
  • \$\begingroup\$ @PineLel Your profile doesn't say what country you're in. What parts are available to you? Do you have access to all of DigiKey, Mouser, samples, etc? Or, do you have regional limitations? [Not taking into account the siliconocalypse which we all suddenly found ourselves in.] \$\endgroup\$ Commented Jun 26, 2021 at 22:07

2 Answers 2


Use case

The purpose of the device is to probe the temperature of many points of a hybrid rocket motor during a static fire test. [From comments]


K-type 0 to 700°C
accuracy ±5°C or better
16 thermocouples
250ms round-robin refresh rate somewhat cost-sensitive


I'm making a working assumption that the thermocouples are floating. The O.P. should check this assumption from the application perspective, because it has a great effect on the architecture and cost of the thermocouple front end.

I'm making a working assumption that the O.P. knows about cold junction compensation (CJC), and will take care of it.

Approaches (menu)

Individual amplifier for each thermocouple

This is the most capable approach. No issues associated with multiplexing, such as settling time of the filters.

Multiplex the thermocouples with mechanical relays

Mechanical relays are a good method for switching thermocouples, because they don't introduce offsets. On the downside, the relays switch more slowly than solid state electronics. The relays also have a finite number of cycles; they will wear out over time.

A small signal relay takes about 5ms to settle. So, it's possible to poll 16 temperatures with a 250ms period.

Use a A/D converter with a built-in mux

For an example, see ADS114S08. These chips combine a mux, an amplifier, an A/D. Thermocouple measurements is one of their standard use cases. There are plenty A/Ds like this from various manufacturers.

This may be the cheapest approach: slightly under $1 per thermocouple (for the chip).

If you will be selecting a A/D like this, make sure that you actually can switch from one channel to another, and make the conversion fast enough.

If the thermocouples didn't have to be polled fast, these A/Ds would be an obvious choice.


First, look for integrated A/D converters with a mux and an amplifier.

If you can't find one that can poll fast enough, then do a individual front end for each thermocouple. (Look for one with an SPI interface, perhaps.)


I have very poor experience with analogue electronics, and I'm not sure if there even exists a multiplexer, that allows voltages as small as those of thermocouples (millivolts), has low resistance, and has 16 channels. I wasn't able to find one such device.

I was involved in designing test equipment for measuring vibration and temperature on aero engines for Rolls Royce and others. The thermocouple design used DG409 multiplexers on both thermocouple leads and, it worked very successfully. The multiplexer power supplies cannot be earthed i.e. the "electronics" needed to be floating to avoid common-mode voltage problems (more on this below).

After the multiplexers, we used a single high-quality instrumentation op-amp with an appropriate gain and that fed to a serial ADC which was controlled via a galvanically isolated barrier (to avoid the common mode voltage problems hinted at above).

We also had dummy channels that measured local 0 volts and a known accurate reference voltage so that calibration could be performed. The thermocouples were connected to the PCB in groups so that cold junction compensation could be achieved on several thermocouples. Hence, if the circuit could attach to (say) 32 thermocouples, we grouped 8 thermocouples and had an RTC for cold junction measurement for each group. The RTC measurement was also fed through the multiplexer.

We could multiplex at hundreds of hertz.

  • \$\begingroup\$ Did you introduce any offset voltage to the thermocouple leads before the signal entered DG309, or did you pass the signal through the MUX directly? Does the 60 ohm Ron resistance of the MUX impact the measurements? \$\endgroup\$
    – PineLel
    Commented Jun 27, 2021 at 11:10
  • \$\begingroup\$ @PineLel no, yes and no (providing you use a high impedance input amplifier after the MUX aka an instrumentation amplifier. But, +5 volt and -5 volt power rails are needed with the thermocouples generally orientated towards 0 volts/mid-rail. If any of the thermocouples are biased at some ungodly voltage then it becomes trickier. This was for aero engine testing in a facility. Thermocouples were on the blades of the turbine/fan. The electronics was mounted on the rotating part. Data/signals were taken off optically at the centre of rotation. \$\endgroup\$
    – Andy aka
    Commented Jun 27, 2021 at 12:27
  • \$\begingroup\$ Actually, I've just checked an older post of mine and I used the DG409 not the 309. I'm altering my answer to suit. Sorry about that slight error (although it makes little difference). \$\endgroup\$
    – Andy aka
    Commented Jun 27, 2021 at 12:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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