I’ve been doing a bunch of measurements on oven-controlled oscillators lately, including their temperature. There are multiple ways to measure temperature electronically, but the most popular one is to use a thermocouple.

In this blog post, I’ll write a little bit about thermocouples, and I’ll review the $17 GM1213 thermometer and have a quick look inside.

What is a thermocouple

Simplified to its most basic form, a thermocouple is a device that converts the temperature difference between the end points of a wire into a voltage.

Thermocouples are based on the Seebeck effect: when 2 different electrically conductive materials are made in contact with each other on one side (the ‘hot side’), then a voltage will be generated at the other side (the ‘cold side’). This voltage is proportional to the difference in temperature between the hot side and the cold side.

You can buy thermocouples in all kinds of forms on Amazon. The simplest ones look like this:

bag with thermocouples

They are exactly as described: 2 wires, a blob of solder on one side (see further below), and 2 contacts on the other.

mini K-type connector internals

There are 8 standard combinations, or types, of thermocouple materials that are specified by a letter: B-type, E-type, J-type, K-type, N-type, R-type, S-type and J-type. Each type has a different temperature range, generates different voltages, and has different material properties wrt oxidation etc. By far the most common thermocouple type is the K-type, which uses the alumel and chromel alloys as the 2 materials.

The voltages generated by thermocouples are pretty small. K-type thermocouples generate a voltage of -6.4mV at -270C and 54.9mV at 1260C, or 41uV/C. That last number is the Seebeck coefficient. The temperature difference between, say, room temperature and a pot of boiling water, will manifest itself as a voltage difference of just 3mV.

The Seebeck coefficient for some other thermocouple types is even smaller. The coefficient itself can also be temperature dependent, though it’s pretty constant for a K-type.

To use a thermocouple, you need a voltmeter with a precision in the micro Volt range, and a formula or table lookup to correct for the coefficient not being constant.

And since a thermocouple can only measure a temperature difference, you also need another way to measure the temperature at the cold side, usually inside the measurement instrument, to calculate the absolute temperature.

The GM1213 Thermometer

My BM235 multimeter already has support for a thermocouple, but it uses a non-standard connector and you can only measure one temperature at a time. I wanted to something that could at least measure two temperatures, but for an acceptable price. AliExpress to the rescue, where I bought a GM1312 for $17 including shipping.


In addition to the device itself, the package has with 2 thermocouples with a mini K-type plug and a one page manual that is not really needed.

The GM1312 has the following feature set:

  • concurrent measurement of 2 thermocouples with mini plug
  • supports for J,K,E,N, and R type thermocouples

    If you plug in two thermocouples, they must be of the same type.

  • displays current, min, max or average temperature
  • display temperature T1 and T1 or T1-T2 and T2
  • powered by 3 AAA batteries

Unfortunately, there is no USB or serial port that can be used for data logging.

A few tests

I did a few tests to see if everything was working as expected.

When plugging in the two thermocouples that came with the device, you’d expect them to read out the same value. That said, K-type thermocouples only have an accuracy of around +-2C%. The difference of 0.2C is totally fine:

Two default thermocouples

I also bought a bag of 5 K-type thermocouples. They should measure the same temperature as the ones that came with the device:

Two different thermocouples

Note that it can take quite a while for the last digit of the measured temperature to settle: thermocouples will react pretty much instanteously to a changing temperature, but that doesn’t mean that temperature itself will change right away.

In this case, there are 2 main factors that impact the settling time:

  • the thermocouples are floating in the air, which isn’t as efficient at heat transfer.
  • the welded point of thermocouples have a significantly different size, and thus thermal mass.

Two different thermocouples, zoomed in on the welded point

The joint of the ones that I bought separately is much smaller than the one that comes with the GM1312, and consequently, it reacts much faster to a changing temperature. The issue is less pronounced when you’re putting the joints in water, which is much better at transferring heat.

To verify the accuracy, I compared the GM1312 against the BM235. The result is within the expected margin of error:

GM1312 and BM235

In short: the GM1312 does it was it’s supposed to do.


Not that I expected anything earth schocking, but it’s impossible to resist the urge to have a look inside.

First the LCD. When you power up the device, all the display features light up. That doesn’t mean all these features are support though… far from it.

LCD showing all the display items

The front of the PCB has just the 6 buttons and the LCD module:

Front of PCB showing just buttons

The back of the PCB is only a bit more interesting:

Back of PCB

The main component uses chip-on-board technology to reduce cost of packaging and assembly.

On the right is a 24C02 I2C EEPROM with a capacity of 2K (256x8) bits that probably contains the firmware of some lightweight 8-bit microcontroller on the main die.

3 wires, ground and 2 voltage sense wires go from the mini K-type connectors to the PCB.

R13 is a bit more interesting. Let’s zoom in on that:

R13 temperature sensor

This is a thermistor that is used to measure the absolute temperature. It’s not a coincidence that it’s placed close the location of the thermocouple wires.

I didn’t verify the details of the thermistor, the resistance and whether or not it’s one with a positive (PTC) or negative (NTC) temperature coefficient. You can find similarly looking componets on Digikey, like this one:

PTC thermistor


The GM1312 is boring, cheap, and functional. It’s exactly what I wanted and expected.