A thermocouple amplifier outputs a voltage range of 1.2V to 8.8V for the temperature range -260C till 1380C when using a K-type thermocouple.

The formula used to determinte the measured temperature is Ttc = ((Vout - 2.05) * 0.005)°C

enter image description here

I am thinking of using two 1K ohm to divide the output voltage by 2 so as to fit within Arduino's max input voltage of 5V.]

enter image description here

Question: For maximum accuracy when determining the temperature, is 1K ohm resistors suitable, or should we increase/decrease their resistance?

Link to product

  • \$\begingroup\$ What is the output impedance of the amplifier? \$\endgroup\$ Nov 8, 2013 at 22:24
  • \$\begingroup\$ I'm not able to find the output impedance from the datasheet, updated original post with link to product. \$\endgroup\$
    – Nyxynyx
    Nov 8, 2013 at 22:27
  • \$\begingroup\$ 8.8V / 2 kOhms = 4.4 mA. Can your amplifier handle a 4.4 mA load? On the other end what maximum source impedance does the arduino need analog inputs to be driven with? It will be 500 Ohms with your proposed setup. \$\endgroup\$ Nov 8, 2013 at 22:45
  • \$\begingroup\$ Page 10 of the amplifier used in the circuit shows the figure: "Output Voltage Swing vs. Load Resistance" and "Output Voltage Swing vs. Output Current" which shows that, for output resistances below 3k Ohms or currents above 1mA the output swing will start to reduce, and this will translate to a direct error to your measurement. \$\endgroup\$
    – deadude
    Nov 9, 2013 at 0:05

1 Answer 1


Using resistive dividers in sampling systems in this configuration (involving a clocked ADC) are not advisable. The resistors will be producing white noise at your input. The problem is, when your system samples this noise voltage, the noise power in the whole frequency spectrum will appear in your base band, and degrade your measurement. The solution to this is to add a low pass RC network (a parallel capacitor to R2), which will filter the high frequency components, limiting the noise (and the signal) frequencies to your desired band of operation. The time constant of this RC network should be dictated by the frequency of the input signal.

Also, since you're going to be scaling your input signal with R2/(R2+R1), the matching of these resistor values are somewhat important as well. Otherwise, you're going to be making a linear error, which you can later correct digitally. There are other problems as well (nonlinear resistance changes with current or temperature), however, considering you're going to be using the Arduino ADC which should be in the range of 10-12 bits, I doubt this will pose a noticeable inaccuracy in your case.

  • \$\begingroup\$ The noise will be less of a problem if you average or decimate though. \$\endgroup\$ Nov 9, 2013 at 0:22
  • \$\begingroup\$ You will lose resolution if you decimate. You won't if you average but averaging in the digital domain, is basically the equivalent to low pass filtering in the analog domain anyway. \$\endgroup\$
    – deadude
    Nov 9, 2013 at 0:25
  • \$\begingroup\$ Decimation can be used to increase resolution, at the cost of time. But temperature is one of those things that doesn't usually change all that quickly. \$\endgroup\$ Nov 9, 2013 at 0:26
  • \$\begingroup\$ Decimation can be used to increase resolution if only there is a possibility of oversampling the signal (i.e. doubling the sample rate.) The Arduino ADC most probably has a fixed maximum sample rate, at which white noise and quantization density at a frequency bin will be at the minimum, which I assumed was going to be used in this case. My comment on losing resolution with decimation was in the amplitude domain, which I thought you were offering to chop off the noisy least significant bits. \$\endgroup\$
    – deadude
    Nov 9, 2013 at 0:34

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.