Skip to main content

AT Command Manual

Overview

AT command is the initial setting in the default serial port used on RUI3 devices. The default baud rate is 115200.

NOTE

When communicating through AT commands with the WisDuo modules, it is important to always wait for the response from the WisDuo module before sending the next command. Some AT commands respond not only immediately, but also with a second asynchronous event response that must be handled before the next command can be processed.

For users that write the firmware for the host MCU with Arduino or PlatformIO, it is recommended to use a communication library. The RUI3-Arduino-Library is a helper for the AT command communication between a RUI3 based RAKwireless WisDuo module and an Arduino based host MCU. This library can be installed using the Arduino IDE library manager. Library documentation. Library examples

RUI3-Supported RAK Modules

RUI3 AT Command Format

The AT commands have the standard format AT+XXX, with XXX denoting the command. There are four available command behaviors:

  • AT+XXX? provides a short description of the given command, for example, AT+DEVEUI?.
  • AT+XXX is used to run a command, such as AT+JOIN.
  • AT+XXX=? is used to get the value of a given command, for example, AT+CFS=?.
  • AT+XXX=<value> is used to provide a value to a command, for example, AT+CFM=1.

The output format is as below:

AT+XXX=<value><CR><LF>
<CR><LF><Status<CR><LF>
NOTE
  • <CR> stands for “carriage return” and <LF> stands for “line feed”.
  • The <value><CR><LF> output is returned whenever the “help AT+XXX?” or the “get AT+XXX=?” commands are run.

When no value is returned, the <value><CR><LF> output is not returned at all. Every command (except for ATZ used for MCU reset) returns a status string, which is preceded and followed by <CR><LF> in a <CR><LF><Status<CR><LF> format.

The possible status codes are:

  • OK: command runs correctly without error.
  • AT_ERROR: generic error.
  • AT_PARAM_ERROR: a parameter of the command is wrong.
  • AT_BUSY_ERROR: the LoRa network is busy, so the command has not been completed.
  • AT_TEST_PARAM_OVERFLOW: the parameter is too long.
  • AT_NO_CLASSB_ENABLE: End-node has not yet switched in Class B.
  • AT_NO_NETWORK_JOINED: the LoRa network has not been joined yet.
  • AT_RX_ERROR: error detection during the reception of the command.

More details on each command description and examples are given in the remainder of this section.

Content

General Commands

This section describes the generic commands related to the device.

AT

Description: Attention

This command is used to check that the communication is working properly.

CommandInput ParameterReturn ValueReturn Code
AT--OK

Back

AT?

Description: Short help

This command provides short help for all the supported commands.

CommandInput ParameterReturn ValueReturn Code
AT?-- AT+<CMD>?: help on <CMD>
- AT+<CMD>: run <CMD>
- AT+<CMD>=<value>: set the value
- AT+<CMD>=?: get the value
- followed by the details of all commands
OK

Back

ATE

Description: AT Command Echo

This command is used to see the AT command input on the Serial Terminal.

CommandInput ParameterReturn ValueReturn Code
AT--OK
AT?-ATE: toggle the AT Command echoOK

Example:

ATE
OK

Back

ATZ

Description: MCU Reset

This command is used to trigger a reset on the module.

CommandInput ParameterReturn ValueReturn Code
ATZ?-ATZ: triggers a reset on the MCU.OK
ATZ-No return value and return code. The module resets.Shows device information

Example:

ATZ
RAKwireless RAK3172
------------------------------------------------------
Version: RUI_4.0.4_RAK3172-E
Current Work Mode: LoRa P2P.

Back

ATR

Description: Restore default parameters

This command is used to restore all parameters to the initial default values.

CommandInput ParameterReturn ValueReturn Code
ATR?-ATR: restore default parametersOK
ATR-No return value.OK

Back

AT+SN

Description: Serial number

This command can read the device serial number.

CommandInput ParameterReturn ValueReturn Code
AT+SN?-AT+SN: get the serial number of the device (max 18 char)OK
AT+SN=?-<1-18char>OK

Example:

AT+SN=?
9181004E20900057
OK

Back

AT+BAT

Description: Battery level

This command is used to access the battery level.

CommandInput ParameterReturn ValueReturn Code
AT+BAT?-AT+BAT: get the battery level (volt)OK
AT+BAT=?-AT+BAT= <float>OK

Example:

AT+BAT=?
AT+BAT=2.971191
OK

Back

AT+BUILDTIME

Description: Build time of the firmware

This command is used to access the build date and time of the firmware.

CommandInput ParameterReturn valueReturn code
AT+BUILDTIME?-AT+BUILDTIME: get the build time of the firmwareOK
AT+BUILDTIME=?-AT+BUILDTIME=date - time of buildOK
AT_BUSY_ERROR

Example:

AT+BUILDTIME=?
AT+BUILDTIME=20220324-153044
OK

Back

AT+REPOINFO

Description: Repo information

This command is used to access the Repo Information of the firmware.

CommandInput ParameterReturn valueReturn code
AT+REPOINFO?-AT+REPOINFO: get the commit ID of the firmwareOK
AT+REPOINFO=?-AT+REPOINFO=firmware repo informationOK

Example:

AT+REPOINFO=?
AT+REPOINFO=713fbcca:6ecbb45f:e198f620:b43f5395:4a6defb9:c9438443:5ccb8eec:70e5bb3f
OK

Back

AT+VER

Description: Version of the firmware

This command is used to access the version of the firmware.

CommandInput ParameterReturn ValueReturn Code
AT+VER?-AT+VER: get the version of the firmwareOK
AT+VER=?-AT+VER=firmware versionOK

Example:

AT+VER=?
AT+VER=RUI_4.1.0_RAK4631
OK

Back

AT+CLIVER

Description: Version of the AT Command

This command is used to access the version of the AT command.

CommandInput ParameterReturn ValueReturn Code
AT+CLIVER?-AT+CLIVER: get the version of the AT commandOK
AT+CLIVER=?-AT+CLIVER=x.y.zOK

Example:

AT+CLIVER=?
AT+CLIVER=1.5.2
OK

Back

AT+APIVER

Description: Version of the API

This command is used to access the version of the RUI API.

CommandInput ParameterReturn ValueReturn Code
AT+APIVER?-AT+APIVER: get the version of the RUI APIOK
AT+APIVER=?-AT+APIVER=x.y.zOK

Example:

AT+APIVER=?
AT+APIVER=3.0.0
OK

Back

AT+HWMODEL

Description: The string of the hardware model

This command is used to access the string of the hardware model.

CommandInput ParameterReturn ValueReturn Code
AT+HWMODEL?-AT+HWMODEL: get the string of the hardware modelOK
AT+HWMODEL=?-AT+HWMODEL=module modelOK

Example:

AT+HWMODEL=?
AT+HWMODEL=rak4631
OK

Back

AT+HWID

Description: The string of the hardware ID

This command is used to access the string of the hardware mode.

CommandInput ParameterReturn ValueReturn Code
AT+HWID?-AT+HWID: get the string of the hardware IDOK
AT+HWID=?-AT+HWID=module hw IDOK

Example:

AT+HWID=?
AT+HWID=nrf52840
OK

Back

AT+ALIAS

Description: Alias name of the device

This command allows the user to set an alias name for the device.

CommandInput ParameterReturn ValueReturn Code
AT+ALIAS?-AT+ALIAS: add an alias name to the deviceOK
AT+ALIAS=?-<string, 16char>OK
AT+ALIAS=<Input><string, 16char>-OK
AT_PARAM_ERROR

Example:

AT+ALIAS=RAK
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <string, 16char>: set of 16-character string.

Back

AT+SYSV

Description: System voltage of the device

This command allows the user to get the System Voltage.

CommandInput ParameterReturn ValueReturn Code
AT+SYSV?-AT+SYSV: get the System VoltageOK
AT+SYSV=?-<float>OK

Example:

AT+SYSV=?
AT+SYSV=3.318750
OK

Back

AT+BLEMAC

NOTE

This command is ONLY available on the RAK4630 and RAK11720 modules.

Description: BLE Mac Address of the device

This command allows the user to get or set the BLE Mac address.

CommandInput ParameterReturn ValueReturn Code
AT+BLEMAC?-AT+BLEMAC: get or set the BLE Mac addressOK
AT+BLEMAC=?-<string>:<string>:<string>:<string>:<string>:<string>OK
AT+BLEMAC=<Input><string, 12 char><string>OK

Example:

AT+BLEMAC=?
AT+BLEMAC=d1:e0:f2:4d:58:1a
OK

Back

AT+BOOTVER

Description: RUI bootloader version of the device

This command allows the user to get the version of RUI bootloader.

CommandInput ParameterReturn ValueReturn Code
AT+BOOTVER?-AT+BOOTVER: get the version of RUI bootloaderOK
AT+BOOTVER=?-<string>OK
AT+BOOTVER=<Input>-RUI Bootloader VersionOK

Example:

AT+BOOTVER=?
AT+BOOTVER=************
OK

Back

Low Power

AT+SLEEP

Description: Sleep mode

This command enables sleep mode.

CommandInput ParameterReturn ValueReturn Code
AT+SLEEP--OK
AT+SLEEP?-AT+SLEEP: enter sleep mode for a period of time (ms)OK
AT+SLEEP=<Input><integer>-OK
AT_PARAM_ERROR

Example:

AT+SLEEP=1000
OK
NOTE
  • AT+SLEEP command with no parameter will enable sleep mode continuously without timeout period.
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <Input>: 1 decimal integer and the range of values is 1~(232 -1).

Back

AT+LPM

Description: Low power mode of the device

This command provides a way to enable/disable low power mode. LPM makes the device sleep automatically after sending AT commands. This eliminates the need to send AT+SLEEP.

CommandInput ParameterReturn ValueReturn Code
AT+LPM?-AT+LPM: get or set the low power mode (0=OFF; 1=ON)OK
AT+LPM=?-<string>OK
AT+LPM=<Input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+LPM=?
AT+LPM=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <string>: either "0" or "1"

Back

AT+LPMLVL

NOTE

The two sleep modes can ONLY be selected with RAK3172. This AT command has NO EFFECT on other modules.

Description: Sleep level for low power mode

This command sets the low power mode level of the RAK3172 module in LPM. Stop2 Mode is more optimized for low current consumption compared to Stop1 Mode but it will not allow you to wake up using UART1. On Stop1 Mode, both UART1 and UART2 can wake up the device from LPM.

CommandInput ParameterReturn ValueReturn Code
AT+LPMLVL?-AT+LPMLVL: get or set the low power mode level (1 = STOP1 Mode; 2 = STOP2 Mode)OK
AT+LPMLVL=?-1 or 2OK
AT+LPMLVL=<Input>1 or 2-OK
AT_PARAM_ERROR

Example:

AT+LPMLVL=?
AT+LPMLVL=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • This command is only applicable to RAK3172 devices.

Back

Serial AT Command

These commands are related to device serial configurations.

AT+LOCK

Description: Lock the AT Command serial port

This command locks the AT command serial port.

CommandInput ParameterReturn ValueReturn Code
AT+LOCK?-AT+LOCK: lock the serial portOK
AT+LOCK or AT+LOCK=---
NOTE
  • If you input the AT+LOCK or AT+LOCK= command, it will lock the serial port.
  • The default password is '00000000' and can be changed via the AT+PWORD command.

