Intermittent device reset in modified ble_app_beacon example

I've been documenting this issue and asking questions here:

Intermittent device reset in modified ble_app_beacon example

Since I need to post a proprietary schematic, I made this private post to continue.

This project is a stripped down version of a product under development. It depends upon being able to change the contents of the advertising data whenever the board (a sensor) detects a new state.  The code as shown generally works but eventually the device resets. This could happen after running for a few minutes or a few days or anywhere in between.

UPDATE:

I've removed the schematic and am now making this post public.

SUMMARY:

  • Verified the resets are not caused by software by examining the RESETREAS register after a reset occurrs.
  • Learned the NRF52 processors will reset if the supply voltage rises 0.3v at or above a rate of 1mV/mS.
  • Verified the ripple on Vdd was within tolerance. Eliminate brown-out reset as a cause.
  • Verified no reset happens when running off a power supply instead of a coin cell (CR2477)
  • Eliminate battery connection as a cause
  • Suspect the battery brand, test another brand, still got resets.
  • Build and use a current to voltage amp to accurately measure peak battery current
  • Eliminate peak current as a cause
  • Measure battery current while programming the device and discover programmer is sending current into the battery.
  • Configure programmer to not send power to the device
  • Retest 12 devices with fresh batteries.

At this point I am gaining confidence that the programmer was damaging the coin cells with the reverse current. I've appealed to Nordic to document this in the DK user guide and am converting this post to public in case they don't.

Parents
No Data
Reply
  • 1) I want to do a more controlled test of this. informally I think I have seen a rest once.  I am in the process of building a power harness that slides in like a battery and can test 12 boards at once.  Like you, I suspect a power issue.

    2) I have measured ripple, it is minimal. I will measure again and post the results.

    3) Eventually, they all experience this though for some it happens after minutes, some after hours and some after days of continuous operation.  On separate test runs each individual board behaves could do better or worse.

    4) Depending on results of the other tests I will try this.

    Step Increase:

    This is new information to me. I'll test the step response and see how it compares to 1mV/mS.

    RESETREAS:

    I was already thinking along the same lines. An hour ago I started a test that reports the reset reason. I already can determine a reset occurred by the time being off. I'll post results as soon as I have them.

Children
No Data