Strange issue with STM32F070  - Page 1
Forum section: electronics / general

author: ubbut
author_rank: Regular Contributor
timestamp: April 19, 2023, 06:50:11 pm
content: Hi, I have multiple STM32F070 fail and hope someone can shed some light on this.We have a proven design and are ow building a new batch. The STM32F070 start working just fine after powering them. We can connect to them with STMlink and we can program them with out bootloader.Then about 5% fail just when the programmer has finished programming. Another 5% fail once we uploaded the main program using our bootloader.They all show the same behaviour: High current draw ~300mA, the STM32F070 gets very hot (~70°C). No other parts get hot (well the voltage regulator does)Interestingly the apart from the high current draw the STMs seem to work just fine !We can still connect to them with the programmer. Erasing the flash does not change the behaviour, the high current draw stays.Pretty sure the issue is not caused by other parts on the board, no pins are shorted and nothing gets warm.I am worried that this failure mode might happen to the other STMs of this batch eventually. As I do not want to ship ticking time bombs to customers, it would be fantastic to learn about potential causes for this issue. As mentioned: This is a proven design, we have several hundreds of these boards, they have been working perfectly for years.thanks a lot!

author: dietert1
author_rank: Super Contributor
timestamp: April 19, 2023, 07:04:21 pm
content: After failure, how is MCU current draw under reset?What programmer are you using?How do you know it isn't faulty?If you think the MCUs may be trash, where did you get them?Regards, Dieter

author: ubbut
author_rank: Regular Contributor
timestamp: April 19, 2023, 08:15:24 pm
content: Will check the current draw under reset, but will be tricky as the rest pin is not connected..Using an STlink, only connected SWDIO and SWDCLOCK. I don't think programming itself is what triggers the fault, as in some cases it only happens after the bootloader programmed the flash (via an SD card).It's more like: Programming the flash causes a short ?These were sourced from LCSC some months ago. Really the first ones to show up after 3 years of not being able to source any 070s

author: uer166
author_rank: Super Contributor
timestamp: April 19, 2023, 08:23:33 pm
content: Sounds like some kind of latch-up. Do you have more than one power domain? What does the PSU look like? Any pins going outside the board onto harnesses etc? Post circuit.Quote from: ubbut on April 19, 2023, 06:50:11 pmSeveral hundred is not really "proven", the design could be marginal and exceed the abs. max ratings on the parts and still work most of the time.LCSC should be a good supplier so fakes are unlikely.

author: thm_w
author_rank: Super Contributor
timestamp: April 20, 2023, 01:41:07 am
content: I assume you've removed the IC and replaced with a new one and the problem goes away?I would probably do this first to isolate any other issues on those specific boards.Post your schematic. Maybe you are shorting an IO during programming, or voltage spike when power is applied/removed.

author: ubbut
author_rank: Regular Contributor
timestamp: April 20, 2023, 07:35:08 am
content: I ran tests on several of the defective units.The only issue I could find was:A pin used in open drain mode, that is supposed to be 5V tolerant pulls the incoming 5V down to 3.3V.However, the 5V had not been connected to the unit when it failed or prior to that. It is just a thing I can see after it has already failed.Everything else works! All the pins are used so I was able to test them all (except the reset pin which is not connected). Pulling the reset pin low results in 20mA less current draw. Makes senseWe are not currently able to replace the defective STMs as the parts are still at our assembly house

author: dietert1
author_rank: Super Contributor
timestamp: April 20, 2023, 10:11:38 am
content: https://forum.segger.com/index.php/Thread/3174-ABANDONED-STM32F070F6P6-Strange-flashing-behaviour/You might also compare chip revisions and consult the error sheet. I remember reports about incompatible revisions.Regards, Dieter

author: Psi
author_rank: Super Contributor
timestamp: April 20, 2023, 10:16:56 am
content: Check any/all inductors connected to IO and make sure you have everything connected correctly.eg, you're not forcing pulsed current through an inductor and unintentionally boosting voltage onto IO pins.Can happen if you have a wrong or poorly designed LC filters, like on AVCC.Then you have high frequency GPIO output on a GPIO pin that is in the AVCC power domain so are forcing high frequency current through AVCC

author: Jeroen3
author_rank: Super Contributor
timestamp: April 20, 2023, 02:20:57 pm
content: Sounds like latch-up or ESD damage to me. Are you sure you have genuine STM32F070?

author: thm_w
author_rank: Super Contributor
timestamp: April 20, 2023, 09:47:00 pm
content: Quote from: ubbut on April 20, 2023, 07:35:08 amYou can swap mcu from a good board to a bad board.

author: barshatriplee
author_rank: Regular Contributor
timestamp: April 21, 2023, 10:19:29 am
content: You can try to programme your IC using STMCube:https://www.theengineeringprojects.com/2021/10/first-project-using-stm32-in-stm32cubeide.htmlHowever, if the error is caused by a manufacturing defect or damage to the IC during handling or assembly; no software can fix it. Inspect the PCB for any shorts or other defects. Use a magnifying glass to carefully examine the PCB for any visible defects such as solder bridges, missing solder, or damage to the traces. Test a few of the failed STM32F070 ICs on a separate testing circuit.