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

nRF52832 BT832XE randomly disconnects

So, after using my Devkit and everything working OK as far as I can tell, I decided to order up a bare BT832XE module and place it on my PCB. 

Flashed it with the same firmware inside SEGGER using the Nordic PCA10040 devkit. 

Seems to connect, everything works fine. for a little bit. Then I will get a random disconnect. It does not show up at all in the debug terminal. as far as it knows, it still thinks its connected. 

When I hit pause, it stops at DEADBEEF. With no rhyme or reason as to why. 

I tried recompiling as debug, and then tried again. Same thing. the disconnects are random. it can happen 30 seconds in, and it can happen as late as 4 to 8 minutes. But it ALWAYS happens. 

I tried adjusting the Clock to 500 with its internal oscillator (not using a crystal externally). No difference. I even tried adding extra bypass capacitance near the module on my PCB, the voltage going in appears to be stable so thats not it. 

Any thoughts? 

Parents
  • Also would it be possible to provide debug logs and on air sniffer trace? Are you ending up in any kind of error handler? Can you also check that DEBUG is defined in your debug project?

  • I dont know what an air sniffer trace is, and as I mentioned above, the debug logs are no good because the "j-link debugger" in SEGGER is unaware of the crapout/disconnect. HOWEVER. (there is a however), I can hit "pause" in the debugger after this glitch happens, it pauses at 0xDEADBEEF. Then the top says unknown function at -xDEADBEEE. Also all the CPU registers on the right-hand side are all loaded with 0xdeadbeef. 

    If I physically disconnect, I can see the DISCONNECTED pop up in the debug log. But, nothing pops up when this happens. I can also instantly reconnect until it disconnects again. 

Reply
  • I dont know what an air sniffer trace is, and as I mentioned above, the debug logs are no good because the "j-link debugger" in SEGGER is unaware of the crapout/disconnect. HOWEVER. (there is a however), I can hit "pause" in the debugger after this glitch happens, it pauses at 0xDEADBEEF. Then the top says unknown function at -xDEADBEEE. Also all the CPU registers on the right-hand side are all loaded with 0xdeadbeef. 

    If I physically disconnect, I can see the DISCONNECTED pop up in the debug log. But, nothing pops up when this happens. I can also instantly reconnect until it disconnects again. 

Children
No Data
Related