Example:

AT
OK

AT+LOCK

AT+VER=?
COMMAND_LOCKED

00000000

AT+VER=?
3.1.0-p1_21q4_rc2.50
OK

Back

AT+PWORD

Description: Set the AT Command serial port password

This command sets the password for locking the AT command serial port.

CommandInput ParameterReturn ValueReturn Code
AT+PWORD?-AT+PWORD: set the serial port locking passwordOK
AT+PWORD=<input><1-8 character>-OK

Example:

AT+PWORD=~!@pword
OK
NOTE
  • Any printable characters. <Input>: 1-8 characters.

Back

AT+BAUD

Description: Set the serial port baud rate

This command sets the serial port baud rate.

CommandInput ParameterReturn ValueReturn Code
AT+BAUD?-AT+BAUD: get or set the serial port baud rateOK
AT+BAUD=<Input><integer>-OK
AT_PARAM_ERROR

Example:

AT+BAUD=?
AT+BAUD=115200
OK

AT+BAUD=921600
AT_PARAM_ERROR
NOTE
  • The last configured baudrate will be retained to the module even with reset or power recycle.
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <Input>: 1 decimal integer and the range of values is 1~232.

Back

AT+ATM

Description: AT Command mode

This command provides a way to switch to AT command mode.

CommandInput ParameterReturn ValueReturn Code
AT+ATM?-AT+ATM: switch to AT command modeOK
AT+ATM--OK
NOTE

AT Command mode is the default serial port setting of RUI3 devices.

Back

Bootloader Commands

This section describes the bootloader commands related to the device.

AT+BOOT

Description: Bootloader mode

This command causes the device to enter Bootloader mode to upgrade firmware.

CommandInput ParameterReturn ValueReturn Code
AT+BOOT?-AT+BOOT: enter bootloader mode for firmware upgradeOK
AT+BOOT or AT+BOOT=-<BOOT MODE>

Example:

AT+BOOT
<BOOT MODE>
NOTE

To escape BOOT MODE, execute at+run command. This is will end the BOOT MODE then restart the RUI3 device.

AT_BUSY_ERROR is returned when the bootloader process is already running.

Back

AT+VER

Description: Version of the Bootloader (Bootloader only).

This command is used to access the version of the bootloader (Bootloader only).

CommandInput ParameterReturn ValueReturn Code
AT+VER=?-RUI_BOOT_0.6_STM32WLE5CC -

Example:

AT+VER=?
RUI_BOOT_0.6_STM32WLE5CC

Back

AT+VERSION

Description: Version of the Bootloader (Bootloader only).

This command is used to access the version of the bootloader (Bootloader only).

CommandInput ParameterReturn ValueReturn Code
AT+VERSION-RUI_BOOT_0.6_STM32WLE5CC -

Example:

AT+VERSION
RUI_BOOT_0.6_STM32WLE5CC

Back

AT+BOOTSTATUS

Description: Bootloader Status (Bootloader only).

This command is used to get the status of the bootloader (Bootloader only).

CommandInput ParameterReturn ValueReturn Code
AT+BOOTSTATUS-Boot Mode -

Example:

AT+BOOTSTATUS
Boot Mode

Back

AT+RUN

Description: Leaving Boot Mode (Bootloader only).

This command is used to leave and boot into application (Bootloader only).

CommandInput ParameterReturn ValueReturn Code
AT+RUN-Stop Boot Mode -

Example:

AT+RUN
Stop Boot Mode

RAKwireless Arduino Digital Example
------------------------------------------------------
Current Work Mode: LoRa P2P.

Back

AT+RESET

Description: Device Reset (Bootloader only).

This command is used to reset the device (Bootloader only).

CommandInput ParameterReturn ValueReturn Code
AT+RESET---

Example:

AT+RESET

RAKwireless Arduino Digital Example
------------------------------------------------------
Current Work Mode: LoRa P2P.

Back

LoRaWAN Keys and IDs

This section describes the commands related to the activation of the end device. EUI's and Keys are MSB first.

AT+DEVEUI

Description: Device EUI

This command is used to access the unique end-device ID. Used in OTAA mode.

CommandInput ParameterReturn ValueReturn Code
AT+DEVEUI?-AT+DEVEUI: get or set the device EUI (8 bytes in hex)OK
AT+DEVEUI=?-< 8 hex >OK
AT+DEVEUI=<Input>< 8 hex >-OK
AT_PARAM_ERROR

Example:

AT+DEVEUI=?
AT+DEVEUI=1122334455667788
OK

AT+DEVEUI=1122334455667788
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 16 digit length, character 0-9, a-f, A-F only, representing eight (8) hexadecimal numbers.

Back

AT+APPEUI

Description: Application identifier

This command is used to access the unique application identifier in OTAA mode.

CommandInput ParameterReturn ValueReturn Code
AT+APPEUI?-AT+APPEUI: get or set the application EUI (8 bytes in hex)OK
AT+APPEUI=?-< 8 hex >OK
AT+APPEUI=<Input>< 8 hex >-OK
AT_PARAM_ERROR

Example:

AT+APPEUI=0102030405060708
OK

AT+APPEUI=010203040506070809
AT_PARAM_ERROR

AT+APPEUI=?
AT+APPEUI=0102030405060708
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 16 digit length, character 0-9, a-f, A-F only, representing eight (8) hexadecimal numbers.

Back

AT+APPKEY

Description: Application Key

This command is used to access the application key in OTAA mode.

CommandInput ParameterReturn ValueReturn Code
AT+APPKEY?-AT+APPKEY: get or set the application key (16 bytes in hex)OK
AT+APPKEY=?-< 16 hex >OK
AT+APPKEY=<Input>< 16 hex >-OK
AT_PARAM_ERROR

Example:

AT+APPKEY=01020AFBA1CD4D20010230405A6B7F88
OK

AT+APPKEY=01020AFBA1CD4D20010230405A6B7F
AT_PARAM_ERROR

AT+APPKEY=?
AT+APPKEY=01020AFBA1CD4D20010230405A6B7F88
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.

Back

AT+DEVADDR

Description: Device Address

This command is used to access the device address in ABP mode.

CommandInput ParameterReturn ValueReturn Code
AT+DEVADDR?- AT+DEVADDR: get or set the device address (4 bytes in hex)OK
AT+DEVADDR=?-< 4 hex >OK
AT+DEVADDR=<Input>< 4 hex >-OK
AT_PARAM_ERROR

Example:

AT+DEVADDR=01020A0B
OK

AT+DEVADDR=?
AT+DEVADDR=01020A0B
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 8 digit length, character 0-9, a-f, A-F only, representing four (4) hexadecimal numbers.

Back

AT+APPSKEY

Description: Application Session Key

This command is used to set the application session key in ABP mode.

CommandInput ParameterReturn ValueReturn Code
AT+APPSKEY?-AT+APPSKEY: get or set the application session key.OK
AT+APPSKEY=<Input>< 16 hex >OK
AT_PARAM_ERROR

Example:

AT+APPSKEY=01020AFBA1CD4D20010230405A6B7F88
OK

AT+APPSKEY=01020AFBA1CD4D20010230405A6B7F
AT_PARAM_ ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.

Back

AT+NWKSKEY

Description: Network Session Key

This command is used to get or set the network session key in ABP mode.

CommandInput ParameterReturn ValueReturn Code
AT+NWKSKEY?-AT+NWKSKEY: get or set the network session key (16 bytes in hex)OK
AT+NWKSKEY=?-AT+NWKSKEY=< 16 hex >OK
AT+NWKSKEY=<Input>< 16 hex >-OK
AT_PARAM_ERROR

Example:

AT+NWKSKEY=01020AFBA1CD4D20010230405A6B7F88
OK

AT+NWKSKEY=?
AT+NWKSKEY=01020AFBA1CD4D20010230405A6B7F88
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. <Input>: 32 digit length, character 0-9, a-f, A-F only, representing 16 hexadecimal numbers.

Back

AT+NETID

Description: Network ID (NetID)

This command is used to access the network identifier (NetID) of 3 octets.

CommandInput ParameterReturn ValueReturn Code
AT+NETID?-AT+NETID: get or set the network ID (NetID) (3 bytes in hex)OK
AT+NETID=?-AT+NETID=< 3 hex >OK

Example:

AT+NETID=?
AT+NETID=000001
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • Keys are MSB first. Return Value: 6-digit length, character 0-9, a-f, A-F only, representing three (3) hexadecimal numbers.

Back

AT+MCROOTKEY

Description: Multicast Root Key

This command is used to get the multicast root key of the device.

CommandInput ParameterReturn ValueReturn Code
AT+MCROOTKEY?-AT+MCROOTKEY: get the multicast root key (32 bytes in hex)OK
AT+MCROOTKEY=?-<32 hex>OK

Example:

AT+MCROOTKEY=?
AT+MCROOTKEY=46B1A450DDDE349310F0EFDEEDFBB44B
OK

Back

LoRaWAN Joining and Sending

This section describes the commands related to the join procedure and data payload.

AT+CFM

Description: Confirm Mode

This command is used to configure the uplink payload to be confirmed or unconfirmed type.

CommandInput ParameterReturn ValueReturn Code
AT+CFM?-AT+CFM: get or set the confirmation mode (0 = OFF, 1 = ON)OK
AT+CFM=?-AT+CFM= (0 or 1)OK
AT+CFM=<Input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+CFM=1
OK

AT+CFM=?
AT+CFM=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0.
    AT+CFS=? is used to know whether the last sent message has been confirmed or not. When the confirmation mode is 1, each sent message must be confirmed FAILED or OK.
    e.g.
?>at+send=12:123456
?>+EVT: SEND CONFIRMED FAILED
?>at+send=12:123456
?>+EVT: SEND CONFIRMED OK

Back

AT+CFS

Description: Confirm Status

This command is used to access the status of the last SEND command.

CommandInput ParameterReturn ValueReturn Code
AT+CFS?-AT+CFS: get the confirmation status of the last AT+SEND (0 = failure, 1 = success)OK
AT+CFS=?-0 or 1OK

Example:

AT+CFS=?
AT+CFS=0
OK
NOTE

This command works together with AT+CFM=1, which is the confirm mode configuration. If the return of this command is 1, the last confirmed uplink is successful. If it is 0, then the last confirmed uplink attempt failed. This command is read only, and the default value on device startup is 0.

Back

AT+JOIN

Description: Join LoRaWAN Network

This command is used to join a LoRaWAN network.

CommandInput ParameterReturn ValueReturn Code
AT+JOIN?-AT+JOIN: join networkOK
AT+JOIN=?-AT+JOIN=Param1: Param2: Param3: Param4OK or AT_BUSY_ERROR
AT+JOIN=<Input Parameter>Param1:Param2:Param3:Param4-OK
Param1 = Join command: 1 for joining the network, 0 for stop joining.
Param2 = Auto-Join config: 1 for Auto-join on power up, 0 for no auto-join.
(Optional parameter
0 is default)
Param3 = Reattempt interval: 7 - 255 seconds
(Optional parameter
8 seconds is default).
Param4 = No. of join attempts: 0 - 255
(Optional parameter
0 times is default).
NOTE

