Low Power Features

Cellular-based iot can have a very low power footprint, expecially if the low power modes are exploited correctly.
As explained in section "here link to mobile network information", these low power modes can greatly reduce the power consumption.

Low power modes overview

PSM

The PSM (power saving mode) is the deepest power mode that allows to achieve the lowest power consumption.
The PSM needs the configuration of two timers: the activity timer (T3324) and the periodic TAU timer (T3412). These timers are often called in similar ways, please refer to the timer name (TXXXX) to avoid confusion.
The first timer configures how long the modem will stay active and connected to the network, while the second defines the wholetime of a psm cycle. The sleep time will then be T3412 - T3324.

🚧

PSM availability in countries

The iotcreators (Deutsche Telekom) network natively supports PSM, however when using iotcreators sim cards in roaming, the PSM needs to be supported by the local network as well in order to be enabled.
Please check the "Support over networks" section for details.

eDRX

The eDRX (Extended Discontinuous Reception) is the low power mode that allows to save power while mantaining the modem as reachable from the network as intended. This mode is indicated if the end device needs to be reachable for downlinks from the network.
The is done by extending the time between the modem availability window. For LTE, this value is fixed at 2,56 seconds but, for NB-IOT and LTE-M, this value can be brought up to about 40 minutes, thus relaxing the power consumption spent being active.
In the eDRX mode, usually the modem only allows to configure the eDRX cycle duration, the PTW (Paging time window) is provided and fixed by the network.
The eDRX can be used in conjuction with the PSM, indeed the activity timer defines the time that the eDRX will be working.

🚧

eDRX availability in countries

The iotcreators (Deutsche Telekom) network natively supports eDRX, however when using iotcreators sim cards in roaming, the eDRX needs to be supported by the local network as well in order to be enabled.
Please check the "Support over networks" section for details.

NON-IP data delivery (NIDD)

This is not actually a low power mode, but allows the least overhead to be used and thus is very indicated for low power mode. This data delivery mode is only available with a dedicated network, and iotcreators provides such dedicated network.

🚧

NIDD apn

You cannot use noip under public network, because it requires a dedicated infrastructure to work. Please only use the dedicated noip apn provided by iotcreators: nonip.iot.t-mobile.nl

To send data over non-ip, set the apn for non-ip, which is "nonip.iot.t-mobile.nl" and the modem in non-ip mode with:

AT+CGDCONT=0,"NONIP","nonip.iot.t-mobile.nl"

this command could be slightly different for your modem.
Then, to send data, just issue:

AT+CSODCP=0,4,"45726963"

or

AT+CSODCP=0,5,"Hello"

Where 4 or 5 in the example is the length in bytes and data can be in ascii or hex format.

πŸ‘

NIDD support

Noip data delivery is a standardized 3gpp feature. It is supported by all modems stated below, with the same command!
Find more details on the this delivery mode here:
https://docs.iotcreators.com/docs/non-ip-data-delivery-nidd

Non-ip has limited support currently on local networks.

Support over networks

You can find supported functionalities in the different countries here:

πŸ‘

NB-IOT and LTE-M coverage and low power modes availability

https://github.com/iotcreators/doclib-downloads/blob/master/Coverage/Coverage.xlsx

🚧

NB-IOT and LTE-M coverage and low power modes availability

These low power features are in general much better supported, currently, under nb-iot rather than lte-m.

πŸ‘

Network information

https://docs.iotcreators.com/docs/nb-iot-network-information
https://docs.iotcreators.com/docs/lte-m-network-information

PSM timers calculator

You can calculate the PSM timers value with this useful tool here

πŸ‘

PSM timers calculator

https://www.soracom.io/psm-calculation-tool/

Modems guides

Quectel BC66

The quectel BC66 only supports NB-IOT.

πŸ‘

BC66 integration guide

https://docs.iotcreators.com/docs/_-quectel-bc66-t-be-dvk

πŸ‘

BC66 integration guide (with at commands and useful info)

https://docs.iotcreators.com/docs/quectel-bc66-1

PSM

Before enabling the psm, it can be useful to reset the applied previously settings. To disable PSM and reset the previously set preferences, issue (page 80 of the at commands manual)

AT+CPSMS=2

To enable PSM, in the example , issue command:

AT+CPSMS=1,,,"<requested_periodic_TAU>","<requested_active_time>"

Where:
<requested_periodic_TAU>: this is the T3412 timer
<requested_active_time>: this is the T3324 timer

πŸ‘

BC66 psm design application note

https://github.com/iotcreators/doclib-downloads/blob/master/device-integrations/Quectel/BC66/Quectel_BC66%26BC66-NA_PSM_design_application_note.pdf

eDRX

To enable eDRX, just issue (page 71 of the at commands manual):

AT+CEDRXS=1,5,<requested_eDRX_value>

