What is this temperature sensor module? (LM358, 103)

I got this sensor some time ago because I wanted to play with measuring the temperature. I don't remember how I got it or if it has a name.

I've Googled around, and obviously is has the following

1. LM358 op amp
2. "103" thermistor

When googling for help I mostly find stuff about how to use the LM358 which is way above my skill level.

What is this and how do use it? :) • Hard to tell without a schematic. I assume the LM358 is being used as a unity-gain non-inverting buffer. The "103" means "10KΩ" (1, 0, 3x0). Without knowing what the thermistor's exact parameters are you can't make accurate measurements with it.
– Majenko
Feb 5 '16 at 17:08

"103" is standard resistor (and other component) numbering - the first two digits specify a value and the third is a power-of-ten multiplier:

1 0 3 = 10 * 10^3 = 10K

4 7 2 = 47 * 10^2 = 4.7K

For devices that are typically measured in thousandths, millionths or smaller (like a capacitor) then the third digit is a minus power-of-ten:

1 0 6 = 10 * 10^-6 = 1u

That black disc labelled '103' is a thermistor - a temperature-controlled resistor. It is most likely NTC, or negative-temperature coeffiecient, thus the resistance decreases as the temperature increases. This is contrary to typical physics where an increase in the temperature of a generic conductive material results in an increase in its electrical resistance.

The LM358 is included to buffer the thermistor from the Arduino/microcontroller. In simple terms, this means that the effective resistance of the analogue input pin does not have to be taken into consideration when converting the voltage measured to into a value for the temperature.

Without a better picture of both sides of the board, or better yet a circuit diagram, it is not possible to determine what the voltage on pin S will be for a given temperature. However, it seems that the thermistor is in series with another 10K resistor (R3, marked '103' of course) such that an increase in temperature results in an increase in voltage. At roughly 20 degrees Celsius (it depends on the manufacturer and their specifications) the resistance of the thermistor will be 10K, thus the voltage at S will be Vcc/2. Calculating the voltage for different temperatures requires you to know the temperature coefficient, which can be found from the datasheet or by measuring the resistance at various known temperatures and plugging those values into an equation.

• I am working on it, and I will return later and (I expect) approve your answer :) Feb 5 '16 at 19:34
• You are totally wrong about “For devices that are typically measured in thousandths, millionths or smaller (like a capacitor) then the third digit is a minus power-of-ten”. Cap numbers are in picofarads, ie in multiples of 10^-12 Farads. A 106 cap is 10·10^6 pF, or 10 million pF, or 10 μF. See elecraft.com/Apps/caps.htm. Inductor text gives microhenries. Eg, a 102 inductor is 1000 μH, or 1 mH. See eg how-to.wikia.com Feb 5 '16 at 19:56
• @jwpat7 what was I thinking?? Thanks, Brain. I'll edit when I can, thank you. Feb 5 '16 at 20:19

Connect VCC to +5V, GND to GND, then S to A0.

Do an analogRead() of A0 and then convert that to temperature using the Steinhart-Hart equation, inserting the three values A B and C which you don't know because you have no documentation for the thermistor.

• Back-calculating the B-parameter is achievable with an ohmeter and a bowl of ice water. That should be more than enough to give a reasonable accuracy; sometimes manufacturers only state the Beta, rather than the A-B-C values. Feb 5 '16 at 17:19