Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
The following is from the Daqarta Help system:



Spectrum Analyzer

Signal Generator

(Absolutely FREE!)


Pitch Tracker


DaqMusiq Generator
(Free Music... Forever!)

Engine Simulator

LCR Meter

Remote Operation

DC Measurements

True RMS Voltmeter

Sound Level Meter

Frequency Counter
    Spectral Event

    MHz Frequencies

Data Logger

Waveform Averager


Post-Stimulus Time
Histogram (PSTH)

THD Meter

IMD Meter

Precision Phase Meter

Pulse Meter

Macro System

Multi-Trace Arrays

Trigger Controls


Spectral Peak Track

Spectrum Limit Testing

Direct-to-Disk Recording



Frequency response

Distortion measurement

Speech and music

Microphone calibration

Loudspeaker test

Auditory phenomena

Musical instrument tuning

Animal sound

Evoked potentials

Rotating machinery


Product test

Contact us about
your application!

Sound Card Thermocouple To Frequency


This circuit allows thermocouple temperature to be read directly by the Daqarta Frequency Counter using the Fcal option. Cold junction compensation is included and may be set for most thermocouple types by means of a single resistor.

Please note that unlike the Temperature To Frequency circuit, this circuit is not useful as a stand-alone temperature readout without Daqarta. The natural nonlinearity of thermocouples is compensated by Fcal Calibration Tables, which are provided for all standard types. In addition, the cold-junction calibration adds a large apparent temperature offset which must be compensated by Fcal High and Low settings.

Circuit Details:

This circuit has been designed to run from a single 9 V "transistor radio" battery.

The thermocouple output is amplified by the LT1013, with a gain of approximately 43. However, the negative side of the thermocouple is driven by the cold junction compensator. This is made from an LM335 precision temperature sensor whose output is divided down by R10 and Rx to obtain the proper compensation factor (microvolts per degree Celsius) for a given thermocouple type. The LT1013 thus amplifies the sum of the thermocouple voltage plus the compensation voltage, which is then converted to a proportional frequency by the LM331.

The LM335 output voltage is proportional to absolute temperature in degrees Kelvin, with a factor of 10 mV per degree above absolute zero. At the standard thermocouple reference temperature of 0 Celsius (273 Kelvin) this gives 2.73 V.

The function of the compensator is to produce a voltage that varies at the same rate the thermocouple output varies with temperature, over the range of temperatures likely to be encountered at the cold junction. For example, the output of a K-type thermocouple varies by about 40.3 microvolts per degree C, over the range from 0 to 40 C.

Since the LM335 output varies by 10 mV (10000 microvolts) per degree C, the divider made of R10 and Rx must divide it down to 40.3 microvolts per degree C. Note that for the moment we will ignore the absolute temperature and just set the rate of change. We will do this by assuming that the divider has a fixed 10000 microvolts (V10) at the input to R10, and must produce a fixed 40.3 microvolts (Vx) across Rx.

Rx = Vx * R10 / (V10 - Vx)

Rx = 40.3 * 200K / (10000 - 40.3)

Rx = 809.26 ohms.

You can use the nearest standard 5% value of 820 ohms for non-critical work. The schematic gives values for other thermocouple types.

Note: The schematic does not list an Rx value for B-type thermocouples. That thermocouple type is designed to have little change in its output near room temperature, and the slope of the output response actually changes direction at 21 C. No compensation is needed for most applications, and the simple LM335 circuit couldn't handle the sign change in any case. Just omit the LM335, R9, R10, and Rx, and connect the negative thermocouple lead to ground.

The LM335 actually produces a voltage proportional to absolute temperature, so at 0 C = 273 K its output will be 2730 mV and the true Vx value will be 2730 * (40.3 / 10000) = 11.00 mV. A K-type thermocouple with a 0 C cold junction puts out 11 mV at about 271 C, so there is a big offset (on the order of a half volt after the gain of the LT1013) that must be dealt with via Fcal calibration.

You can use other temperature sensors than the LM335; see the Temperature To Frequency circuit details. However, note that you may need to come up with different Rx values if your sensor output is other than 10 mV per degree Kelvin (or Celsius).

The voltage from the LT1013 gain stage is applied to an LM331 frequency to voltage converter that is essentially identical to that used in the Temperature To Frequency circuit. The only difference is that here R4 is shown composed of 15K for R4A plus 910 ohms for 94B. R4A is driven by a constant 1.90 V from pin 2 of the LM331, and the voltage divider formed by R4A and R4B gives about 1.90 * 910 / (15000 + 910) = 109 mV. This is used for calibration purposes.

In normal operation, the LM335 should be at the same temperature as the thermocouple connections to this circuit (the "cold junction"). You may want to move the LM335 off-board and mount it in thermal contact with a junction block or connector used for the thermocouple leads.

The above schematic plus complete 600 DPI board and parts placement layouts suitable for printing are included in the TC_ColdAll600.PNG file that is installed with Daqarta in the Documents - Daqarta - Circuits folder.

Be sure to read the Notes section of Daqarta Printed Circuits before you begin.