This is an asynchronous command. OK means that the device is joining. The completion of the JOIN can be verified with the AT+NJS=? command.
Parameters of AT+JOIN command are optional. You can use AT+JOIN directly to join the LoRaWAN network. If no parameters are configured, the device will use the default values.

The device will as well respond with an asynchronous message whether the join process was successful or failed.

Examples:

Successful join attempt

AT+JOIN=1:0:10:8

OK
+EVT:JOINED

Failed join attempt

AT+JOIN=1:0:10:8

OK
+EVT:JOIN FAILED
NOTE

If joining fails, make sure your device is within the coverage of the gateway. Also, ensure that the RUI3 LoRaWAN device is in LoRaWAN mode via AT+NWM=1. The region is correct via AT+BAND, and the EUIs and keys are correct.

Back

AT+NJM

Description: Network Join Mode

This command is used to access the network join mode.

CommandInput ParameterReturn ValueReturn Code
AT+NJM?-AT+NJM: get or set the network join mode (0 = ABP, 1 = OTAA)OK
AT+NJM-0OK
AT+NJM=<Input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+NJM=?
0
OK

AT+NJM=1
OK

AT+NJM=2
OK
AT_PARAM_ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 1.

Back

AT+NJS

Description: LoRa Network Join status

This command is used to access the current activation status of the device. It shows if the device joined or not in a LoRaWAN network.

CommandInput ParameterReturn ValueReturn Code
AT+NJS?-AT+NJS: get the join status (0 = not joined, 1 = joined)OK
AT+NJS=?-AT+NJS= (0 or 1)OK

Example:

AT+NJS=?
AT+NJS=0
OK

AT+NJS=?
AT+NJS=1
OK
NOTE

The command will return 1 if the device has successfully joined the network and 0 if the device hasn't joined the network yet.

Back

AT+RECV

Description: Last received data

This command is used to access the last received data in hex format.

CommandInput ParameterReturn ValueReturn Code
AT+RECV?-AT+RECV: print the last received data in hex formatOK
AT+RECV=?-AT+RECV=<port>:<payload> OK

Where:

  • <port>: 1 decimal integer and the range of values is 1~233.
  • <payload>: 2500 digit length, must be an even number of digits and character 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.

Example:

AT+RECV=?
AT+RECV=45:112233
OK

This command returns the last received data in a form, along with the port on which it was received. The format of the output is as follows:

<port>:<payload><CR><LF>
<CR><LF>OK<CR><LF>

When called twice, without new data received between the calls, the second AT+RECV=? returns an empty value as shown below:

0:
OK

Back

AT+SEND

Description: Send data

This command provides the way to send data on a dedicated port number.

CommandInput ParameterReturn ValueReturn Code
AT+SEND?-AT+SEND: send data along with the application portOK
AT+SEND=<input><port>:<payload>-OK
AT_PARAM_ERROR
AT_BUSY_ERROR
AT_NO_NETWORK_JOINED

Where:

  • <port>: 1 decimal integer and the range of values is 1~233.
  • <payload>: 2500-digit length, must be an even number of digits and character 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.

Example:

AT+SEND=12:112233
OK
NOTE
  • AT_PARAM_ERROR R is returned when setting wrong or malformed value.
  • AT_BUSY_ERROR is returned when the previous send is not complete (send waiting for duty cycle, rx window not consumed).
  • AT_NO_NETWORK_JOINED is returned when the network is not yet joined.
NOTE

This is an asynchronous command. OK means that the device has started to send. The device will as respond with an asynchronous message whether the send process was successful or failed.

Back

AT+LPSEND

Description: Long packet data

This command provides the way to send long packet text data.

CommandInput ParameterReturn ValueReturn Code
AT+LPSEND?-AT+LPSEND: send long packet data (Maximum is 1000 bytes)OK
AT+LPSEND=<Input>-<port>:<ack>:<payload> OK
AT_PARAM_ERROR

Where: <port>: application port to be transmitted <ack>; – 0: indicates this is an unconfirmed message; – 1: indicates this is a confirmed message; <payload>: payload in hexadecimal format strings (maximum length is 1000 bytes).

Example:

AT+LPSEND=2:1:123456
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • This command is only supported by WisGate Edge gateways and their internal LoRaWAN server.
NOTE

This is an asynchronous command. OK means that the device has started to send. The device will as respond with an asynchronous message whether the send process was successful or failed.

NOTE

Long packet data mode is only supported for uplink packets. Downlink packets cannot have the long packet data format.

Back

AT+RETY

Description: Confirm packet retransmission

This command sets the number of retransmissions of confirmed packet data.

CommandInput ParameterReturn ValueReturn Code
AT+RETY?-AT+RETY: set the number of retransmissions of Confirm packet dataOK
AT+RETY=?-AT+RETY= [0,1,2,3,4,5,6,7]OK
AT+RETY=<input>[0,1,2,3,4,5,6,7]-OK
AT_PARAM_ERROR

Example:

AT+RETY=?
AT+RETY=3
OK

AT+RETY=2
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0, and the retry cycle range of values is 0~7.

Back

LoRaWAN Network Management

This section provides a set of commands for network management.

AT+ADR

Description: Adaptive Rate

This command is used to access the adaptive data rate.

CommandInput ParameterReturn ValueReturn Code
AT+ADR?-AT+ADR: get or set the adaptive data rate setting (0 = OFF, 1 = ON)OK
AT+ADR=?-AT+ADR=(0 or 1)OK
AT+ADR=<Input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+ADR=?
AT+ADR=1
OK

NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 1.

Back

AT+CLASS

Description: LoRa Class

This command is used to access the LoRaWAN class.

CommandInput ParameterReturn ValueReturn Code
AT+CLASS?-AT+CLASS: get or set the device class (A = class A, B = class B, C = class C)OK
AT+CLASS=?-AT+CLASS=(A, B, or C)OK
AT+CLASS=<Input Parameter>A, B, or C-OK or AT_PARAM_ERROR

Examples:

AT+CLASS=A
OK

AT+CLASS=?
AT+CLASS=A
OK
NOTE

When operating in CLASS B, more return value is shown, that shows the current state of Class B operation:

Class B StatusDescription
B:S0DeviceTimeReq
B:S1Beacon Searching
B:S2Beacon Locked
B:S3Beacon Failed

Example:

AT+CLASS=B
OK

AT+CLASS=?
AT+CLASS=B:S0
OK

Back

AT+DCS

Description: Duty cycle settings

CommandInput ParameterReturn ValueReturn Code
AT+DCS?-AT+DCS: get or set the ETSI duty cycle setting (0 = disabled, 1 = enabled)OK
AT+DCS=?-AT+DCS=(0 or 1)OK
AT+DCS=<Input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+DCS=?
AT+DCS=1
OK

AT+DCS=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the EU868 default value is 1. It depends on the region to disable or enable, and it can only be read.

Back

AT+DR

Description: Data rate

This command is used to access and configure data rate settings.

CommandInput ParameterReturn ValueReturn Code
AT+DR?-AT+DR: get or set the data rateOK
AT+DR=?-AT+DR=(0,1,2,3,4,5,6,7)OK
AT+DR=<Input>0,1,2,3,4,5,6,7-OK
AT_PARAM_ERROR

Example:

AT+DR=?
AT+DR=3
OK

AT+DR=2
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the EU868 default value is 0.
  • EU433 / RU864 / IN865 / EU868 / CN470 / KR920: The data rate range of values is 0-5 (DR0-DR5).
  • AS923: The data rate range of values is 2-5 (DR2-DR5).
  • US915: The data rate range of values is 0-4 (DR0-DR4).
  • AU915 / LA915: The data rate range of values is 0-6 (DR0-DR6).
  • Complete information about DR parameter on each region can be found on RUI3 Appendix - LoRaWAN Regional Parameter (Data Rate).

Back

AT+JN1DL

Description: Join delay on RX window 1

This command is used to configure the join delay on RX window 1. The range of acceptable values is 1 to 14 seconds.

CommandInput ParameterReturn ValueReturn Code
AT+JN1DL?-AT+JN1DL: get or set the join accept delay between the end of TX and the join RX window 1 in secondOK
AT+JN1DL=?-5OK
AT_BUSY_ERROR
AT+JN1DL=<input><integer>-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+JN1DL=?
AT+JN1DL=5
OK

AT+JN1DL=10
OK
NOTE
  • AT_BUSY_ERROR is returned when a join or a send is being processed.
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 5. <Input>: 1-decimal integer and the range of values is 1~14.

Back

AT+JN2DL

Description: Join delay on RX window 2

This command is used to configure the join delay on RX window 2. The range of acceptable values is 2 to 15 seconds.

CommandInput ParameterReturn ValueReturn Code
AT+JN2DL?-AT+JN2DL: get the join accept delay between the end of TX and the join RX window 2 in secondOK
AT+JN2DL=?-6OK
AT_BUSY_ERROR
AT+JN2DL=<input><integer>-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+JN2DL=?
AT+JN2DL=6
OK
NOTE
  • Take note that AT+JN2DL must be larger than AT+JN1DL or it will not work. AT_BUSY_ERROR is returned when wrong setting is applied.
  • Also, AT_BUSY_ERROR is returned when a join or a send is being processed.
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+PNM

Description: Public network mode

This command is used to access the public network mode.

CommandInput ParameterReturn ValueReturn Code
AT+PNM?-AT+PNM: get or set the public network mode (0 = off, 1 = on)OK
AT+PNM=?-0 or 1OK
AT+PNM=<input>0 or 1-OK
AT_PARAM_ERROR

Example:

AT+PNM=?
AT+PNM=0
OK

AT+PNM=1
OK

AT+PNM=2
AT_PARAM_ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 1.

Back

AT+RX1DL

Description: Delay of the received window 1

This command is used to access the delay of the received window 1. The range of acceptable values is 1 to 15 seconds. Whenever AT+RX1DL is updated, AT+RX2DL is also updated automatically.

CommandInput ParameterReturn ValueReturn Code
AT+RX1DL?-AT+RX1DL: get or set the delay between the end of TX and the RX window 1 (in 1~15 seconds)OK
AT+RX1DL=?-<integer>OK
AT+RX1DL=<input><integer>-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+RX1DL=?
AT+RX1DL=1
OK

AT+RX1DL=10
OK
NOTE
  • AT_PARAM_ERROR is returned when a join or a send is being processed.
  • AT_BUSY_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 1. <Input>: 1-decimal integer and the range of values is 1~15.

Back

AT+RX2DL

Description: Delay of the received window 2

This command is used to access the delay of the received window 2. The range of acceptable values is 2 to 15 seconds. Whenever AT+RX2DL is updated, AT+RX1DL is also updated automatically.

CommandInput ParameterReturn ValueReturn Code
AT+RX2DL?-AT+RX2DL: get the delay between the end of TX and the RX window 2 (in 2~15 seconds)OK
AT+RX2DL=?-<integer>OK AT_BUSY_ERROR

Example:

AT+RX2DL=?
AT+RX2DL=2
OK
NOTE
  • AT_BUSY_ERROR is returned when setting wrong or malformed value.

Back

AT+RX2DR

Description: Data rate of the received window 2

This command is used to access the data rate of received window 2.

