cancel
Showing results for 
Search instead for 
Did you mean: 

Did I fry my mcu?(gpio output in locigal low, while external source did drive it high, or other way around)

JoniS
Senior

I made an mistake on my pcb which i now spotted, it makes such scenario possible which is in title.

I'm driving reset pin of ble112 module with mcu, there is current limitting resistor inline no proplem, but what I have possible overlooked is the fact that when cc-debugger is attached to program the firmware ​of ble112 it will drive the reset pin aswell, but from there, there is direct path to the gpio with NO current limitting resistor in place.

So is it possible that the nfet inside the mcu got in a state that it's always driving the gpio pin low and now when i programmed the mcu to push the pin high it made internal short?(or other way around, it's always in high state and when programmed to logical low it makes short)​

Fuse in the board did kick in, after i programmed the ble112 module and then after that changed the gpio state from low to high, which leads me to think that something happened to the gpio since now there is short in the circuit board when measured with dmm.

5 REPLIES 5
Danish1
Lead II

It is possible to kill your mcu by driving GPIO. It might kill the single pin, a group of pins, or the whole mcu.

But they're pretty robust (much better than 1970s CMOS) and tend not to die provided you're only doing a few pins AND the externally-driven voltage is between Vdd and Vss.

(On the other hand, bad things might have happened when the fuse went.)

If there's a short-circuit on your board now, might it be a splash of solder?

I have a very handy tool which is a "stuck node tracer". It was described in Horowitz and Hill 2nd Edition, and essentially is a very sensitive millivoltmeter. Where you have two tracks shorted together *somewhere*, but don't know where the short is, you apply a reasonable current between the two nets and see where the voltage is dropped along the traces to be able to see where the current is flowing.

Hope this helps,

Danish

Ozone
Lead

A port can usually be destroyed by applying a voltage outside the spec. Usually beyond 3,6V, or below -0,6V.

As Danish said, the amount of damage might differ, and depends on several unknown variables.

Perhaps you can disconnect all external connections (like cutting the PCB trace close to the pin), and check in this state.

The first two which did the same as this one, might very well have been solder splash since it was day one when those did die.

The one that died now have been in daily use for like 6 months, and now when I wanted to provide HOGP support for iOS aswell I needed to attach the CC debugger to the board to update the Bluetooth module gatt charasterics, after that everything was fine until i set the reset gpio high(it was low during programming of the blue module) and boom the PCB 3.3v side is shorted after that.

JoniS
Senior

Finally got home and started looking at the PCB, there were no visual clues about whats happening whatsoever. Quick finger test did show that it indeed was the STM mcu that was shorted internally, since only regulator and MCU got hot. (bypassed the fuse to do this test)

Took out the MCU from the PCB and atleast the BLE module seems to be fine(can still connect to it with CC-debugger), regulator did take it like a champ even when it got too hot to touch since it still seems to work.

i did take apart the CC debugger aswell, it does use SN74AVC4T245 IC's for all its connections, maybe these could supply enought current to kill the poor stm?(or partially kill it atleast)