You can use the printed layouts directly to create your own circuit boards, with either the laser printer toner transfer method, or with the direct-draw method discussed under Printed Circuit Construction.

Alternatively, you can edit the TC_Cold.pcb file in the same folder to make custom modifications first. See the PCB Files discussion in Daqarta Printed Circuits for the required software to use this file, and for information on how to submit it to have boards made by a 3rd-party supplier.


Thermocouples themselves don't typically require calibration, but they do require large amounts of gain and, in this case, voltage-to-frequency conversion as well as cold-junction compensation. The steps below are thus for the purpose of calibrating the gain and V-F circuit, and don't involve measuring an actual High temperature.

Note that in principle you could calibrate with High and Low temperatures just as for the Temperature To Frequency circuit. The problem is that thermocouples are typically used for very high temperatures, many times higher than the paltry 100 C reference you could get from boiling water. Small errors in High and Low Set temperature measurements would be greatly magnified.

Instead, only Fcal Low Set and Raw are obtained from an actual temperature measurement, and in this case it is the LM335 cold junction temperature alone, without any thermocouple. Then a known reference voltage is applied instead, and the values to enter for Fcal High Set and Raw are computed from that.

You will need a good digital multi-meter (DMM) to read the compensation voltage and the reference voltage. It should be capable of resolving at least to 0.1 mV (199.9 mV full-scale), but 0.01 mV (199.99 full-scale) would be even better. Full-scale accuracy is important as well.

To calibrate, first load the proper thermocouple table as the Fcal Calibration Table. Press the Fcal Low button to change it to Reference. With the thermocouple disconnected, apply a short-circuit across the thermocouple terminals. Do not short to ground; the compensator portion of the circuit must remain actively driving the negative terminal, so that the overall circuit output will report only the compensator contribution.

Put an independent thermometer on the LM335, let it stabilize, and enter the temperature (in degrees Celsius) as the Fcal Low Set value. (You can use ambient temperature from a non-contact thermometer if the circuit has had a long time to stabilize.) Conclude the entry with CTRL+Enter to simultaneously capture the current frequency as the Low Raw value. In the formula below, the Low Raw frequency will be called Flo.

If you don't have a trusted reference thermometer, you can use the DMM to read the raw LM335 output directly. That's the middle pin of the LM335, but it's easier and safer to read it from the bottom of R9. It should be around 2.93 V at room temperature. Subtract 2.73 to convert Kelvin to Celsius, and multiply by 100 to get degrees C for Low Set. For example, 2.93 is 20 C.

Now read the compensation voltage at the shorted thermocouple terminals. It should be somewhere in the 1 to 16 mV range, depending on the ambient temperature and the value of Rx for your thermocouple type. Write down the measured value; call it Vlo.

Next, disconnect the short at the thermocouple terminals, and connect the positive terminal to V4B which is the junction of R4A and R4B. Make sure the Fcal On/Off button is off (up), and record the counter frequency in Hz; call it Fref. Measure the V4B voltage and record is as Vref. It should be around 109 mV, as noted in the Circuit Details section, but the value itself is not at all critical, as long as it is measured accurately.

We can then look up the thermocouple output voltage at the maximum temperature for that type, and interpolate to find the High Raw frequency it would have produced. You could open the proper thermocouple table in a text editor and read the last line to get the needed values, but they are provided here for convenience:

 Type   Deg C     mV
   B    1820   13.82028
   E    1000   76.37283
   J    1200   69.55318
   K    1372   54.88636
   N    1300   47.51277
   R    1768   21.10148
   S    1768   18.69251
   T     400   20.87197

Enter that maximum temperature plus Fcal Low Set (the cold junction temperature) as Fcal High Set. (The thermocouple output is the temperature difference between the hot and cold junctions. Since the table value assumes the cold junction is at 0 C, the true cold junction temperature must be added to get the actual hot junction temperature.)

Call the mV value for that temperature Vhi, and find the Fcal High Raw frequency Fhi from:

Fhi = Flo + Vhi * (Fref - Flo) / (Vref - Vlo)

A good 4 1/2 digit DMM (Fluke 8050A) has an error of +/-0.03% of the reading, +/-2 digits. In the worst-case scenario, with the DMM giving the lowest reading for Vref and the highest for Vlo (or vice-versa) the temperature error would be +/-1 degree C at the maximum temperature of a K-type thermocouple. The error would be proportionally lower at lower temperatures.

The cheapest (US $1.99 on sale) Harbor Freight 3 1/2 digit DMM (old CenTech 30756, newer CenTech 90899 similar) has an error of +/-0.5% +/-2 digits, which under the same conditions would result in an error of +/-16.5 degrees C at maximum K-type temperatures. But at 100 C the error is only +/-0.8 C, which is probably better than you can get with boiling water.

See also Fcal Circuits, Printed Circuit Construction, Fcal Dialog, Frequency Counter


Questions? Comments? Contact us!

We respond to ALL inquiries, typically within 24 hrs.
Over 35 Years of Innovative Instrumentation
© Copyright 2007 - 2023 by Interstellar Research
All rights reserved