CommandInput ParameterReturn ValueReturn Code
AT+RX2DR?-AT+RX2DR: get or set the RX2 window data rateOK
AT+RX2DR=?-[0,1,2,3,4,5,6,7] or [8,9,10,11,12,13]OK
AT_BUSY_ERROR
AT+RX2DR=<input>[0,1,2,3,4,5,6,7] or [8,9,10,11,12,13]-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+RX2DR=?
AT+RX2DR=6
OK

AT+RX2DR=5
OK
NOTE
  • AT_PARAM_ERROR is returned when a join or a send is being processed.
  • AT_BUSY_ERROR is returned when setting wrong or malformed value.
  • In this case, the EU868 default value is 0 and the US915 default value is 8.
    EU433 / RU864 / IN865 / EU868 / CN470 / KR920 and the data rate range of values is 0-5 (DR0-DR5).
    AS923 and the data rate range of values is 2-5 (DR2-DR5).
    US915 / AU915 / LA915 and the data rate range of values is 8-13 (DR8-DR13).

Back

AT+RX2FQ

Description: Frequency of the received window 2

This command is used to access the frequency of the received window 2.

CommandInput ParameterReturn ValueReturn Code
AT+RX2FQ?-AT+RX2FQ: get the Rx2 window frequency (Hz)OK
AT+RX2FQ=?-Frequency in HzOK
AT_BUSY_ERROR

Example:

AT+RX2FQ=?
AT+RX2FQ=869535000
OK

NOTE
  • AT_BUSY_ERROR is returned when setting wrong or malformed value.
  • In this case, the EU868 default value is 869525000. It depends on the region frequency, and it can only be read.

Back

AT+TXP

Description: Transmit power

This command is used to access the transmit power.

CommandInput ParameterReturn ValueReturn Code
AT+TXP?-AT+TXP: get or set the transmitting power (0 = highest TX power, 10 = lowest TX power)OK
AT+TXP=?-<value>OK
AT_PARAM_ERROR
AT+TXP=<input><value>-OK
AT_PARAM_ERROR

Example:

AT+TXP=?
AT+TXP=1
OK

AT+TXP=4
OK
NOTE
  • AT_PARAM_ERROR is returned when a join or a send is being processed.
  • In this case, the TX Power default value is 0.
    EU868 / RU864 / KR920 / AS923 / CN470 and Transmit power range of values is 0-7.
    US915 / AU915 and Transmit power range of values is 0-14.
    EU433 and Transmit power range of values is 0-5.
    IN865 and Transmit power range of values is 0-10.
  • Highest power start from 0. Complete information about TXP parameter on each region can be found on RUI3 Appendix - LoRaWAN Regional Parameter (TX Power).

Back

AT+LINKCHECK

Description: Verify network link status

This command is used to access and configure the device network link status.

CommandInput ParameterReturn valueReturn code
AT+LINKCHECK?-AT+LINKCHECK: get or set the link check setting (0 = disabled, 1 = once, 2 = everytime)OK
AT+LINKCHECK=?-[0,1,2]OK
AT+LINKCHECK=<Input>[0,1,2]-OK
AT_PARAM_ERROR

Input parameter details:

  • 0 - Disable Link Check
  • 1 - Execute Link Check just once on the next payload uplink.
  • 2 - Module will automatically execute one-time Link Check after every payload uplink.

Example:

AT+LINKCHECK=?
AT+LINKCHECK=0
OK

AT+LINKCHECK=1
OK

AT+SEND=3:12341234
OK

+EVT:LINKCHECK:0,21,1,-60,11
NOTE

LINKCHECK is a dedicated LoRaWAN MAC command that checks the connectivity status of the end-device to the network. You will have the LINKCHECK status reply once the AT+SEND command is executed. In case of a failed uplink (regardless if confirmed or unconfirmed), the LINKCHECK reply will be +EVT:LINKCHECK:1,0,0,0,0.

Reply format: +EVT:LINKCHECK:Y0,Y1,Y2,Y3,Y4

  • Y0 represents the result of Link Check
    • 0 – represents the Link Check execute success (+EVT:LINKCHECK:0,0,1,-107,4)
    • Non-0 – represents the Link Check execute fail (+EVT:LINKCHECK:1,0,0,0,0)
  • Y1 represents the DemodMargin
  • Y2 represents the NbGateways
  • Y3 represents the RSSI
  • Y4 represents the SNR

Back

AT+LBT

Description: LoRaWAN "Listen Before Talk" (LBT)

This command is used to enable or disable LoRaWAN LBT.

CommandInput ParameterReturn ValueReturn Code
AT+LBT?-AT+LBT: get or set the LoRaWAN LBT (support Korea Japan) (0=Disabled; 1=Enabled)OK
AT+LBT=?-<0-1>OK
AT+LBT=<Input><0-1>-OK
AT_PARAM_ERROR

Example:

AT+LBT=?
AT+LBT=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+LBTRSSI

Description: LoRaWAN "Listen Before Talk" RSSI (LBTRSSI)

This command is used to set or get LoRaWAN LBT RSSI.

CommandInput ParameterReturn ValueReturn Code
AT+LBTRSSI?-AT+LBTRSSI: get or set the LoRaWAN LBT RSSI (support Korea Japan)OK
AT+LBTRSSI=?-<RSSI>OK
AT+LBTRSSI=<Input><RSSI>-OK
AT_PARAM_ERROR

Example:

AT+LBTRSSI=?
AT+LBTRSSI=-80
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+LBTSCANTIME

Description: LoRaWAN "Listen Before Talk" Scantime (LBTSCANTIME)

This command is used to set or get LoRaWAN LBT Scantime.

CommandInput ParameterReturn ValueReturn Code
AT+LBTSCANTIME?-AT+LBTSCANTIME: get or set the LoRaWAN LBT scantime (support Korea Japan)OK
AT+LBTSCANTIME=?-<time>OK
AT+LBTSCANTIME=<Input><time>-OK
AT_PARAM_ERROR

Example:

AT+LBTSCANTIME=?
AT+LBTSCANTIME=5
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+TIMEREQ

Description: Time Request

This command is used to request the current date and time.

CommandInput ParameterReturn ValueReturn Code
AT+TIMEREQ?-AT+TIMEREQ: request the current date and time (0=Disabled, 1=Enabled)OK
AT+TIMEREQ=?-<0-1>OK
AT+TIMEREQ=<Input><0-1>-OK
AT_PARAM_ERROR

Example:

AT+TIMEREQ=?
AT+TIMEREQ=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value. The time can be acquired with at+ltime=? and is returned in UTC+0 timezone as 04h36m00s on 11/27/2023

Back

AT+LTIME

Description: Local time

This command is used to access the local time in a UTC format.

CommandInput ParameterReturn ValueReturn Code
AT+LTIME?-AT+LTIME: get the local timeOK
AT+LTIME=?-LTIME:<HOUR>h<MINUTE>m<SECOND>s<DAY>-<MONTH>OK

Example:

AT+LTIME=?
LTIME: 04h36m00s on 11/27/2023
OK
NOTE

The time is returned in UTC+0 timezone as 04h36m00s on 11/27/2023

Back

Class B Mode

This section provides a set of commands for Class B mode management.

AT+PGSLOT

Description: Periodicity

This command is used to get or set the unicast ping slot periodicity.

CommandInput ParameterReturn ValueReturn Code
AT+PGSLOT?-AT+PGSLOT: get or set the unicast ping slot periodicity (0-7)OK
AT+PGSLOT=?-[0,1,2,3,4,5,6,7]
AT+PGSLOT=<input>[0,1,2,3,4,5,6,7]-OK
AT_PARAM_ERROR

Example:

AT+PGSLOT=?
AT+PGSLOT=0
OK

AT+PGSLOT=1
OK
NOTE
  • AT_PARAM_ERROR is returned when a join or a send is being processed.
  • In this case, the default value is 0.
    <Input>: 1 decimal integer and the range of values is 0~7.
    Periodicity = 0 means that the end device opens a ping slot approximately every second during the beacon_window interval.
    Periodicity = 7, every 128 seconds, which is the maximum ping period.

Back

AT+BFREQ

Description: Beacon frequency

This command is used to access the current beacon (default broadcast) frequency

CommandInput ParameterReturn ValueReturn Code
AT+BFREQ?-AT+BFREQ: get the data rate and beacon frequency (MHz)OK
AT+BFREQ=?-BCON: < 0, 1, 2, 3, 4, 5, 6, or 7 >, <integer>OK

Example:

AT+BFREQ=?
BCON: 3, 869.525
OK
NOTE
  • In this case, the EU868 SF9 / 125 MHz and the default frequency value is 869525000. It depends on the region frequency, and it can only be read.

Back

AT+BTIME

Description: Beacon time

This command is used to access the current beacon time.

CommandInput ParameterReturn ValueReturn Code
AT+BTIME?-BTIME: get the beacon time (seconds since GPS Epoch time)OK
AT+BTIME=?-BTIME: GPS epoch timeOK

Example:

AT+BTIME=?
BTIME: 1226592311
OK

Back

AT+BGW

Description: Gateway GPS coordinate, NetID, and GwID

This command is used to access the GW GPS coordinate, NetID, and GwID.

CommandInput ParameterReturn ValueReturn Code
AT+BGW?-AT+BGW: get the gateway GPS coordinate, NetID and GwIDOK
AT+BGW=?-BGW: <INFO>, <netid>, <gwid>, <longitude>, <latitude>OK

Example:

AT+BGW=?
BGW: 3, “NetID”, “GwID”, “N/A”, “N/A”
OK
NOTE

In this case, the default value is 0,0,0,0.

  • For a single omnidirectional antenna gateway, the INFO value is 0 with GPS coordinates.
  • For a site featuring three sectored antennas, for example, the first antenna INFO equals 0 with GPS coordinates, the second antenna INFO equals 1 with GPS coordinate, etc. In this case, netid and gwid are not relevant. When INFO = 3, the content of network NetID plus a freely allocated gateway gwid and longitude and latitude are not relevant.
  • Time in seconds since January 6, 1980 00:00:00 UTC (start of the GPS epoch) modulo 232.

Back

Asynchronous Events

This section describes the output from serial/comm lines of the module that can occur at any point in time while the device is operational. Host parser may need to handle this event at any time.

EventUART outputStatus description
Beacon check via AT+CLASS=?+BC:< status >LOCKED = Receive Beacon.
DONE = Switch to Class B mode.
FAILED = Beacon sync failed.
Pingslot process+PS:< status >DONE = At this time, ping slots will be opened periodically. The modem is now in Class B mode.
Class B/C downlink+EVT:< status >RX_B:-47:3:UNICAST:2:4321 -47 is RSSI, 3 is SNR, Unicast for B / Multicast for C, 2 is Fport, 4321 is payload.
Class A downlink+EVT:< status >RX_1:-70:8:UNICAST:1:1234 -70 is RSSI, 8 is SNR, 1 is Fport, 1234 is payload.
Join+EVT:< status >JOINED
JOIN_FAILED_TX_TIMEOUT
JOIN_FAILED_RX_TIMEOUT
JOIN_FAILED_errorcode = errorcode can specify specific error on joining process.
LoRaWAN Uplink+EVT:TX_DONE
AT_NO_NETWORK_JOINED
Confirm+EVT:< status >SEND_CONFIRMED_OK
SEND_CONFIRMED_FAILED
P2P+EVT:< status >TXP2P DONE = Done sending data.
RXP2P RECEIVE TIMEOUT = Nothing received on the configured P2P LoRa RX window.
RXP2P:-112:1:1234 = -112 is RSSI, 1 is SNR and 1234 is the payload.
Link Check+EVT:< status >LINKCHECK:Y0:Y1:Y2:Y3:Y4
Y0 = represents link status (1:links success, 2: link fail)
Y1 = represents the DemodMargin
Y2 = represents the NbGateways
Y3 = represents the RSSI
Y4 = represents the SNR

