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

nRF52832 GPIO pin condition changes during Reset

Background: we have a nRF52832 based design that's been used for the past 1-2 years across a couple 100 piece batches.  Our latest batch of 500 boards shows an odd behavior during reset that is causing the device to not stay powered off.  We use a hardware based latch circuit to have the code assert an output pin to shutdown.  The end-user then needs to press a button to turn back on.

Issue: When the code de-activates the latch to turn off, the VDD (3.3V) rail decays exponentially and at around VDD=700mV, the push button input pin (P0.27) glitches enough to re-enable the latch.  There is a large pull-up resistor (1Meg) on P0.27 to VDD.  Both P0.27 and VDD track one another very closely during the exponential decay but when the glitch occurs, the input pin signal jumps down to a lower steady voltage (not 0V) for a few hundred mircoseconds before releasing and the input pin then returns back to VDD.

Current workaround: Changing the value of the pullup resistor to a much lower value (10k) results in the glitch being much less of a jump and doesn't re-enable the latch.  With the 10k pullup, the resulting voltage drop across our pullup is much less.  It appears the input pin is activating its internal pulldown resistor (~18k) during the glitch creating a voltage divider which only lasts for less than 1ms.

Question: This behavior consistently occurs when VDD=700mV where the nRF52832 should be held in reset by the Brownout Detector?  Should the GPIO pins be held in a high impedance state during reset?

During our troubleshooting, we've tried to rule out other circuits being the cause so we've isolated the P0.27 and only connected it to the pullup to VDD.  In this setup, we still see the glitch (seems like the P0.27 pulldown activates temporarily) at the VDD=700mV level of the VDD decay.

Comparing the IC marking on the nRF52832 from our previous batches to this latest batch, there is a slight difference.  Previous batch has IC marking of N52832 / QFAAE1 / 1925HF.  The latest batch has IC marking of N52832 / QFAAE0 / 20221R.  This appears to be the same die revision but different production identifier?

Any suggestions / questions or insights would be appreciated.  This is a larger issue for us as our volumes have increased.

Parents Reply Children
  • While Nordic review your findings, I can confirm something similar on one of my boards I just tested, although at a higher voltage. I would suggest perhaps fitting a small capacitor on the pin, rather than lowering the resistor value, as a workaround. I measured the internal pull-down at 14k with Vcc at 3v, presumably higher with decaying Vcc, 14k+ and few hundred uSec doesn't need much - say 100nF.

    .. or invert the switch so a closure goes high instead of low ..

Related