[BC660K-GL] How to set up deep sleep immediately after sending data

Hello,

I’m working on a project where I’m using a BC660K-GL (revision BC660KGLAAR01A05) IoT module that I control via UART. Everything works for me except putting the module to sleep. I would like to use AT commands to set immediate dep sleep after sending data.
So far, the way it’s done there is that I turn on the module, disable sleeping (AT+QSCLK=0), perform the data send and then use enable sleeping (AT+QSCLK=1). The module is put to sleep within approx. 40 seconds after sending this command (QNBIOTEVENT: “ENTER DEEPSLEEP”). After approx. 10 minutes I reset the module and run the routine again as if I started the module for the first time. I don’t know if this is ideal, feel free to advise.
I’ve tried to search for some information regarding sleeping, but never found anything specific. Can anyone give me some advice? Thank you.

P.S.: With BC65 it was enough to send AT+POWD=1 and the module was put to sleep. Something like that is probably not possible here?


AT+QSCLK=1 only enables the module to go to deepsleep, not immediately. The time the module goes to deepsleep is related to the network
please run

AT+CEREG=5
AT+CEREG?
check T3324 and T3412(TAU)

I ran the above commands and the output of AT+CEREG? is as follows:

+CEREG: 5,5, “BBC6”, “000E661F”,9,,, “00000101”, “00000111”

Can you provide your complete test AT process, including connecting to the server?

I can, but I would need advice on how to do it and in what format to send the data. Or what software to use. I currently use probes to read on TX and RX using PulseView.

You can use the COM tool to send the following command

power on and startup
AT+QNBIOTEVENT=1,1
AT+QCFG=“dsevent”,1
AT+CPSMS=1,00111000,00000001
AT+CEREG? //Do this several times until +cereg:0,1 or +cereg:0,5(registration network successful)
AT+CSCON=1
AT+QPING=0,“8.8.8.8”,10,1,32,1

This will soon be followed by deepsleep

Is this sequence of commands necessary to put the module to sleep as soon as possible? Including the PING command?

Now I’ve reached the stage where my module won’t switch to dep sleep mode. How do I perform a factory reset? Or is it only possible via a firmware reload? If so, please send me the fw. Thank you.

The PING operation is used to implement RAI features

There are no instructions to restore the default configuration, requiring you to recheck the instructions and configuration parameters you executed

Some settings are stored in memory and remain there according to the datasheet. Therefore I would like to rewrite the FW in the module. Would it be possible to provide it? Thank you.

This is a simplified sequence of AT commands of my device:

POWER ON

RX: RDY
RX: +CFUN: 1
RX: +CPIN: READY
RX: +IP: 100.97.34.44

TX: AT
TX: AT+QSCLK=0
TX: AT+CGSN=1
TX: AT+QCCID
TX: AT+CSQ
TX: AT+CEREG?
TX: AT+QHTTPCFG=“contextid”,0
TX: AT+QHTTPURL=24,80
TX: http://pong.mithixx.com/
TX: AT+QHTTPPOST=46
TX: packet=866207058319595290013481099999999999993

RX: +QHTTPPOST: 0,200

TX: AT+QSCLK=1

Finally, the module should be put to sleep (DEEP SLEEP).

P.S.: I wonder where to place the above code in my case to make the module sleep immediately or as fast as possible?

There is currently no one click to restore the default Settings of the at command, it is recommended to check the instructions you have executed

then add and run

AT+CSCON=1
AT+QPING=0,“8.8.8.8”,10,1,32,1

I also tried to use PSM, finally I decided always to unregister . PSM also bares the risk, that if the net is weak the modem tries to register, even if not in use (and wasting a lot of energy, especially if data is transmitted only a few times per day).

As I understand it, the implementation and allowed ranges of the T3412 Timer is completely dependent of the Network provider and may vary from net to net?

Yes, the actual application needs to be combined with the shutdown mode, to avoid PSM mode anomalies and can not save more power

You need to stop resetting the BC660 all the time. Every time you reset it it goes out to check the network. I’ve seen it take up to 10 minutes to finish this check.

The PSM timer works really well. The default is 10 seconds at which point it will go night-night you can reduce this if you want, but any delays any you have to send multiple AT’s again

I set the PSM timer to 2 hours past my default call in time (I refrain from calling more than every 8 hours to preserve battery). I start with 4 AT’s to wake it up and then an AT+CSQ to see if we are connected and if that works… straight into data. With this setup and MQTT, it takes around 30 to 60 seconds to send all the data, plus 10 seconds to hang up.

Note: Some countries ignore the PSM timer (NZ here). A “free” IoT connection is limited to 4 hours and then forgotten unless you call in again in that time. Commercial plans have no such limits.
Also note: Any transition on TXD will wake the modem up. (So don’t use the 1.8V Logic levels if you intend to sleep - use the 3.3V option instead - unless your whole board is 1.8V of course)