cancel
Showing results for 
Search instead for 
Did you mean: 

My STM32 device is overheating and has malfunctioned

Wadeva
Associate II

Hello,

We’ve designed a device that uses an STM32 microcontroller to manage various features such as I2C, UART, ADC, IWDG, DMA, Flash memory handling etc. After running smoothly for a month, the device began malfunctioning, drawing 220 mA of current and heating up noticeably. I’m trying to determine the root cause of this issue. Could you provide insights into the possible reasons for this behavior?

Thank you.

23 REPLIES 23
AScha.3
Chief II

Hi,

in such "cases" , i just power the board and watch it with an IR cam ->

you see, where the power goes -- or only cpu gets hot, then you damaged it (if your program was working before, without heating, otherwise try the simple test setup with all pins unused or inputs.)

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

We have an output that is internally pulled down and configured in push-pull mode. I’ve read that setting the GPIO output speed too high could potentially lead some issues mentioned below:


"The output speed register only affects pins which are configured as outputs. It controls the slew rate (drive strength) used for the output. Using an excessively high speed may cause ringing and EMI on outputs, so it is important to use the minimum speed required for your application"

Could this be related to the issue I’m experiencing?

Wadeva_0-1727170956771.png

 

Your problem is a short on (1 or more) pins - or a killed cpu. (Overvoltage...or ESD can kill it easy...)

not (too) high speed on any pin.

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

I reviewed the datasheet and discovered in (Table 11. Pin assignment and description) that using PC13/14/15 has output limitations in certain cases. However, in my design, PC13 is configured as open-drain output with external pull-up resistor.

Could this be the cause of the malfunction?



Wadeva_0-1727179951285.png

Wadeva_2-1727180120405.png

Wadeva_1-1727180040965.png

 


@Wadeva wrote:

PC13/14/15 has output limitations in certain cases. However, in my design, PC13 is configured as open-drain output with external pull-up resistor.

Could this be the cause of the malfunction?


Unlikely.

The limitation there is just about sourcing current, not sinking - see:

https://community.st.com/t5/stm32-mcus-products/stm32f030-pc13-14-15-current-sink-limits/m-p/721081/highlight/true#M261048 

Open-drain can only ever sink current.

Since it is a custom-made device, chances are high that there is a manufacturing error. Please check the PCB for errors. Maybe there is an accidental short circuit or broken traces. 

 

https://www.youtube.com/watch?v=OxlqhZVOdNI

https://www.pcbway.com/blog/2/Modern_PCB_testing_strategies.html

 


@liaifat85 wrote:

Since it is a custom-made device, chances are high that there is a manufacturing error.


Since it is (or seems to be?)  a new design, chances are also quite high that there is a design error.

There could, of course, be both!

Hello @Wadeva ,

Start by reviewing the schematics and refer to the reference design described in the AN5096 "Getting started with STM32G0 Series hardware development"

Check if there is a short-circuit between the pins.

If you run a very basic application, let's say by toggling a LED, do you face the same behavior?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Wadeva
Associate II

Hello everyone, after reviewing our design, I discovered an unprotected pin that is connected to the chassis ground of the device. I’ll need to check if there are any other similar pins. It must be the problem.

 

Now, my challenge is different. Since the design is already completed and the PCBs have been manufactured, it’s unlikely that we can make changes to the layout at this stage. Is there a way I can protect this unprotected pin to safeguard the MCU from ESD without redesigning the PCB? Alternatively, is there a way to reduce the risk of the device being damaged?