I'm eager for help in figuring out why all the microcontrollers I'm using are dying randomly. At first, I was using LPC810Ms and LPC1114FN28s (both DIP packages on a breadboard), so I overlooked the problem since plugging in a new one was no big deal. But now, I'm using STM32F437s (100 QFP package soldered on a prototyping board), which at $17 a piece, and requiring a fair amount of soldering, makes replacement pretty expensive.
My power supply is pretty unconventional. It's an Antec HCG-850M computer power supply with the under voltage & over current protection removed, so I can run RC car motors without tripping. As a result of removing UVP & OCP, I noticed turning off the switch results in a very gradual voltage decay (takes > 10s for the voltage to reach 0). Could this be breaking the MCUs?
In general, the only peripherals I have connected are a Segger JLink for ARM debugging and a UART.
Symptoms:
LPC810, LPC1114FN28:
The chip gets very hot, eventually burning out. Surprisingly, I can still program and run things.
STM32F437:
The ARM SWD interface becomes inoperable. I can no longer program or run. No signs of overheating. I remember exactly that it broke right after I cut off the power, which happens very slowly as mentioned above.
I'm not expecting a too specific answer, so please share any relevant experiences.
Update
Correction: the voltage doesn't take 10s to die off (that was a guess based on how long it took the lights & fan to turn off). Instead, it drops instantly after 5 seconds.
I've measured the power supply on/off transient behavior several times and don't see any spikes. Here's the waveform when turning on:
This is within the allowed range (1.7V <= Vdd <= 3.6V).
Pictures/Diagrams:
(only colored pins are connected)
Update2
Finally, I've found the problem! but not the real cause. Thanks to clive1 on the ST forum thread, STM32F4 - Discovery fail, I resurrected the chip by switching the BOOT pin to 1, so it boots from RAM, instead of Flash. So it wasn't dead - just bricked (don't understand why the debugging interface depends on working Flash)
So now I'll make my question more specific: Why is the MCU's flash memory getting corrupted on powerup, powerdown, or resets? Also, forget about the LPC MCUs.