Skip to main content
Graduate II
January 8, 2026
Question

STM32F733 Internal Temperature Sensor: Large deviation (>10°C) vs. Ambient Temp

  • January 8, 2026
  • 3 replies
  • 101 views

Hi everyone,

I am currently trying to measure the CPU temperature using the internal temperature sensor of an STM32F733.

I am testing the device inside a climate chamber (oven) to verify the readings. I am fully aware that the datasheet states the sensor is more suitable for detecting temperature variations rather than absolute measurements. However, the values I am getting seem to have a significantly larger offset/gain error than expected.

The Setup:

  • MCU: STM32F733

  • Method: To rule out self-heating of the die, the device is kept powered OFF inside the oven until the target ambient temperature is reached and stabilized. I then power it on and immediately take the ADC measurement.

  • Vref+: Connected to external reference voltage (2.048V).

The Observations:

  • Oven at 60°C -> MCU calculates 68°C

  • Oven at 80°C -> MCU calculates >90°C

My Question:

Is an error of this magnitude (>10°C at higher temperatures) considered "normal" for the internal sensor of the F7 series, even when using the factory calibration values stored in the system memory?

Or am I likely missing a configuration step?

  • I am using the factory calibration values (TS_CAL1 @ 30°C and TS_CAL2 @ 110°C) for the calculation.

  • The ADC sampling time is set to comply with the minimum sampling time required for the internal temp sensor ($10 \mu s$ according to datasheet).

Any hints or experiences with the F7 internal sensor accuracy would be appreciated!

Thanks in advance.

    This topic has been closed for replies.

    3 replies

    Graduate
    January 8, 2026

    This is junction temperature, not ambient - actual temp depend on acivity

     

    Graduate II
    January 8, 2026

    As said above, it is quite normal that the MCU "heats up" internally as soon as it starts running.

    To verify that, you could play with:

    - reducing system & peripheral clock frequencies

    - sleep modes

    Super User
    January 8, 2026

    I presume you've verified independently that the external VREF source is rock stable and precise even at the elevated temepratures.

    > I am using the factory calibration values (TS_CAL1 @ 30°C and TS_CAL2 @ 110°C) for the calculation.

    Show numbers, i.e. the two calibration values, your ADC readings at various temperatures. Try to measure a known voltage source (perhaps internal VREFINT), too. 

    > I then power it on and immediately take the ADC measurement.

    Maybe instead of this strategy, try to run the mcu and the measurements continuously with the smallest possible power consumption - at low frequencies, all peripherals off except the vitals (ADC, maybe one timer, maybe one UART to transmit measurements, or whatever is your method), sleep between taking measurements, etc.

    JW