I have a fleet of devices here using the BG96 connected to an ESP32. These devices work fine for a while, but then some units will randomly get stuck offline hours/days later when the BG96 suddenly stops responding to the PwrKey pin and remains switched off.
The BG96 has a constant supply of 3.3V. The ESP32 wakes up every 1 hour to gather data, it then toggles the PwrKey pin to switch the BG96 on for ~2 minutes to upload the data, and then uses the AT+QPOWD command to switch the BG96 back off again during the ~1hr sleep.
Are there any known reasons why a BG96 would suddenly stop responding to the PwrKey pin? The only way that I’m able to get these failed devices running again is by hard rebooting them (cycling the 3.3v supply to the BG96), which is a really serious weakness in the design of my devices since they are being deployed in very remote places!
I am afraid you need to capture the response of the module in order to understand what has happened.
I have seen halted module if the next AT-command is issued before the module is able to respond to the previous command. It may or may not happen but the chance exists.
One example is: if any of the nwscanmode, nwscansequence, iotopmode or at+cops=? command is issued to the module upon wakeup, it will start a new network search and the module will not respond immediately during this period. The module may hang up if subsequent commands are issued in ignorance of the module being occupied by an incomplete task.
This also happened to me sometimes (rarely, but still does). You can try to recover also by Reset pin. I do not recall if the module restarts straight away or if you need to issue a power on pulse after that, but you can check the Status pin level. I recall that when the module is stuck the Status pin is not meaningful: you may find it high or low. But after you reset the module, possibly after some delay, it should be back to normal function.
Please also note that 3.3V is almost certainly too low of a voltage for the module to work correctly, especially in GSM mode.
ppescher is absolutely right. 3.3V is the minimum supply voltage for BG96 and any fluctuations can cause the module to behave abnormally. Typical supply voltage stated in the specification is 3.8V.
Peak current during GSM mode can be as high as 2A and situation gets worse if it is transmitting on multiple timeslots.