Go Down

Topic: Help Please, Simulate a Thermocouple (Read 157 times) previous topic - next topic


I everyone,

I hope this is the right thread.

Basically I need to generate a really low voltage output (~3.8mv) and I don't have clue what It could be the right component for my needs.

It would be great if I could trim the voltage as well. Like 0mv to 5mv.

The input could be in any voltages, 5v, 12v, 24v, ....
I need to just make sure I can make something above first of all.


Connect to 10k potentiometer wiper a voltage divider 1000 to 1 ratio = 1000k /1k.


Thanks a lot for you quick reply,
Could you please be a bit more specific? Maybe with a picture example.
Thanks again.


If you are planning to simulate a thermocouple you need to understand CJC (Cold Junction Compensation). It's not as simple as looking at a thermocouple voltage and applying that voltage. This would go much better if you explained in detail exactly what you want to do? Again if simulating a thermocouple I suggest you read up on CJC. The below link is a start:




Classic x-y problem

Please tell us what you are attempting to do and what you're connecting this signal to. Anything less and you'll get a less than optimal, also known as wrong, solution. Details matter. Things like:

What type thermocouple?
What range? Full? Partial? What part?
How accurate must it be?

A simple resistive divider will only work in certain circumstances, any current drawn through the divider will change the output voltage. This can be fixed with a voltage follower opamp but if the parts are not appropriate, it can introduce enough error to completely invalidate the signal. Properly simulating thermocouples are not easy.
Vacuum tube guy in a solid state world


You may also want to Google "how to make millivolt source" and another popular term is "millivolt potentiometer circuit" for thermocouple simulation. Again get familiar with CJC if you plan to involve thermocouple circuits.



Mathematically, creating a 3.8 mv source is simple using resistors.  However at such a low voltage other things come to play.  It all depends on how accurate your goal is and how are you going to verify the result.

If you use a 5V source and a 100 ohm potentiometer (R2)

For an output of 4mV R1 must be 125k ohms.

The output of the potentiometer is approx. 0 to 4.1 mv

However at these low voltage levels picked up noise, connection material differences etc will add a lot of error to the voltage created.

As said above, your best bet is to tell us what your goal is.  If you are concerned we will criticize your plan if we know it is not soundly based, at least you will know.  And if it is viable we'll help you succeed.

Please do not PM me with thread based messages.  If your thoughts are worth responding,  the group should benefit from your insight.


Apr 11, 2021, 07:56 pm Last Edit: Apr 11, 2021, 08:29 pm by fabrystyle
Thank all the people have reply so prompt and sorry for my late reply.

I currently work for a coffee machine company and they asked me to create a test bench to make it easier to test all its components on other machines of the same model.

There is a boiler inside the coffee machine and it has a thermocouple which indicates the internal temperature of the boiler, ~ 90 ° C.
The CPU, (built by my company), reads these values. And if it doesn't get these values, I can't simulate the pressure of the coffee machine and so on.

Doing some measurements I found that the thermocouple, at this particular temperature above, produces 2.7 ° mV at the output (not 3.7 ° mV, sorry).

The best option would be to create something that helps me adjust the range from 0 to 5 mV as I want, so that I can test the various conditions of the motherboards if the temperature is too high or low.

Thanks in advance,
Hope the above can help you understand better.

I would like it to have accuracy of 0.1 mV (if possible), isn't it?


I think I would try the voltage divider idea and see how it works .
The only issue is maybe the high output resistance created would affect the accuracy of the reading - try it !


Thanks hammy,
A lot appreciate your reply.

I'm supposing there is not much load that It could influence the reading of the Coffee Machine CPU.

I mean, it would just read the value from the thermocouple, that's it!!!


If you are going to simulate it, you have to measure it to verify the simulation and 4.1mV is too low to accurately
measure with an arduino . The Adafruit ADS1115 is 16-bits , so the smallest value it can measure is 76.3uV, which
means it would report 53 counts for the value 4.1mV. Alternately , you could add a gain of 1000 multistage op
amp amplifier to read the 4.1mV as 4.1V. You can evaluate the difference in accuracy from the above.


This has 0.01mv resolution for the 100mv output version:


While there is no performance/accuracy data, it's probably better than something you would cobble together yourself, given your experience level and understanding of thermocouples.
Vacuum tube guy in a solid state world


You can't just measure across a thermocouple. I gave you a link explaining why. When you measured the thermocouple did you consider CJC? What is the TC type? Again I suggest you read what I suggested earlier. 


Go Up