Back

LoRaWAN Information

This section provides a set of commands for battery level, RF signal quality, and FW version.

AT+RSSI

Description: RSSI on reception

This command is used to access the RSSI on reception.

CommandInput ParameterReturn ValueReturn Code
AT+RSSI?-AT+RSSI: get the RSSI of the last received packetOK
AT+RSSI=?--31OK
NOTE
  • AT+RSSI=? provides a value in dBm, and it can only be read.
  • When the connection is successful, it gets the RSSI of the last received packet.

Back

AT+ARSSI

Description: Inquire all channel RSSI

This command allows you to view all open channels RSSI

CommandInput ParameterReturn valueReturn code
AT+ARSSI?-AT+ARSSI: access all open channel RSSIOK
AT+ARSSI=?-0:<Channel 0 rssi>
1:<Channel 1 rssi>
.... 15:<Channel 15 rssi>
OK

Example:

AT+ARSSI=?
0:-57,1:-57,2:-57
OK
NOTE
  • AT+ARSSI=? provides a value in dBm, and it can only be read.
  • When the connection is successful, it views all open channels RSSI of the last received packet.

Back

AT+SNR

Description: Signal noise ratio

This command is used to access the SNR of the last received packet.

CommandInput ParameterReturn ValueReturn Code
AT+SNR?-AT+SNR: get the SNR of the last received packetOK
AT+SNR=?-32OK
NOTE
  • AT+SNR=? provides a value in dB and it can only be read. When the connection is successful and gets the SNR of the last received packet

Back

LoRaWAN Regional Commands

This section provides the set of commands related to channels and LoRaWAN® regions.

AT+MASK

Description: Set the channel mask, close or open the channel

This command configures the channel of the device by setting the hexadecimal channel mask.

CommandInput ParameterReturn ValueReturn Code
AT+MASK? -AT+MASK: get or set the channel mask to close or open the channel (only for US915, AU915, LA915, CN470)OK
AT+MASK=?-<mask>OK
AT+MASK=<input><mask>-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+MASK=0001
OK

AT+MASK=?
AT+MASK=0001
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • AT_BUSY_ERROR is returned when the set command process is already running.
  • In this case, the channel mask mode is only for US915, AU915, CN470, and LA915.
  • For US915 / AU915 / LA915, the default value is 01FF.
  • For CN470, the default value is 0FFF.
  • <Input>: 4-digit length, character 0-9, a-f, A-F only, representing a 16-bit mask.

The table below shows the attached list on setting the channel mask.

Sub-BandChannels16bitsUS915AU915LA915CN470
ALL00000000000000000000All ChannelsAll ChannelsAll ChannelsAll Channels
1000100000000000000010-7, 640-7, 640-7, 640-7
2000200000000000000108-15, 658-15, 658-15, 658-15
30004000000000000010016-23, 6616-23, 6616-23, 6616-23
40008000000000000100024-31, 6724-31, 6724-31, 6724-31
50010000000000001000032-39, 6832-39, 6832-39, 6832-39
60020000000000010000040-47, 6940-47, 6940-47, 6940-47
70040000000000100000048-55, 7048-55, 7048-55, 7048-55
80080000000001000000056-63, 7156-63, 7156-63, 7156-63
901000000000100000000---64-71
1002000000001000000000---72-79
1104000000010000000000---80-87
1208000000100000000000---88-95

Back

AT+CHE

Description: Eight channel mode

This command sets the node to eight-channel mode.

CommandInput ParameterReturn ValueReturn Code
AT+CHE?-AT+CHE: get or set eight channels mode (only for US915 AU915 LA915 CN470)OK
AT+CHE=?-<value>OK
AT+CHE=<Input><value>-OK
AT_PARAM_ERROR

Example:

AT+CHE=1:2:3:4
OK

AT+CHE=?
AT+CHE=1:2:3:4
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the eight-channel mode is only for US915, AU915, CN470, and LA915.
  • US915 / AU915 / LA915 range of values is 0~9.
  • CN470 range of values is 0~12.
  • For example, AT+CHE=1:2:3:4 to enable ch0~31. <value>: maximum 12 decimal numbers and the range of values depends on region.
  • According to LoRaWAN Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902.3 MHz and increments linearly by 200 kHz to 914.9 MHz.
  • The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz.

US915 Uplink Channels & Attached List

CHEUS915 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=0)
0ENABLE Channel 0-71
1902.3902.5902.7902.9903.1903.3903.5903.7Channel 0-7
2903.9904.1904.3904.5904.7904.9905.1905.3Channel 8-15
3905.5905.7905.9906.1906.3906.5906.7906.9Channel 16-23
4907.1907.3907.5907.7907.9908.1908.3908.5Channel 24-31
5908.7908.9909.1909.3909.5909.7909.9910.1Channel 32-39
6910.3910.5910.7910.9911.1911.3911.5911.7Channel 40-47
7911.9912.1912.3912.5912.7912.9913.1913.3Channel 48-55
8913.5913.7913.9914.1914.3914.5914.7914.9Channel 56-63
9903.0904.6906.2907.8909.4911.0912.6914.2Channel 64-71
NOTE
  • According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902.3 MHz and increments linearly by 200 kHz to 914.9 MHz. The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz.

AU915 Uplink Channels & Attached List

CHEAU915 Uplink Channels (125 kHz,4/5,Unit:MHz, CHS=0)
0ENABLE Channel 0-71
1915.2915.4915.6915.8916.0916.2916.4916.6Channel 0-7
2916.8917.0917.2917.4917.6917.8918.0918.2Channel 8-15
3918.4918.6918.8919.0919.2919.4919.6919.8Channel 16-23
4920.0920.2920.4920.6920.8921.0921.2921.4Channel 24-31
5921.6921.8922.0922.2922.4922.6922.8923.0Channel 32-39
6923.2923.4923.6923.8924.0924.2924.4924.6Channel 40-47
7924.8925.0925.2925.4925.6925.8926.0926.2Channel 48-55
8926.4926.6926.8927.0927.2927.4927.6927.8Channel 56-63
9915.9917.5919.1920.7922.3923.9925.5927.1Channel 64-71
NOTE
  • According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 915.2 MHz and increments linearly by 200 kHz to 927.8 MHz. The next eight (8) channels numbered 64 to 71 are starting at 915.9 MHz and increments linearly by 1.6 MHz to 927.1 MHz.

CN470 Uplink Channels & Attached List

CHECN470 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=0)
0ENABLE Channel 0-95
1470.3470.5470.7470.9471.1471.3471.5471.7Channel 0-7
2471.9472.1472.3472.5472.7472.9473.1473.3Channel 8-15
3473.5473.7473.9474.1474.3474.5474.7474.9Channel 16-23
4475.1475.3475.5475.7475.9476.1476.3476.5Channel 24-31
5476.7476.9477.1477.3477.5477.7477.9478.1Channel 32-39
6478.3478.5478.7478.9479.1479.3479.5479.7Channel 40-47
7479.9480.1480.3480.5480.7480.9481.1481.3Channel 48-55
8481.5481.7481.9482.1482.3482.5482.7482.9Channel 56-63
9483.1483.3483.5483.7483.9484.1484.3484.5Channel 64-71
10484.7484.9485.1485.3485.5485.7485.9486.1Channel 72-79
11486.3486.5486.7486.9487.1487.3487.5487.7Channel 80-87
12487.9488.1488.3488.5488.7488.9489.1489.3Channel 88-95
NOTE
  • According to LoRaWAN® Regional Parameters v1.0.3revA, the 96 channels are numbered 0 to 95, starting at 470.3 MHz and increments linearly by 200 kHz to 489.3 MHz.

Back

AT+CHS

Description: Single channel mode

This command sets the node to single-channel mode.

CommandInput ParameterReturn ValueReturn Code
AT+CHS?-AT+CHS: get or set single channels mode (only for US915 AU915 CN470)OK
AT+CHS=?-0 or <frequency>OK
AT+CHS=<Input><frequency>-OK

Example:

AT+CHS=902300000
OK
AT+CHS=?
AT+CHS=902300000
OK
NOTE

In this case, the single-channel mode is only for US915, AU915, CN470.

  • US915 frequency range is from 902300000 to 914900000 and increments linearly by 200 kHz (ch0-63).
  • US915 frequency range is from 903000000 to 914200000 and increments linearly by 1.6 MHz (ch64-71).
  • AU915 frequency range is from 915200000 to 927800000 and increments linearly by 200 kHz (ch0-63).
  • AU915 frequency range is from 915900000 to 927100000 and increments linearly by 1.6 MHz (ch64-71).
  • CN470 frequency range is from 470300000 to 489300000 and increments linearly by 200 kHz (ch0-95).
  • If you input AT+CHS=903900000, it will overwrite the AT+MASK and AT+CHE settings.
  • AT+MASK=0001(single channel mode: 903900000), the 0001 is the previous one, and the current is 90390000.

US915 Uplink Channels Frequency & Attached List

US915 Uplink Channels (125k Hz,4/5,Unit:MHz,CHS=Frequency)
ENABLE Channel 0-71
Channel 0-7902300000902500000902700000902900000903100000903300000903500000903700000
Channel 8-15903900000904100000904300000904500000904700000904900000905100000905300000
Channel 16-23905500000905700000905900000906100000906300000906500000906700000906900000
Channel 24-31907100000907300000907500000907700000907900000908100000908300000908500000
Channel 32-39908700000908900000909100000909300000909500000909700000909900000910100000
Channel 40-47910300000910500000910700000910900000911100000911300000911500000911700000
Channel 48-55911900000912100000912300000912500000912700000912900000913100000913300000
Channel 56-63913500000913700000913900000914100000914300000914500000914700000914900000
Channel 64-71903000000904600000906200000907800000909400000911000000912600000914200000
NOTE

According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 902. 3 MHz and increments linearly by 200 kHz to 914.9 MHz. The next eight (8) channels numbered 64 to 71 are starting at 903.0 MHz and increments linearly by 1.6 MHz to 914.2 MHz

AU915 Uplink Channels Frequency & Attached List

AU915 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=Frequency)
ENABLE Channel 0-71
Channel 0-7915200000915400000915600000915800000916000000916200000916400000916600000
Channel 8-15916800000917000000917200000917400000917600000917800000918000000918200000
Channel 16-23918400000918600000918800000919000000919200000919400000919600000919800000
Channel 24-31920000000920200000920400000920600000920800000921000000921200000921400000
Channel 32-39921600000921800000922000000922200000922400000922600000922800000923000000
Channel 40-47923200000923400000923600000923800000924000000924200000924400000924600000
Channel 48-55924800000925000000925200000925400000925600000925800000926000000926200000
Channel 56-63926400000926600000926800000927000000927200000927400000927600000927800000
Channel 64-71915900000917500000919100000920700000922300000923900000925500000927100000
NOTE