To enable eDRX with unsolicited result codes, useful to lower even more the power consumption spent by the CPU, just issue:

AT+CEDRXS=2,5,<requested_eDRX_value>

To enable eDRX with previously set parameters, just issue

AT+CEDRXS=1

The eDRX status can then be read with command

AT+CEDRXRDP
+CEDRXRDP: 5,<requested_eDRX_value>,<NW_provided_eDRX_value>,<paging_time_window>

🚧

eDRX provided values

<NW_provided_eDRX_value> and <requested_eDRX_value> can be different, because network could force a different value than the provided one. The real eDRX value used will then be the <NW_provided_eDRX_value>.

To disable eDRX and reset the values input, issue

AT+CEDRXS=3

🚧

Resetting values on NVM

This will consume a writing cycle on the modem NVM because of values reset, please be aware of that.

To just disable eDRX without values reset, issue

AT+CEDRXS=0

Wurth Elektronik eiSos GmbH Adrastea-I

πŸ‘

Adrastea-I integration guide (with at commands and useful info)

https://docs.iotcreators.com/docs/wurth-elektronik-adrastea-i

PSM

To enable PSM, just issue (see page 42 of the at commands manual for timers coding)

AT+CPSMS=1,,,"<requested_periodic_TAU>","<requested_active_time>"

To disable it, issue:

AT+CPSMS=0

eDRX

To enable eDRX, just issue (for NB-IOT):

AT+CEDRXS=1,5,"<Requested_eDRX_value>"

To disable it,just issue:

AT+CEDRXS=0

See adrastea at commands manual page 48 for further details.

uBlox Sara R410M / AFF N211

PSM

To enable PSM, just issue (see page 220 of the user manual):

AT+CPSMS=1,,,"<requested_periodic_TAU>","<requested_active_time>"

to disable it, issue:

AT+CPSMS=0

eDRX

To enable eDRX (on NB-IOT), just issue:

AT+CEDRXS=1,5,"<Requested_eDRX_value>"

to disable it, just issue:

AT+CEDRXS=0

Nordic semiconductor Nrf9160

πŸ‘

Nrf9160 integration guide (on thingy:91)

https://docs.iotcreators.com/v2.1/docs/nordic-thingy91

PSM

To enable PSM, just issue:

AT+CPSMS=1,"","","<requested_periodic_TAU>","<requested_active_time>"

To disable it, just issue

AT+CPSMS=0

πŸ‘

PSM info

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fref_at_commands%2FREF%2Fat_commands%2Fnw_service%2Fcpsms_read.html

eDRX

To enable eDRX (for NB-IOT), just issue

AT+CEDRXS=1,5,"<Requested_eDRX_value>"

To disable it, just issue

AT+CEDRXS=0

πŸ‘

eDRX info

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fref_at_commands%2FREF%2Fat_commands%2Fnw_service%2Fcpsms_read.html

Quectel BG95

For PSM and eDRX see commands for BC66, they are the same.

πŸ‘

BG95 integration guide

https://docs.iotcreators.com/docs/quectel-bg95-m3-nusim

Simcom SIM7022

πŸ‘

SIM7022 integration guide

https://docs.iotcreators.com/docs/simcom-sim7022

PSM

To enable PSM, just issue:

AT+CPSMS=1,,,"<requested_periodic_TAU>","<requested_active_time>"

to disable it, just issue:

AT+CPSMS=0

eDRX

To enable eDRX (for NB-IOT), just issue

AT+CEDRXS=1,5,"<Requested_eDRX_value>"

to disable it, just issue

AT+CEDRXS=0

Simcom SIM7070G

For PSM and eDRX, see SIM7022 section

πŸ‘

SIM7070G integration guide

https://docs.iotcreators.com/docs/simcom-sim7070g-waveshare-dev-kit

Thales cinterion ens-22e

PSM

To enable psm, just issue:

AT+CPSMS=1,,,"<requested_periodic_TAU>","<requested_active_time>"

To disable it, just issue:

AT+CPSMS=0

eDRX

To enable eDRX, just issue:

AT+CEDRXS=1,5,"<Requested_eDRX_value>"

to disable it, just issue:

AT+CEDRXS=0

πŸ‘

Thales cinterion ens-22e integration guide

https://docs.iotcreators.com/v2.1/docs/thales-cinterion-ens22-e

Quectel BG96

For PSM and eDRX commands, check the Quectel BC66 section above, they use the same commands.
Check the official PSM document here:

πŸ‘

BG96 PSM application note

https://github.com/iotcreators/doclib-downloads/blob/master/device-integrations/Quectel/BG96/Quectel_BG96_PSM_Application_Note_V1.0.pdf

Check also the integration guide here:

πŸ‘

BG96 integration guide

https://docs.iotcreators.com/docs/_-quectel-bg96-tuino096