This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52832 GPIO irreversible pin damage in application when used as a momentary switch sense input

In my product I use certain GPIO pins configured as input with the pull up activated to act as sense inputs connected to momentary switches to control the application firmware.

Recently I had several incidents from my customers and fellow developers where GPIOs became irreversibly damaged.

In each case a GPIO involved was connected to a momentary switch (i.e. a mechanical switch between GPIO pin and GND).

The application worked fine until the point of breakdown, which means the GPIO was correctly configured as input with a pull-up.

After the damage the pin is stuck to GND. The devices affected have an increased current consumption (normal deep sleep current is ~150uA, which goes up to several tens of mAs for damaged chips.

In the application we use one or two momentary switches. On the one the momentary switch is depressed approx. 1% of the time in active mode. The other is depressed 10% of the time. Latter is more prone to an earlier breakdown, i.e. the degradation happens during the on state of the momentary switch, until the point of breakdown.

As using a momentary or latching switch on a GPIO is a standard use case for microcontrolllers, I would like to understand what could possible cause such damage.

The incident is unlikely related to my product and is also reproducible on a reference device (Adafruit nRF52 Bluefruit), therefore dependency on layout of board or influence of additional peripherals I can rule out at this stage.

  • At what voltage is the pullup ? What is the operating voltage ? do they match ? The max voltage is 3.6V.  If you pullup higher, it is likely to fail over time.

  • We use the internal 13kohms pull up of the GPIOs, wnich pulls up the input of the coparator to Vdd. The chip is supplied by a 3.3V LDO.

  • It's kind of the first I have heard this is an issue, for instance we have DK's produced in the thousands with momentary switched without any issue that I am aware of. However, if there is an ESD discharge though the pin, this will very likely damage the pin, so I recommend using an anti-static wrist wrap whenever possible. It's also possible to add an RC network and ESD diodes etc, but I would think this is mostly an issue when the bare PCB is exposed, and not when placed in a final casing. Is it possible you have reversed the switch somehow, such that the case of the switch is connected to the input?

    Kenneth

  • could that be the firmware crashes (exception interrupt) or go into a loop or something.  When the MCU is running constantly, it consumes in the mA range.

  • The device damage happens with the board enclosed in an application casing. Therefore it is not an ESD event. We use ESD protection in our offices. The PCB has even additional ESD protection ICs on the USB. Switch is also not reversed, as it happened in multiple encasings (encasings are individual products the customer want to place the board). The switches also perform their intended function, but after a time - which is hard to quantify, somewhere between hours to months - there is a device breakdown. Therefore I conclude it is a case of a gradual degradation with a hard short circuit to GND at the end.

    The board when running in active mode consumes a few tens of mA, depending on the state of the peripherals. But in deep sleep, with all the peripherals disabled, the whole board including the nRF52 consumes on average ~150uA (this chip is designed to be low power). Obviously a damaged I/O pin will increase consumption significantly in addition to being disfunctional.

Related