No GPIO wakeup from SYSTEM OFF state

matteo.scordino gravatar image

asked 2015-01-10 02:03:31 +0100

updated 2015-01-10 02:04:04 +0100

We have an nRF51822-based product that goes the SYSTEM OFF in certain situations. We wake up with the DETECT signal from a pin which we set to sensing just before calling sd_power_system_off() The code is really trivial:


#ifdef USE_UART
simple_uart_putstring((uint8_t*)"Good bye, blue sky!\r\n");


This always seems to work in "sunny day" cases. Unfortunately, we found a reproducible corner case for which the wake up does not work. In case we have a TRANSIENT short between the 3V3 power rail and GND (I know, it's bad. It happened temporarily for a mechanical issue), the following happens:

  • the nRF51 resets (cleanly, it seems)
  • the application starts executing, configures GPIOs, enters the main loop
  • the application decides to enter SYSTEM OFF, which triggers the code above

The nRF51 enters successfully SYSTEM OFF, but never wakes up again for WAKEUP_PIN. Is there some known situation where the wake up from DETECT could fail? We read the PANs (2.3 and 3.0) but did not find anything that could apply.

edit retag flag offensive close delete report spam

1 answer

Sort by » oldest newest most voted
asfo gravatar image

answered 2015-01-28 16:32:20 +0100

The only reason for this not to work would be if the reset/short wasn't as clean as assumed and the configuration of the wakeup pins isn't set after the reset. So a couple of questions: 1: Are you able to re-produce the issue? 2: If yes above, are you sure that the pin configuration is done after the reset has occurred?

edit flag offensive delete publish link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer. Do not ask a new question or reply to an answer here.

[hide preview]

Question Tools

1 follower


Asked: 2015-01-10 02:03:31 +0100

Seen: 734 times

Last updated: jan. 28 '15