I need to test if a microcontroller's pins are damaged after hitting it with an ESD gun. The microcontroller I'm testing is the STM32H743. The only method I have come up with so far is to just Toggle the GPIO pins from high to low repeatedly (at a slow repetition rate) and measure the voltage. I don't have an easy way to toggle the pins so I would have to request my co-worker to make a custom firmware that does that (which is kind of a pain). Are there any ways to the test for ESD damage that doesn't involve custom firmware (i.e. only using hardware)? Is the method I stated above the best way to check for damage using firmware, or is there a better approach?
1 Answer
You need some form of loopback self test. One way is to add a Cap load and drive output high then switch to an input and read state. Then toggle as output with Logic 0V then read back as input.
If it functions good, but is it wounded? maybe ?
The method used by supertechs in the PCB repair biz use the Huntron tracker, which is simply injecting low current with a small voltage and large R to about a few mA to look for diode capacitance effects that have increased from the nominal rated 5pF? to something obvious like 20 to 100pF. This happens when the partial welding of the silicon interface reduces the conductor gap and thus raises capacitance. This is then displayed in the XY mode on a scope and you will see the result with a 1 Vp or 2Vpp signal with power off and test between out & gnd , out & Vcc.
I might choose 10 kHz sine and 2Vpp to compare source and load and look for obvious phase Lissajous loop. Compare with other IO ports.