Skip to main content
Associate
July 13, 2026
Question

STM32H753VIT6 FreeRTOS idle ~53°C at 480 MHz — is this normal?

  • July 13, 2026
  • 20 replies
  • 368 views

MCU: STM32H753VIT6

CPU clock: 480 MHz

OS: FreeRTOS

Question:

In idle (no application workload, just FreeRTOS idle), the MCU package temperature is about 53°C.

I measured this with a thermal camera.

Is this temperature range expected/normal for STM32H753 at 480 MHz in idle?

Or should I expect a significantly lower temperature?

Additional notes:

- No heavy application tasks running (idle-dominant)

- Measurement method: thermal camera (not estimated)

Any reference values or known typical idle temperatures for H753 at 480 MHz would be appreciated.

Thanks.

20 replies

LCE
Principal II
July 13, 2026

So what are the IOs doing?

Any (clock) outputs with load?

And what does the OS actually to in idle mode, does it put the CPU to sleep?

seonhoAuthor
Associate
July 13, 2026

Thanks — answers below.

1) IOs

Custom board (not Nucleo). Still active in this “idle”:

- USB FS CDC

- 5x SAI to external TLV320 ADCs (SAI1 = TDM master)

- SPI/GPIO for 3x AD9837 DDS

- ADC enable/shutdown GPIOs

So not bare unused-IO idle.

2) Clock outputs / load

Yes:

- SAI1 TDM bit/master clock to ADC chain

- PLL2 clocks SAI/ADC

- DDS keep RF carriers on (~25–31 kHz)

No intentional loaded MCO.

3) FreeRTOS idle / sleep

Yes:

- configUSE_IDLE_HOOK = 1

- Idle hook: __WFI()

- Sleep mode only (SLEEPDEEP = 0), not Stop/Standby

- HCLK + SysTick stay on; next IRQ wakes CPU

Summary: CPU can sleep in idle, but peripherals/clocks still burn power.

Condition: 480 MHz, FreeRTOS idle-dominant, package ~53°C by thermal camera.

Andrew Neil
Super User
July 13, 2026

- HCLK + SysTick stay on; next IRQ wakes CPU

So the CPU will be waking on every SysTick - every 1 ms ?

Have you looked at the current consumption using something like STLINK-V3PWR or X-NUCLEO-LPM01A to see the actual current consumption?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
LCE
Principal II
July 13, 2026

All these peripherals “running” in the background via DMA or interrupts?

If yes, then at 480 MHz the temperature doesn’t seem too unrealistic. (I do not know this H7, and have no experience with FreeRTOS)

 

Anything else on the PCB that might heat things up? What I mean is, check if anything else in the vicinity of the STM32 causes a higher ambient / PCB temperature-

seonhoAuthor
Associate
July 13, 2026

Thanks.

In normal operation, yes — SAI uses DMA, and FreeRTOS tasks handle the ADC/DSP work from those completions. Under that load the MCU is about ~60°C.

The ~53°C figure is the opposite case: ADC SAI DMA off, DSP/demod off, no other app load, FreeRTOS idle ~99%, CPU still at 480 MHz.

On the PCB there are other parts that could add heat, and coil-related hardware is mostly not connected right now.
In both cases only the power section and the MCU package are hot; nearby parts are not.

mƎALLEm
ST Technical Moderator
July 13, 2026

Hello ​@seonho and welcome to the ST community,

At which temperature room value you are measuring that MCU temperature?

Try to run a simple program (forget about RTOS for now): toggle a GPIO pin, do you have the same measured temperature? Otherwise I can suspect a hardware issue. 

What voltage scale you set for 480MHz? VOS0? if no you should set VOS = VOS0

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
seonhoAuthor
Associate
July 13, 2026

Hello, thank you.

The room temperature during the measurement was approximately 24°C.

The MCU temperature was checked using two methods, and the results were almost identical:
- Thermal camera measurement of the package
- ADC3 internal temperature sensor

During full application operation: approximately 60°C.
With everything stopped (DMA/DSP off, FreeRTOS idle ≈ 99%, CPU at 480 MHz): approximately 53°C.

On the PCB, only the power supply section and the MCU become hot.

The voltage scale is VOS0.
The configuration is PWR_LDO_SUPPLY with SYSCLK at 480 MHz.

Ozone
Principal
July 13, 2026

In idle (no application workload, just FreeRTOS idle),  …

Microcontrollers usually have no dynamic frequency scaling capability, and unless you utilize sleep or power-down modes, you always get “100 % CPU load”.
What part of this CPU load constitutes useful application workload is a different matter.

LCE
Principal II
July 13, 2026

Yes, that’s what I forgot to mention.

Unless the CPU is sleeping, it’s running through the main loop no matter if necessary or not.

unsigned_char_array
Lead III
July 13, 2026

Can you use SMPS mode? This lowers power consumption as it uses a buck converter instead of an LDO to produce core voltage. It requires an external inductor. Unfortunately SMPS mode is only supported up to 400MHz. But if that is acceptable for you it might be worth it.

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
mƎALLEm
ST Technical Moderator
July 13, 2026

@unsigned_char_array 

Can you use SMPS mode? 

That’s not possible as STM32H753 doesn’t feature SMPS. Only STM32H7 dual core MCUs have SMPS.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
unsigned_char_array
Lead III
July 13, 2026

That's unfortunate. 

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
unsigned_char_array
Lead III
July 13, 2026

Are you running at 3.3v or 3.0v? 

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
seonhoAuthor
Associate
July 14, 2026

We're running at 3.3 V (VDD/VDDA), not 3.0 V.

Pavel A.
July 13, 2026

If the MCU is idle for significant % of the time - consider running slower (say, 400 or 250 MHz instead of 480). This will help with temperature, unless something else on the board generates more heat than the MCU.

Ozone
Principal
July 14, 2026

Which puts the entire MCU choice in question.
Probably a smaller (and cheaper) MCU like a F4 could easily manage as well.

Occasionally other considerations like platform compatibility take precedence, though.

LCE
Principal II
July 16, 2026

FYI:

I’m just working with a G4, don’t have the final hardware yet, so I grabbed a Nucleo - and did not mind adapting the GPIOs to the Nucleo…

Nothing broken, but with the “wrong” GPIOs I measured a CPU temperature of about 48°C (internal sensor).

Turning the GPIOs off brought the temperature down to 35°C, which is about 5°C above my current office temperature (sigh...).

Changing the CPU clock between ~ 100 MHz and 150 MHz didn’t change much (using non-deep sleep mode, but with SysTick interrupt waking it up every 1 ms - which I found let’s the CPU sleep > 80% of the time anyway).

Not using sleep mode (simple __WFI with exit on interrupt, no deep sleep, nothing else changed) brings the temperature to about 39°C.

(ADC and both SAI blocks (fs 96 kHz) with DMA running all the time).

AScha.3
Super User
July 16, 2026

Hi,

53° seems ok, at 480M .   See ds for current :

200mA at 3v3 giving about 0.7W heat...assuming about 50°/W , for lqfp100 case on pcb,  you get +33°, so at 24° ambient : 57° to expect, at max current.

 

btw

Thats why i run my H743 at 200M , VOS2, giving about 60mA heat;  in lqfp144 case, about +5° rise above ambient.

 

If you feel a post has answered your question, please click on " Best Answer ".
mƎALLEm
ST Technical Moderator
September 1, 2026

Hello ​@seonho ,

Did you you find the issue? if yes could you please share the soluition?

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.