According to LoRaWAN® Regional Parameters v1.0.3revA, the first 64 channels are numbered 0 to 63, starting at 915.2 MHz and increments linearly by 200 kHz to 927.8 MHz. The next eight (8) channels numbered 64 to 71 are starting at 915.9 MHz and increments linearly by 1.6 MHz to 927.1 MHz.

CN470 Uplink Channels Frequency & Attached List


CN470 Uplink Channels (125 kHz,4/5,Unit:MHz,CHS=Frequency)

ENABLE Channel 0-95
Channel 0-7470300000470500000470700000470900000471100000471300000471500000471700000
Channel 8-15471900000472100000472300000472500000472700000472900000473100000473300000
Channel 16-23473500000473700000473900000474100000474300000474500000474700000474900000
Channel 24-31475100000475300000475500000475700000475900000476100000476300000476500000
Channel 32-39476700000476900000477100000477300000477500000477700000477900000478100000
Channel 40-47478300000478500000478700000478900000479100000479300000479500000479700000
Channel 48-55479900000480100000480300000480500000480700000480900000481100000481300000
Channel 56-63481500000481700000481900000482100000482300000482500000482700000482900000
Channel 64-71483100000483300000483500000483700000483900000484100000484300000484500000
Channel 72-79484700000484900000485100000485300000485500000485700000485900000486100000
Channel 80-87486300000486500000486700000486900000487100000487300000487500000487700000
Channel 88-95487900000488100000488300000488500000488700000488900000489100000489300000
NOTE

According to LoRaWAN® Regional Parameters v1.0.3revA, the 96 channels are numbered 0 to 95, starting at 470.3 MHz and increments linearly by 200 kHz to 489.3 MHz.

Back

AT+BAND

Description: Active region

This command sets numbers corresponding to active regions.

CommandInput ParameterReturn ValueReturn Code
AT+BAND?-AT+BAND: get or set the active region
(0 = EU433, 1 = CN470, 2 = RU864, 3 = IN865, 4 = EU868,
5 = US915, 6 = AU915, 7 = KR920, 8 = AS923-1, 9 = AS923-2, 10 = AS923-3, 11 = AS923-4, 12 = LA915)
OK
AT+BAND=?-0,1,2,3,4,5,6,7,8,9,10,11,12OK
AT+BAND=<Input>0,1,2,3,4,5,6,7,8,9,10,11,12-OK
AT_PARAM_ERROR
AT_BUSY_ERROR

Example:

AT+BAND=?
AT+BAND=3
OK

AT+BAND=2
OK

NOTE
  • If you are using US915, it is common to have an 8-ch Gateway/LNS setup with channels 8–15. To enable these channels, use AT+MASK=0002.

  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

  • AT_BUSY_ERROR is returned when the set command process is already running.

  • In this case, the default value is 4, and it depends on the region. 0: EU433 1: CN470 2: RU864 3: IN865 4: EU868 5: US915 6: AU915 7: KR920 8: AS923-1 9: AS923-2 10: AS923-3 11: AS923-4 12: LA915 <Input>: 1 decimal integer and the range of values is 0~8.

  • RUI3 LoRa/LoRaWAN® devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.

    • Low frequency variant is compatible only to 0 - 1.
    • High frequency variant is compatible only to 2 - 12.

Back

LoRaWAN Multicast Group

This section describes the commands related to multicast group functionality.

AT+ADDMULC

Description: Add multicast group

This command is used to add a new multicast group and multicast parameters.

CommandInput ParameterReturn ValueReturn Code
AT+ADDMULC?-AT+ADDMULC: add a new multicast groupOK
AT+ADDMULC=<Input Parameter>[Class]:[DevAddr]:[NwkSKey]:[AppSKey]:[Frequency]:[Datarate]:[Periodicity]-OK or AT_PARAM_ERROR
NOTE

Class B and Class C use the same command input parameters. The periodicity needs to be configured even on Class C so that the command will be accepted with the needed parameters.

Examples:

AT+ADDMULC=B:11223344:11223344556677881122334455667788:11223344556677881122334455667788:868000000:0:0

OK

Back

AT+RMVMULC

Description: Remove multicast group

This command is used to remove the configured multicast group.

CommandInput ParameterReturn ValueReturn Code
AT+RMVMULC?-AT+RMVMULC: delete a multicast groupOK
AT+RMVMULC=<Input Parameter><DevAddr>-OK

Example:

You can only remove a group with the address already added.

AT+RMVMULC=11223344

OK

Back

AT+LSTMULC

Description: Multicast list

This command is used to get the information about the configured multicast group.

CommandInput ParameterReturn ValueReturn Code
AT+LSTMULC?-AT+RMVMULC: view multicast group informationOK
AT+LSTMULC=?-MC1:[Class]:[DevAddr]:[NwkSK ey]:[AppSKey]:[Frequency]:[Datarate]OK

Examples:

AT+LSTMULC=?
B:11223344:11223344556677881122334455667788:11223344556677881122334455667788:868000000:0

OK

Back

P2P Instructions

This section describes the commands related to LoRa point-to-point functionality.

AT+NWM

Description: LoRa network work mode

Switch to point-to-point mode, or LoRaWAN mode [0:Point-to-point, 1:LoRaWAN].

CommandInput ParameterReturn ValueReturn Code
AT+NWM? -AT+NWM: get or set the network working mode (0 = P2P_LORA, 1 = LoRaWAN, 2 = P2P_FSK)OK
AT+NWM=?-0,1,2OK
AT+NWM=<Input>0,1,2The RUI3 device will restart automatically to switch network work mode-

Example:

AT+NWM=?
AT+NWM=1
OK

AT+NWM=0
OK
RAKwireless RAK3172
------------------------------------------------------
Version: RUI_4.0.4_RAK3172-E
Current Work Mode: LoRa P2P.
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 1.
  • On RAK4630/RAK4631, the device will restart which requires reconnection to detect it again via UART.

Back

AT+PFREQ

Description: P2P mode frequency

This command sets the frequency of P2P mode.

CommandInput ParameterReturn valueReturn code
AT+PFREQ?-AT+PFREQ: configure P2P FrequencyOK
AT+PFREQ=?-<Frequency>OK
AT+PFREQ=<param><Frequency>-OK
AT_PARAM_ERROR

Example:

AT+PFREQ=?
AT+PFREQ=868000000
OK

AT+PFREQ=868500000
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default frequency value is 868000000, and the frequency range is from 150000000 to 960000000.
  • RUI3 LoRa/LoRaWAN devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.
    • Low frequency variant is compatible only to 150000000 - 600000000.
    • High frequency variant is compatible only to 600000000 - 960000000.

Back

AT+PSF

Description: P2P mode spreading factor

This command provides a configuration of the spreading factor for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PSF?-AT+PSF: configure P2P Spreading Factor (5-12)OK
AT+PSF=?-<Spreading Factor>OK
AT+PSF=<param><Spreading Factor>-OK
AT_PARAM_ERROR

Example:

AT+PSF=?
AT+PSF=7
OK

AT+PSF=12
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 7, and the Spreading Factor range of values is 5~12. P2P is an SW proprietary protocol, and it depends on HW support the range of Spreading Factors SF5~SF12.

Back

AT+PBW

Description: P2P mode bandwidth

This command provides bandwidth configuration for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PBW? -AT+PBW: configure P2P Bandwidth
(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63,
6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK: 4800-467000)
OK
AT+PBW=? -<Bandwidth>OK
AT+PBW=<param><Bandwidth>-OK
AT_PARAM_ERROR

Example: Changing to bandwidth 250 kHz from 100 kHz.

AT+PBW=?
AT+PBW=0
OK

AT+PBW=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0 = 125 kHz.

Back

AT+PCR

Description: P2P mode code rate

This command provides the configuration code rate for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PCR? -AT+PCR: configure P2P Code Rate
(0=4/5, 1=4/6, 2=4/7, 3=4/8)
OK
AT+PCR=? -<Code Rate>OK
AT+PCR=<param><Code Rate>-OK
AT_PARAM_ERROR

Example:

AT+PCR=?
AT+PCR=2
OK

AT+PCR=3
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0, and the code rate range of values is 0~3. LoRa using coding rate 4/5.

Back

AT+PPL

Description: P2P mode preamble length

This command provides configuration Preamble Length for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PPL?-AT+PPL: configure P2P Preamble Length (5-65535)OK
AT+PPL=?-<Preamble Length>OK
AT+PPL=<param><Preamble Length>-OK
AT_PARAM_ERROR

Example:

AT+PPL=?
AT+PPL=8
OK

AT+PPL=8
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 8. <param>: 1 decimal integer, and the range of values is 5~65535.

Back

AT+PTP

Description: P2P mode TX power

This command provides configuration TX Power for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PTP?-AT+PTP: configure P2P TX power (5-22)OK
AT+PTP=? -<TX Power> OK
AT+PTP=<param><TX Power>-OK
AT_PARAM_ERROR

Example:

AT+PTP=?
AT+PTP=14
OK

AT+PTP=20
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the TX Power default value is 14 dBm, and the range of values is 5~22 dBm.

Back

AT+PBR

Description: P2P FSK bitrate

This command gets or sets the P2P FSK modem bitrate (600 b/s-300000 b/s).

CommandInput ParameterReturn ValueReturn Code
AT+PBR?-AT+PBR: get or set the P2P FSK modem bitrate (600-300000 b/s)OK
AT+PBR=? -<fbitrate> OK
AT+PBR=<param><fbitrate>-OK
AT_PARAM_ERROR

Example:

AT+PBR=?
AT+PBR=4915
OK

AT+PBR=4915
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+PFDEV

Description: P2P FSK modem frequency deviation

This command gets or sets the P2P FSK modem frequency deviation (600-200000 Hz).

CommandInput ParameterReturn ValueReturn Code
AT+PFDEV?-AT+PFDEV: get or set the P2P FSK modem frequency deviation (600-200000 Hz)OK
AT+PFDEV=? -<frequency deviation> OK
AT+PFDEV=<param><frequency deviation>-OK
AT_PARAM_ERROR

Example:

AT+PFDEV=?
AT+PFDEV=5000
OK

AT+PFDEV=5000
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+PSEND

Description: P2P send data

This command provides the way to P2P send data.

CommandInput ParameterReturn ValueReturn Code
AT+PSEND?-AT+PSEND: send data in P2P modeOK
AT+PSEND=<Input><payload>-OK
+EVT:TXP2P DONE
AT_PARAM_ERROR

Example:

AT+PSEND=112233
OK
+EVT:TXP2P DONE
NOTE
  • OK will return immediately after the command is sent to the module.
  • +EVT:TXP2P DONE will return once the payload has been sent.
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <payload>: 2500 digit length, must be an even number of digits and characters 0-9, a-f, A-F only, representing 1256 hexadecimal numbers.
  • AT+PSEND can be blocked by certain settings of P2P RX mode. You can disable P2P RX mode and switch to P2P TX mode via the AT+PRECV=0 command to ensure that P2P RX mode is not blocking the AT+PSEND command.

Back

AT+CAD

Description: P2P Channel Activity Detection

