cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743VIT6 gets very hot @480 MHz

OpusOne
Associate III

Hello all,

I'm evaluating the STM32H743VIT6 on a third-party development board. I tested it with the system clock configured at 480 MHz (double checked everything, and all looks absolutely fine in terms of configuration). I did enable the "overdrive" setting as is done in the LL example (PWR_VOS0_480MHZ).

Thing is, it gets very hot while running at 480 MHz (haven't measure exact temperature, but one can't leave a finger on it for more than a couple seconds, so I'd say close to 70°C).

Maybe that's fully normal and this chip in this package (LQFP-100) can't be run at 480 MHz. I'm not sure. I configured the clock for 400 MHz instead (and no overdrive), and the temperature drops a lot. It's a bit warm, but that's it. So fully normal.

Any tips to run it at 480 MHz, or is it a lost cause? Going for a larger package (LQFP-208?) for my application is not an option. Would a small heatsink be an option? Or is running this at 480 MHz just not recommended at all? Is the overdrive mode needed?

Thanks for any pointers! Yes, 400 MHz is already a decent frequency, but 480 MHz is a 20% increase, not negligible.

1 ACCEPTED SOLUTION

Accepted Solutions

Those temps seem totally reasonable.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

4 REPLIES 4
TDK
Super User

Maybe use the temperature sensor ADC channel to be more quantitative about it. Also, if possible, look at the current draw from the chip. Sometimes hardware failures can lead to a soft short within the chip but otherwise work okay.

Heatsink would help. Generally isn't necessary.

If you feel a post has answered your question, please click "Accept as Solution".
OpusOne
Associate III

Yes took the plunge and implemented ADC measurements (I'm strictly using LL without CubeMX and there aren't any example projects using the ADC with LL in the STM32CubeH7 repo..., so it was not fully trivial).

Anyway, I could get the temperature from the internal sensor and I log it in a loop.

At 400 MHz SysClk (VOS1), the internal temp reports ~ 43°C (for ~ 27°C ambient).

At 480 MHz (VOS1 + overdrive), it reports ~ 51°C. So that's a significant increase, but it's still not unreasonable. It does "feel" much hotter than 50°C when touching the top of the package though. Took a temperature meter and it reported ~ 50°C at the surface of the chip, which looks consistent with the internal measurement. So I guess we can't trust our fingers. 50°C already feels pretty hot to the touch.

The board has 2 flash chips on the bottom layer though, just below the MCU, so I guess that's not helping with heat dissipation, and that's something I certainly won't do when designing my own board. These chips are not in use during my tests, but they probably hinder air flow on the bottom of the PCB.

A small heatsink would lower the temperature by a few °C, not a huge gain unless we additionally use forced air flow with some kind of fan. Very likely way overkill unless maybe we're running the device in very hot ambient conditions.

Those temps seem totally reasonable.

If you feel a post has answered your question, please click "Accept as Solution".
OpusOne
Associate III

One silly thing I initially overlooked with temp sensor (VSENSE) readings on the H7 is that it's only available with ADC3 - and I had initially configured ADC1 and was getting garbage values. Of course. Obvious when you read the RM carefully, but just mentioning it if anyone gets puzzled. The internal channels are not available on all ADCs.

Other than that, yes those temps look reasonable for a M7 @ 400 MHz+, but I admit I was not expecting that much difference between 400 MHz and 480 MHz. It's probably all due to the "overdrive" setting. I haven't tried running it at 480 MHz without overdrive enabled, I'm willing to bet that it works, but it's probably out of spec then. So at your own risk.