Using a LM335 for temperature sensing

Hi all,

I am trying to undertake a small Temp logging project.

I have availiable a LM335

You will have to forgiveme if this question sounds dumb, but my electronics knowledge is limited to making my arduiono blink :o

If one looks at the datasheet at the basic temperature sensor the circuit has a resistor R1. What value should I use for that resistor.


If you want to try the typical application (first example - basic temperature sensor), you must use a 2k ohms, if the +Vcc is 5volts. The commercial value will be 2.2kohms. If you want to be more accurate, you can use two 1kohm resistors in series. If the +Vcc is different, use this: Resistor=(Vcc-3)/1000

If Vcc=5volts, resistor=2k If Vcc=9volts, resistor=6k (use 10k in parallel with 15k)

Thankyou. Do you mind if I ask how tyou deduced this from the datasheet so I don't aske the same question again? I suspect this is an electronics 101 question - sorry

I considered it works near 3 volts/1mA. If you have Vcc=5 volts, the Vr=2volts (Resistor voltage). If you need I=1mA: R=Vr/I

hello 4rnds I m really in a problem, pl reply I calibrated lm 335 according to d basic temp. sensing. How we can measure d temp using mercury thermometer considering lm335 basic temp sensing technq? pl help, new to dis brilliancy, regards!

hello sir, I juz want to know is it possible to know temperature through mercury thermometer directly with respect to lm335? I connected all d pins accurately, I supplied 5Volt to 2.2kohm den grnded it, I gt 24.85 temp after calculating manually, as temp(in degree c)= Vout multiply 100 - 273.15. operating output voltage is 2.98v calibrated at 25 degree c. I m new to dis field n I want to know whether we can check tepm via mercury thermo. regarding lm335? ny further applications wid potentiometer? pl rectify if I m wrong. REGARDS

thnks 4 replying sir, pl tel cn we check temperature through mercury thermometer after calibrating lm335? I got a misconception 4rm my frnds dat at a particular pin we cn measure lilbit of temp 4rm der via thermomtr.

I calibrated lm 335 n got 24.85 degree c, nt wid merc. thermom.


I am a beginner in lm335 tasks, I used some basis techniques to calibrate temperature and thus I got 25 degree c, can you provide me some more applications so that I furnish my skills in lm335?


sir can you explain what does this basic temperature sensor do?

what is simple temperature controller, how it controls the temperature.


Since am new to electronics, i would like to ask a question to see if i have cleared it all in my mind…

-I have a Vcc.
-I need to drive the output of the Temp Sensor to an analog input (ADC converter). The ADC can convert up to Vx Volts (Vx<Vcc).
(Example: Vcc=3.3V and Vx=1.2V Zigbee)

1.Whats the circuit i need to “divide” the output Voltage of the LM335?
2.Whats the theory behind all that in simple words?

3.When do i need to calibrate the Sensor? (i.e. Just bought one…does it need calibration?)

Thank you in advance!

Thank you for your answer and your time…

I’ll “refrase”…

  • I am talking about the LM335 (as this thread speaks of it).

  • I was talking in genaral so i could get the picture (sry if that was confusing)

what is the maximum temperature you anticipate measuring?

Lets say 343Kelvin (70 Celcius). But leave this as Temp_X in the equations.

So if i have understand it correctly it is like that:

Output (to ADC_IN)
** |**
** |**
** LM335 Out**
** |**
** GND**

-Where as the R1 for bias.
-R2 & R3 for the voltage divider. ADC_IN = (R3/(R2+R3))*LM335_Out
-In whatever Circuit am gonna use the LM335 it will always drain 1mA? Is this correct?

I can convert max Vx. (i.e. Zigbee’s ADC can convert max Vx=1,2V. 10bit resolution mean: Vx=1,2V ADC_Out=1023 and Vx=0V ADC_Out=0)

I have Vcc>Vx (i.e. Vcc=3,3).

So using for example (R1=100, R2=200k, R3=100k) is it a 1/3 divider of the LM335 output?

Whats the general Math behind all this.
How can i compute the R’s?
And how can i cumpute the digital temp i get of the ADC back to Kelvin?

Thank you in advance!

check dis bro......

Not sure if anyone is still active on this topic, but for those interested I just used an LM335 to produce a simple little calibrated thermometer. Here's a video

Hi - just for information:...

I just got a LM335 temperature sensor, and after reading multiple forums and guides about it, I have got the following formula to work...

(((referencevoltage * analogreading) / 1024) / 10) - 273.15

recerencevoltage: analog reference voltage in mV (shoud be ~5000 for a 5v Arduino) analogreading: Value from analogread(pin) 1024: Arduino measues analogread in 1024th's of the referece voltage - multiplying the input by the reference voltage (in mV) and dividing by the input resolution (1024) will give the input value in mV 10: input is 1mV/0.1°C; divide by 10 to give 10mV/1°C + decimals -273.15: mesurement is in Kelvin. -273.15 to give celcius

So, for example...

(((5000 * 600) / 1024) / 10) - 273.15 = 19.87°C

Hope this helps someone!


Pilot, gOOd job I like your work, I need your help cn you elaborate the lm335 job, I want to calibrate it, but not having Arduino, I'm a beginner here. And want guidance, what you do? Please heLP, I tried it in a simple bread board!

used components are, 2.2k resister, lm335, 10k potentiometer. Now how I cn calibrate it?

I am planning on building about ten sensors, using the LM335. Sensors will be connected to Arduino boards, using RF to collect the data on a central server. My question is about calibration. I understand how to do this with the 10K variable resistor. But I am wondering if I could do the same in software? So just collect the raw uncalibrated data, and apply a correction for each individual sensor? This would make the sensor HW smaller and easier to package. I understand I would need to determine the correction factor on each sensor, but that would be a one-time effort. Ideas, anyone?

I think you're missing my point. I agree that this thing needs calibration, unless you're after the level of accuracy of "it´s cold out there". I plan to determine the offset for each and every sensor, and store that in a table. This way I can calibrate the data, instead of the hardware. Main requirement is that the offset is linear across the range, and I suspect that it is...

Ah, OK.... What I am trying to accomplish is to add a bunch of temperature sensors to my Arduino boards that I already have running in my house. Temp readings could be simple indoor/outdoor temperatures, but also the temp in my deepfreezer or the water in the heater. I don't need accuracy better than 0.5 degree, even 1 degree would be good enough I think. What puzzles me is what you say about 2 degree inaccuracy. From the datasheet I see that this can be corrected with a 10K var-resistor. It is cheap enough, but I would like to get rid of the extra component. Just the LM335 plus two 1K resistors sounds much better. So my questions is basically: is the inaccuracy of this device linear? I don't want to go into complicated non-linear corrections. But if it IS linear, than I can easely adapt my PHP script to apply a unique correction for each sensor.

Edit: just came to mind, I have not mentioned that I convert the readings into degrees Celsius, does this put the 2 degree inaccuracy in a new light?

Who are you calling a "young kid".... just to give you a hint about age: I started my career in ICT using Algol and Fortran, and RPG for admin type programs. But I really started enjoying myself when I moved to Assembler!