This command allows the user to get or set the Channel Activity Detection of P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+CAD?-AT+CAD: get or set the Channel Activity Detection of P2P mode (1 = ON, 0 = OFF)OK
AT+CAD=? -<0 or 1> OK
AT+CAD=<Input><0 or 1>-OK
AT_PARAM_ERROR

Example:

AT+CAD=?
AT+CAD=0
OK

AT+CAD=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
NOTE

When CAD mode is enabled, the device will continue to check for channel activity until it can send the packet.

Back

AT+PRECV

Description: P2P received data

This command provides configuration the timeout period for P2P window reception.

CommandInput ParameterReturn ValueReturn Code
AT+PRECV? -AT+PRECV: enter P2P RX mode for a period of time (ms)OK
AT+PRECV=<Input><time>-OK

When valid LoRa P2P packets are received, the format is RSSI, SNR and Payload.

+EVT:RXP2P:-30:13:1234

  • RSSI = -30
  • SNR = 13
  • Payload = 1234

Examples:

  1. P2P LoRa RX configurable duration value ranges from 1 to 65532 ms. In this example, the device will wait 30 seconds for LoRa P2P packets. After the timeout, it will automatically disable RX mode and switch to TX mode. The callback after timeout is +EVT:RXP2P RECEIVE TIMEOUT.
AT+PRECV=30000
OK
  1. If the value is set to 65535, the device will listen to P2P LoRa packets without timeout but it will stop listening once a P2P LoRa packet is received. The device is configured to RX mode until a LoRa P2P packet is received. After the reception, it will disable RX mode and automatically switch to TX mode.
AT+PRECV=65535
OK
  1. If the value is set to 65534, the device will continuously listen to P2P LoRa packets without any timeout. The device is in RX mode. It will continuously be listed to LoRa P2P packets.
AT+PRECV=65534
OK
NOTE

If configured in continuous RX mode AT+PRECV=65534, any new values to AT+PRECV will not be accepted. RX mode must be disabled first via AT+PRECV=0. During continuous RX mode, many LoRa P2P parameters cannot be modified as well. AT+PRECV must be set to zero first.

  1. If the value is set to 65533, the device will continuously listen to P2P LoRa packets without any timeout and will still allow P2P TX. The device is in RX mode and also allows P2P Transmission. After P2P transmission, it will switch to RX mode.
AT+PRECV=65533
OK
  1. If the value is 0, the device will stop listening to P2P LoRa packets. It disables LoRa P2P RX mode and switches to TX mode.
AT+PRECV=0
OK
NOTE
  • LoRa P2P default setting is TX mode. This consumes lower power compared to RX mode where the radio is always listening for LoRa packets.
  • AT_BUSY_ERROR is returned if the device is configured to RX mode and still waiting for LoRa P2P packets.
  • AT_PARAM_ERROR is returned when the setting is wrong or malformed value.

Back

AT+ENCRY

Description: P2P encryption enabled

This command enables P2P mode encryption.

CommandInput ParameterReturn ValueReturn Code
AT+ENCRY?-AT+ENCRY: get or set the encryption status of P2P modeOK
AT+ENCRY=?-0 or 1OK
AT+ENCRY=<Input><value>-OK

Example:

AT+ENCRY=1
OK

AT+ENCRY=?
AT+ENCRY=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0.

Back

AT+ENCKEY

Description: P2P Encryption Key

This command Key will encrypt the data being sent and received.

CommandInput ParameterReturn ValueReturn Code
AT+ENCKEY?-AT+ENCRY: get or set the encryption key of P2P mode (16 bytes in hex)OK
AT+ENCKEY=?-< 16 hex >OK
AT+ENCKEY=<Input>< 16 hex >-OK

Example:

AT+ENCKEY=01020304050607080102030405060708
OK

AT+ENCKEY=?
AT+ENCKEY=01020304050607080102030405060708
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • <Input>: 32 digit length, character 0-9, a-f, A-F only, representing eight (16) hexadecimal numbers.

Back

AT+PCRYPT

Description: P2P crypt status

This command allows the user to access the crypt status in P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PCRYPT?-AT+PCRYPT: get or set the encryption status of P2P modeOK
AT+PCRYPT=?-0 or 1OK
AT+PCRYPT=<Input><value>-OK

Example:

AT+PCRYPT=1
OK

AT+PCRYPT=?
AT+PCRYPT=1
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • In this case, the default value is 0.

Back

AT+PKEY

Description: P2P encryption and decryption key

This command allows the user to access the encryption and decryption key in P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+PKEY?-AT+PKEY: get or set the encryption key of P2P mode (8 bytes in hex)OK
AT+PKEY=?-<8 hex>OK
AT+PKEY=<Input><8 hex>-OK

Example:

AT+PKEY=0011223344556677
OK

AT+PKEY=?
AT+PKEY=0011223344556677
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+CRYPIV

Description: P2P encryption IV

This command allows the user to get or set the encryption IV of P2P mode (16 bytes in hex).

CommandInput ParameterReturn ValueReturn Code
AT+CRYPIV?-AT+CRYPIV: get or set the encryption key of P2P mode (16 bytes in hex)OK
AT+CRYPIV=?-<16 hex>OK
AT+CRYPIV=<Input><16 hex>-OK

Example:

AT+CRYPIV=00112233445566770011223344556677
OK

AT+CRYPIV=?
AT+CRYPIV=00112233445566770011223344556677
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+P2P

Description: View P2P all parameters

This command provides configuration of all parameters for the P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+P2P?-AT+P2P: get or set all P2P parametersOK
AT+P2P=?--OK
AT_BUSY_ERROR
AT+P2P=<param><Frequency>:<Spreading Factor>:<Bandwidth>:<Code Rate>:<Preamble Length>:<TX Power>-OK
AT_PARAM_ERROR

Example:

AT+P2P=?
AT+P2P=868000000:7:0:0:20:14
OK

AT+P2P=868:12:300:3:200:14
AT_PARAM_ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting a wrong or malformed value.

  • In this case, the default value is “868000000:7:125:0:8:14”.

  • Frequency = {150000000-960000000}, SF = {6, 7, 8, 9, 10, 11, 12}, Bandwidth {0=125, 1=250, 2=500, 3=7.8, 4=10.4, 5=15.63, 6=20.83, 7=31.25, 8=41.67, 9=62.5}, CR = {4/5=0, 4/6=1, 4/7=2, 4/8=3}, Preamble Length = {2-65535}, TX Power = {5-22}.

  • RUI3 LoRa/LoRaWAN® devices are divided into two variants - Low Frequency and High Frequency. Examples are the RAK4630(L) and RAK4630(H) devices.

    • Low frequency variant is compatible only to 150000000 - 600000000.
    • High frequency variant is compatible only to 600000000 - 960000000.

Back

AT+IQINVER

Description: P2P IQ Inversion

This command is used to get or set P2P IQ Inversion (1 = ON, 0 = OFF).

CommandInput ParameterReturn ValueReturn Code
AT+IQINVER?-AT+IQINVER: get or set P2P IQ inversion (1 = ON, 0 = OFF)OK
AT+IQINVER=?-<0 or 1>OK
AT+IQINVER=<Input><0 or 1>-OK
AT_PARAM_ERROR

Example:

AT+IQINVER?
AT+IQINVER: get or set P2P IQ inversion (1&nbsp;=&nbsp;ON, 0&nbsp;=&nbsp;OFF)
OK

AT+IQINVER=?
AT+IQINVER=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+SYNCWORD

Description: P2P Syncword in P2P Mode

This command is used to get or set P2P syncword (0x0000 - 0xffff).

CommandInput ParameterReturn ValueReturn Code
AT+SYNCWORD?-AT+SYNCWORD: get or set P2P syncword (0x0000 - 0xffff)OK
AT+SYNCWORD=?-<2 Hex>OK
AT+SYNCWORD=<Input><2 Hex>-OK
AT_PARAM_ERROR

Example:

AT+SYNCWORD?
AT+SYNCWORD: get or set P2P syncword (0x0000 - 0xffff)
OK

AT+SYNCWORD=?
AT+SYNCWORD=1424
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+RFFREQUENCY

Description: Frequency in P2P Mode

This command is used to access the frequency in P2P mode.

CommandInput ParameterReturn ValueReturn Code
AT+RFFREQUENCY?-AT+RFFREQUENCY: get or set P2P FrequencyOK
AT+RFFREQUENCY=?-<interger>OK
AT+RFFREQUENCY=<Input><interger>-OK
AT_PARAM_ERROR

Example:

AT+RFFREQUENCY?
AT+RFFREQUENCY: get or set P2P Frequency
OK

AT+RFFREQUENCY=?
AT+RFFREQUENCY=868000000
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+TXOUTPUTPOWER

Description: P2P Tx Power (5 - 22)

This command is used to get or set the P2P Tx Power (5 - 22).

CommandInput ParameterReturn ValueReturn Code
AT+TXOUTPUTPOWER?-AT+TXOUTPUTPOWER: get or set P2P Tx Power(5-22)OK
AT+TXOUTPUTPOWER=?-<powerlevel>OK
AT+TXOUTPUTPOWER=<Input><powerlevel>-OK
AT_PARAM_ERROR

Example:

AT+TXOUTPUTPOWER?
AT+TXOUTPUTPOWER: get or set P2P Tx Power(5-22)
OK

AT+TXOUTPUTPOWER=?
AT+TXOUTPUTPOWER=14
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+BANDWIDTH

Description: P2P Bandwidth

This command is used to get or set the P2P Bandwidth.

CommandInput ParameterReturn ValueReturn Code
AT+BANDWIDTH?-AT+BANDWIDTH: get or set P2P Bandwidth(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63, 6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK:4800-467000)OK
AT+BANDWIDTH=?-<bandwidth>OK
AT+BANDWIDTH=<Input><bandwidth>-OK
AT_PARAM_ERROR

Example:

AT+BANDWIDTH?
AT+BANDWIDTH: get or set P2P Bandwidth(LORA: 0 = 125, 1 = 250, 2 = 500, 3 = 7.8, 4 = 10.4, 5 = 15.63, 6 = 20.83, 7 = 31.25, 8 = 41.67, 9 = 62.5 FSK:4800-467000)
OK

AT+BANDWIDTH=?
AT+BANDWIDTH=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+SPREADINGFACTOR

Description: P2P Spreading Factor (5 -12)

This command is used to get or set the P2P spreading factor (5 - 12).

CommandInput ParameterReturn ValueReturn Code
AT+SPREADINGFACTOR?-AT+SPREADINGFACTOR: get or set P2P Spreading Factor (5-12)OK
AT+SPREADINGFACTOR=?-<spreading factor>OK
AT+SPREADINGFACTOR=<Input><spreading factor>-OK
AT_PARAM_ERROR

Example:

AT+SPREADINGFACTOR?
AT+SPREADINGFACTOR: get or set P2P Spreading Factor (5-12)
OK

AT+SPREADINGFACTOR=?
AT+SPREADINGFACTOR=7
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+CODINGRATE

Description: P2P Coding Rate

This command is used to get or set the P2P code rate.

