This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TLA2024: TLA2024 and NTC thermistor are connected

Part Number: TLA2024

Tool/software: Linux

TLA2024 AIN1 is connected to the NTC thermistor, we are using the TLA2024 12 bits value from Conversion Data Register .


I used below formula for converting the temperature in degree Celsius but i am not getting the exact temperature.

1/T = 1/T0 + 1/B * ln( ( adcMax / adcVal ) – 1 )

here T0 is the 25°C value in kelvin

B value is 3455 of the 10K ohms.

adcMax  4095 and  adcVal is 12bit Conversion Register data.


can you please check, am i using correct formula?


if it is not correct please suggest to me, which formula I need to use here?

  • Ujjapralli,

    I'm going to need more information on how you have this set up. The ADC is set up to measure a voltage, and not a resistance directly. I need to see the schematic of how you have the thermistor configured, and how you drive it with either a voltage or current. Be detailed in your explanation.

    Joseph Wu

  • Thanks for the replay Joseph.

    Hello Joseph, 

    please find the below schematic and I am using the below formula now.

    1. Vadc = (Vref/4095)*(data)

    Vref = 3 V

    data = 12bits ADC conversion data register value.

    2. Rt = (Vadc *  R1) / (Vin - Vadc)

    Vin = 3.3 V

    R1 = 10K ohm

    3. T = 1 / (A + B*ln(Rt) + C * (ln(Rt))^3)

    A = 0.00112924

    B = 0.000234108

    C = 0.000000088

    4. Tc = T -273.15   (degree Celsius output)

    but still I am not getting the expected output so can you please check

    am I using the correct formula and I have doubt in Vref value?? 

    if it is wrong please suggested to me correct formula??????

  • Thanks for the replay Joseph.

    Hello Joseph, 

    please find the below schematic and I am using the below formula now.

    1. Vadc = (Vref/4095)*(data)

    Vref = 3 V

    data = 12bits ADC conversion data register value.

    2. Rt = (Vadc *  R1) / (Vin - Vadc)

    Vin = 3.3 V

    R1 = 10K ohm

    3. T = 1 / (A + B*ln(Rt) + C * (ln(Rt))^3)

    A = 0.00112924

    B = 0.000234108

    C = 0.000000088

    4. Tc = T -273.15   (degree Celsius output)

    but still I am not getting the expected output so can you please check

    am I using the correct formula and I have doubt in Vref value?? 

    if it is wrong please suggested to me correct formula??????

  • Ujjapralli,


    I'm sorry I haven't responded, but I've been out of the office. I'm still out of the office, so my responses may be limited.

    First, I would skip using equation using the conversion of the temperature. At this point, you want to make sure that your ADC is properly converting the measurement voltage to the proper ADC output code.

    Next, first equation converting the ADC code is wrong. There is no setting for this device that would have the reference set to 3V. Read through the datasheet and find the section called Data Format on page 16. This device uses an internal reference, and has a PGA setting so that you can have several input ranges.

    Regardless, use a multimeter to measure the input voltage that the ADC is measuring. Then take a measurement with the ADC to get the output code. Then confirm that the output code matches the expected value based on the full-scale range (FSR).

    Once you get this step done, post back with results. Then we can discuss the resistance measurement and then the temperature measurement.


    Joseph Wu

  • Ujjapralli,

    I haven't heard from you for a while and I thought I'd check to see if you've made any progress on getting good data out of the ADC. I'd see a few things in your post that required some attention. Most of the problems involved some sort of conversion error.

    I'll close this post for now, but if you continue to have problems, post back and we can continue to work on this.

    Joseph Wu