CommandInput ParameterReturn ValueReturn Code
AT+CODINGRATE?-AT+CODINGRATE: get or set P2P Code Rate(0=4/5, 1=4/6, 2=4/7, 3=4/8)OK
AT+CODINGRATE=?-<coding rate>OK
AT+CODINGRATE=<Input><coding rate>-OK
AT_PARAM_ERROR

Example:

AT+CODINGRATE?
AT+CODINGRATE: get or set P2P Code Rate(0=4/5, 1=4/6, 2=4/7, 3=4/8)
OK

AT+CODINGRATE=?
AT+CODINGRATE=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+PREAMBLELENGTH

Description: P2P Preamble Length (5 - 65535)

This command is used to get or set the P2P preamble length (5 - 65535).

CommandInput ParameterReturn ValueReturn Code
AT+PREAMBLELENGTH?-AT+PREAMBLELENGTH: get or set P2P Preamble Length (5-65535)OK
AT+PREAMBLELENGTH=?-<interger>OK
AT+PREAMBLELENGTH=<Input><interger>-OK
AT_PARAM_ERROR

Example:

AT+PREAMBLELENGTH?
AT+PREAMBLELENGTH: get or set P2P Preamble Length (5-65535)
OK

AT+PREAMBLELENGTH=?
AT+PREAMBLELENGTH=8
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+SYMBOLTIMEOUT

Description: P2P Symbol Timeout (0 - 248)

This command is used to get or set the P2P symbol timeout (0 - 248).

CommandInput ParameterReturn ValueReturn Code
AT+SYMBOLTIMEOUT?-AT+SYMBOLTIMEOUT: get or set P2P symbolTimeout (0-248)OK
AT+SYMBOLTIMEOUT=?-<interger>OK
AT+SYMBOLTIMEOUT=<Input><interger>-OK
AT_PARAM_ERROR

Example:

AT+SYMBOLTIMEOUT?
AT+SYMBOLTIMEOUT: get or set P2P symbolTimeout (0-248)
OK

AT+SYMBOLTIMEOUT=?
AT+SYMBOLTIMEOUT=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

AT+FIXLENGTHPAYLOAD

Description: P2P fix length payload on/off (1 = ON, 0 = OFF)

This command allows the user to get or set P2P fix length payload on/off (1 = ON, 0 = OFF).

CommandInput ParameterReturn ValueReturn Code
AT+FIXLENGTHPAYLOAD?-AT+FIXLENGTHPAYLOAD: get or set P2P fix length payload on/off (1 = ON, 0 = OFF)OK
AT+FIXLENGTHPAYLOAD=?-<0 or 1> OK
AT+FIXLENGTHPAYLOAD=<Input><0 or 1> -OK
AT_PARAM_ERROR

Example:

AT+FIXLENGTHPAYLOAD=1
AT+FIXLENGTHPAYLOAD=1
OK

AT+FIXLENGTHPAYLOAD=?
AT+FIXLENGTHPAYLOAD=0
OK
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.

Back

RF Test

This section describes the commands related to RF test management.

AT+TRSSI

Description: Start RF RSSI tone test

This command is used to start the RF RSSI tone test.

CommandInput ParameterReturn ValueReturn Code
AT+TRSSI?-AT+TRSSI: start RF RSSI tone testOK
AT+TRSSI=?--115OK
AT_BUSY_ERROR
NOTE
  • AT_BUSY_ERROR is returned when the start radio frequency RSSI process is already running.
  • This command is used for the RF certification test, AT+TRSSI=?. It provides a value in dBm, and it can only be read.

Example:

AT+TRSSI=?
Rx FSK Test
RSSI Value -115 dBm
OK

Back

AT+TTONE

Description: Start RF tone test

This command is used to start the RF tone.

CommandInput ParameterReturn ValueReturn Code
AT+TTONE?-AT+TTONE: start RF tone testOK
AT+TTONE-OK
AT_BUSY_ERROR
NOTE
  • AT_BUSY_ERROR is returned when the start frequency tone process is already running.
  • This command is used for the RF certification test.

Example:

AT+TTONE
Tx toneOK

Back

AT+TTX

Description: Start RF TX test

Set the number of packets sent for the RF TX test.

CommandInput ParameterReturn ValueReturn Code
AT+TTX?-AT+TTX: set number of packets to be sent for PER RF TX testOK
AT+TTX=<Input><integer>OK
AT_BUSY_ERROR
NOTE
  • AT_BUSY_ERROR is returned when the start tx process is already running.
  • This command is used for the RF certification test.
  • <Input>: 1 decimal integer and the range of values is 0~(232 -1).

Example:

AT+TTX=4
Tx Test
OK

Tx Test : Packet 1 of 4
OnTxDone
Tx Test : Packet 2 of 4
OnTxDone
Tx Test : Packet 3 of 4
OnTxDone
Tx Test : Packet 4 of 4
OnTxDone

Back

AT+TRX

Description: Start RF RX test

Set the number of packets sent for the RF RX test.

CommandInput ParameterReturn ValueReturn Code
AT+TRX?-AT+TRX: set number of packets to be received for PER RF RX testOK
AT+TRX=<Input><integer>OK
AT_PARAM_ERROR
NOTE
  • AT_BUSY_ERROR is returned when the start tx process is already running.
  • This command is used for the RF certification test.
  • <Input>: 1 decimal integer and the range of values is 0~(232 -1).

Example:

AT+TRX=4
OK

Rx 1 of 4 >>> PER= 100 %
Rx 2 of 4 >>> PER= 100 %
Rx 3 of 4 >>> PER= 100 %
Rx 4 of 4 >>> PER= 100 %

Back

AT+TCONF

Description: Configure LoRa RF test

This command is used to access the LoRa configuration test.

CommandInput parameterReturn valueReturn code
AT+TCONF?-AT+TCONF: configure LoRa RF testOK
AT+TCONF=?-AT+TCONF=868000000:14:4:12:0:0:0:1:16:25000:2:3OK
AT+TCONF=<Input><Freq>:<Power>:<Bandwidth>:<SpreadingFactor>:<CodingRate>:<LNA>:<PABoost>:<Modulation>:<PayloadLen>:<FskDeviation>:<LowDRopt>:<BTproduct>-OKAT_PARAM_ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • This command is used for the RF certification test, and in this case, the default value is “868000000,14,0,7,1,0,0,1,4,25000,0,0”.

Summary of parameters:
1 - Frequency
2 - Power
3 - Bandwidth parameter: (LoRa mode in Khz) 0=125, 1=250, 2=500, 3=7.8, 4=10.4, 5=15.63, 6=20.83, 7=31.25, 8=41.67, 9=62.5; (FSK mode in Hz): 4800-467000
4 - Spreading Factor (5-12)
5 - Coding Rate: 1=4/5, 2=4/6, 3=4/7, 4=4/8
6 - LNA State (not implemented)
7 - PA Boost State (not implemented)
8 - Modulation: 0=FSK, 1=LoRa
9 - Payload len
10 - Freq deviation (only fsk 600 - 200000 Hz)
11 - LowDRopt (not implemented)
12 - BT product (not implemented)

Example:

/* Example1: Set LoRa RF test configuration */

AT+TCONF=868000000:14:4:12:0:0:0:1:16:25000:2:3
OK

Back

AT+TTH

Description: RF TX hopping test

Starts RF TX hopping test from Start to Fstop, with Fdelta steps.

CommandInput ParameterReturn ValueReturn Code
AT+TTH?-AT+TTH: start RF Tx hopping test from Fstart to Fstop, with Fdelta steps.OK
AT+TTH=?-868000000:868500000:100000:6OK
AT+TTH=<Input><Fstart>:<Fstop>:<FDelta>:<PacketNb>-OK
AT_PARAM_ERROR
NOTE
  • AT_PARAM_ERROR is returned when setting wrong or malformed value.
  • This command is used for the RF certification test, and in this case, the default value is “868000000,868500000,100000,6”.

Example:

/* Example: set TX hopping test from 868 to 868,5 MHz with 6 steps of 100 kHz */ #

AT+TTH=868000000:868500000:100000:6
OK

Tx Hop at 868000000 Hz
Tx Test : Packet 1 of 6
OnTxDone
Tx Hop at 868100000 Hz
Tx Test : Packet 2 of 6
OnTxDone
Tx Hop at 868200000 Hz
Tx Test : Packet 3 of 6
OnTxDone
Tx Hop at 868300000 Hz
Tx Test : Packet 4 of 6
OnTxDone
Tx Hop at 868400000 Hz
Tx Test : Packet 5 of 6
OnTxDone
Tx Hop at 868500000 Hz
Tx Test : Packet 6 of 6
OnTxDone

Back

AT+TOFF

Description: Stop Radio frequency test

This command is used to stop the ongoing RF test.

CommandInput ParameterReturn ValueReturn Code
AT+TOFF?-AT+TOFF: stop ongoing RF testOK
AT+TOFF-OK
NOTE
  • This command is used for the RF certification test.

Back

AT+CERTIF

Description: Configure LoRaWAN Certification test

This command is used to start the RF Rx LoRa test.

CommandInput ParameterReturn ValueReturn Code
AT+CERTIF?-AT+CERTIF: set the module in LoRaWAN Certification mode (0 = normal mode, 1 = certification mode)OK
AT+CERTIF-OK
AT_BUSY_ERROR
NOTE
  • AT_BUSY_ERROR is returned when the start frequency tone process is already running.
  • This command is used for the RF certification test and the timer to handler data transmission equal to 5 s.

Back

AT+CW

Description: Send Continuous Wave

This command is used to enable continuous RF transmissions with configurable frequency, transmit power and duration. Also, you can get the RF transmission's details by using this command.

CommandInput ParameterReturn ValueReturn Code
AT+CW?-AT+CW: start continuous waveOK
AT+CW=?-<freq>:<power>:<time>:OK
AT+CW=<Input><freq>:<power>:<time>:-OK
AT_BUSY_ERROR

Example:

AT+CW?
AT+CW: start continuous wave
OK

AT+CW=?
AT+CW=868000000:14:5
OK
NOTE
  • AT_BUSY_ERROR is returned when the start tx process is already running.
  • <freq>: RAK3172(L) is needed to use the low frequency range 150000000 - 600000000; RAK3172(H) is needed to use the high frequency range 600000000 - 960000000
  • <power>: 5-22 dBm
  • <time>: 0-65535 ms

Back

AT+TRTH

Description: RF Tx Hopping Test in Random Sequence

This command is used to access and configure RF Tx hopping test in random sequence.

CommandInput ParameterReturn ValueReturn Code
AT+TRTH?-AT+TRTH: start RF TX hopping test from Fstart to Fstop, with Fdelta interval in random sequenceOK
AT+TRTH=?-<Fstart>:<Fstop>:<Fdelta>:<PacketNb>OK
AT+TRTH=<Input><Fstart>:<Fstop>:<Fdelta>:<PacketNb>-OK
AT_BUSY_ERROR

Example:

AT+TRTH?
AT+TRTH: start RF TX hopping test from Fstart to Fstop, with Fdelta interval in random sequence
OK

AT+TRTH=?
AT+TRTH=868000000:868500000:100000:6
OK
NOTE
  • AT_BUSY_ERROR is returned when the start tx process is already running.
  • <Fstart>: start frequency
  • <Fstop>: stop frequency
  • <Fdelta>: frequency interval
  • <PacketNb>: number of packets

Back