Version version-2.0

NORA-W36 u-connectXpress

Stand-alone multiradio modules

User guide

short range
This document provides an overview of the u-connectXpress software for u-blox short range modules and describes how the products can be configured for Wi-Fi and Bluetooth Low Energy use cases.
short range
short range
Document information
Title
NORA-W36 series u-connectXpress
Subtitle
Stand-alone multiradio modules
Document type
User guide
Document number
UBX-23008692
Revision and date
R03, 17-Dec-2024
Disclosure restriction
C1-Public

This document applies to the following products
Product name
Software version
NORA-W36 series
2.0.0
Disclaimer u-blox or third parties may hold intellectual property rights in the products, names, logos, and designs included in this document. Copying, reproduction, or modification of this document or any part thereof is only permitted with the express written permission of u-blox. Disclosure to third parties is permitted for clearly public documents only. The information contained herein is provided “as is” and u-blox assumes no liability for its use. No warranty, either express or implied, is given, including but not limited to, with respect to the accuracy, correctness, reliability, and fitness for a particular purpose of the information. This document may be revised by u-blox at any time without notice. For the most recent documents, visit www.u-blox.com. Copyright © u-blox AG

1 Overview

This document describes how to set up and use u-blox short range stand-alone modules with u-connectXpress software for NORA-W36. It explains the functionality of different u-blox short range stand-alone modules and includes examples that describe how to use the software in different environments with AT commands. The document is applicable for Bluetooth® Low Energy (LE), multiradio, and Wi-Fi modules. Several u-blox short range stand-alone modules support open software variants. For more information about the available options, see the corresponding system integration manuals for u-blox short range stand-alone modules. For older generation modules like ODIN-W2, NINA-W15 and ANNA-B1, u-connectXpress user guide describe the functionality of these modules.

1.1 Getting started with s-center 2

Downloading and installing
  1. Download the latest version of s-center 2
  2. Double click the downloaded file and follow the installation instructions
  3. Launch s-center 2 when the installation is completed
s-center 2

1.2 Product description

u-blox modules are developed for integration into a vast range of devices that demand a high level of reliability, such as those that are typically used in industrial and medical applications. These professional grade modules operate over an extended temperature range and are approved for radio type application products in many countries. By choosing to use u-blox short range stand-alone modules, the cost and work involved in developing wireless communication solutions is significantly reduced.
Concept
Definition
Host
In this document, a host refers to the device connected to a u-blox short range stand-alone module
through any of the available physical interfaces. In a real application, the host is typically
a microcontroller Unit (MCU) running a customer specific application.
Module
In this document, module refers to a u-blox stand-alone module.
A module can also refer to a self-contained unit or item that is linked with similar units of a larger system that performs a defined task.
Remote
device A remote device in a wireless network connecting over the Bluetooth Low Energy or Wi-Fi interfaces supported in the module.

1.3 Multiradio and Wi-Fi modules

u-blox compact and powerful stand-alone, multiradio modules are designed for the development of Internet-of-Things (IoT) applications. NORA-W36 modules include an embedded Bluetooth stack, Wi-Fi driver, IP stack, and an application for wireless data transfer. The wireless support includes Bluetooth v5.3 (Low Energy) and dual-band Wi-Fi (2.4 and 5 GHz bands). The modules support point-to-point and point-to-multipoint configurations and can accommodate concurrent Bluetooth and Wi-Fi connections. The software provides support for micro Access Point. They are delivered with u-connectXpress software that provides support for u-blox Bluetooth LE Serial Port Service, Generic Attribute Profile (GATT) client and server, Bluetooth beacons, simultaneous Peripheral and Central roles – all configurable from a host by means of AT commands.

2 Key features

The possibility of replacing serial cables with simple wireless connections is a key feature of u-blox modules. It allows system hosts to transfer data to one another over wireless Bluetooth connections that are established between u-blox modules in Central/Peripheral configuration. Depending on the module capabilities, data from each host is transferred to local u-blox modules over a serial UART interface. u-blox modules can be configured to automatically establish new connections and/or accept incoming connections using AT commands. For connected hosts, this means that physical serial cables can be replaced with more convenient wireless solutions.

2.1 Bluetooth GATT connection

ble
NORA-W36 can function as either a Central or Peripheral unit, connecting to devices such as laptops, cellular phones, and tablets using the Generic Attribute Profile (GATT).

2.2 Bluetooth SPS connection

ble
NORA-W36 can function as either a Central or Peripheral unit, connecting to devices such as laptops, cellular phones, and tablets via the u-blox Serial Port Service (SPS).

2.3 Wi-Fi station connection

ble
NORA-W36 can operate as a Station connecting to an Access Point.

2.4 Wi-Fi access point connection

ble
NORA-W36 can operate as an Access Point connecting to other devices that operate as Stations.

3 u-connectXpress software

3.1 Software architecture

u-connectXpress software for u-blox short range stand-alone modules makes it easy to integrate Bluetooth and Wi Fi connectivity into both new and existing products. In several high-end modules, u-connectXpress software contains separate stacks for the Bluetooth Low Energy (LE), wireless Transmission Control Protocol (TCP) and wireless Internet Protocol (IP). The necessary Wi-Fi drivers are also included. Other module variants support different combinations of these stacks. The figure below shows the logical components for high-end (NORA-W36) modules.
short range

3.2 Operating modes

NORA-W36 operates in the following modes:
  • AT mode (default): AT commands and data can be send at the same time. Data is sent and received in AT commands and events - in string or binary mode
  • Transparent Mode (TM): All data sent and received on the UART is connected to the remote device
  • Transparent Mode Persistent (TMP): Same as TM, but the connection is established at startup or when the connection is dropped
Additionally, the module supports various low-power modes, which optimize power consumption regardless of the operating mode. See also Low power modes and Power consumption optimization. Deep sleep is supported with the command AT+UPMDS, see AT command manual and Data sheet for more information.

3.2.1 Changing operating modes

u-blox modules can be configured to start in any operating mode. Once up and running, the modules can be switched between most modes. The modes are changed with a command or escape sequence sent to the module:
  • Switch from Command mode to Transparent mode using an AT command
  • Switch from Transparent mode to command mode with an escape sequence.
The module is controlled using AT commands in (default) Command mode. In this mode, the host sends control and configuration commands and indicates when data is to be sent over the UART interface.

3.3 NORA-W36 capabilities

u-connectXpress Features
Capability in 2.0.0
Chipset
Realtek RTL8720DF
Multiradio
Bluetooth Low Energy 5.3
Wi-Fi 4 dual band 2,4 and 5 GHz
Wi-Fi capabilities
802.11a/b/g/n
WPA2 Personal and WPA3 Personal
Wi-Fi Multimedia WMM/WME/QoS (802.11e)
Protected Management Frames (802.11w)
Roaming using Fast BSS Transition (802.11r), Radio Measurement (802.11k), and Wireless Network Management (802.11v)
Wi-Fi Alliance certified
Certification ID: WFA112253
Date of Certification: 2021-06-07
Bluetooth Qualification
Declaration ID: D065864 QDID: 194774
Qualification date: 2022-02-26
NORA-W36 listing date: 2024-02-19
Wi-Fi Access Point
5 Stations connected
TCP/UDP sockets
6 Simultaneous sockets (Note that a listening socket requires 2 sockets)
MQTT Connections
1 Connection (client)
BLE Central connections
3 Peripherals connected
BLE Peripheral connections
1 Central connected
BLE Scatternet connections (C+P)
Central with 1 Peripheral connected, advertising and
allow incoming connection as Peripheral
BLE Link key storage
30 Devices. The keys that are the least used are removed first when storage is full
Coexistence Wi-Fi, BLE and TLS
Max 1 TLS client, 1 BLE, 2 TCP Client
Data transfer modes
- Buffer Mode (event and read data)
- Direct Mode (data in event)
- Transparent mode (like serial port cable replacement)
Buffer Mode is Default, Transparent mode only supports one link.
Transparent Mode has highest throughput, then Direct Mode and then Buffer Mode
SPS MTU size
244 bytes, 1000 bytes can be sent in AT command
TCP MTU size
1460 bytes, 1000 bytes can be sent in AT command
UDP MTU size
1460 bytes, 1000 bytes can be sent in AT command

u-connectXpress software components
Versions in 2.0.0
Realtek SDK including Bluetooth stack and Wi-Fi drivers
6.2 + 6.2_patch_integrated_241111_f5eb173c
https://online.realtek.com/Home/Login
lwIP TCP/IP stack
2.0.2
https://savannah.nongnu.org/news/?group_id=3159
Mbed TLS cryptographic algorithms
3.6.0
https://github.com/Mbed-TLS/mbedtls/releases

u-connectXpress MQTT client
Versions in 2.0.0
MQTT version
3.1.1
MQTT capabilities
Publish, Subscribe, TLS, QoS, Testament and Last will
MQTT maximum packets size
730 bytes for Publish and Subscribe packets

u-connectXpress Enterprise security
Capability in 2.0.0
PEAP Authentication method
PEAPv0 with EAP-MSCHAPv2
EAP Authentication method
EAP Transport Layer Security (EAP-TLS)
EAP-TLS certificate key size supported
2048 bits (4096 bits can exceed memory limitations)
u-connectXpress TLS feature
TLS capability in 2.0.0
TLS version
Only TLS1.2 (TLS 1.3 is planned for future versions)
TLS max number of connections
1
TLS extensions enabled by default
Server Name Indication (SNI), Maximum Fragment Length Negotiation
TLS Encryption keys
Advanced Encryption Standard (AES). Data Encryption Standard (DES), Rivest Cipher 4 (RC4), and the Camellia cipher are not supported.
X.509 security certificate formats supported
PEM (DER not supported)
TLS over TCP certificate key size supported
4096 bits
TLS certificates
Up to 8 certifications (or certificate chains) can be stored.
Certificates can be maximum 15360 bytes.
TLS Cipher Suites (28suites)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a)
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026)
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029)
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025)
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 (0x00b7)
TLS_RSA_PSK_WITH_AES_256_CBC_SHA (0x0095)
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 (0x00b6)
TLS_RSA_PSK_WITH_AES_128_CBC_SHA (0x0094)
TLS Signature Hash Algorithms Supported
MD2, MD4, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD160
TLS Signature Hash Algorithms (10 algorithms)
ecdsa_secp521r1_sha512 (0x0603)
rsa_pkcs1_sha512 (0x0601)
ecdsa_secp384r1_sha384 (0x0503)
rsa_pkcs1_sha384 (0x0501)
ecdsa_secp256r1_sha256 (0x0403)
rsa_pkcs1_sha256 (0x0401)
SHA224 ECDSA (0x0303)
SHA224 RSA (0x0301)
ecdsa_sha1 (0x0203)
rsa_pkcs1_sha1 (0x0201)
TLS Extensions
Server name (SNI)
Max fragment length: 4096 (4)
More information about the AT commands used in this use cases can be found in the NORA-W36 AT command manual.

4 Bluetooth use cases

The following Bluetooth Low Energy use case, show some functionality to get started with GATT client, GATT server and SPS.
u-connectXpress BLE default values
2.0.0
BLE Mode default
ON, Central and Peripheral (3)
BLE Advertising default
OFF, enable with AT+UBTA=1
The following examples use the MAC address below, this must be replaced by the real MAC address of the devices that are used.
  • Peripheral MAC address: AAAAAAAAAAAA
  • Central MAC address: BBBBBBBBBBB

4.1 Bluetooth GATT client

ble
bt-gatt-glient
This use case configures NORA-W36 as a Central device that operates as a GATT client and receives data.
This use case configuration is used in combination with Bluetooth GATT server.
Nr
Instructions
AT command
AT event
1
Check that Bluetooth Central is enabled.
1: Central or
3: Central and Peripheral
. If so jump to step 6.
AT+UBTM?
+UBTM:1 or +UBTM:3
2
Enable Bluetooth
1: Central or
3: Central and Peripheral
AT+UBTM=1 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to startup
+STARTUP
6
Connect to remote device
AT+UBTC=AAAAAAAAAAAAp
+UEBTC:0,AAAAAAAAAAAAp
7
Discover Services and look for 180D, which is the descriptor for the Heart Rate service.
AT+UBTGPSD=0
+UBTGPSD:0,12,65535,180D
8
Discover all Service Characteristics and look for 2A37, which is the descriptior for the Heart Rate Measurement characteristics.
AT+UBTGSCD=0,12,65535
+UBTGSCD:0,13,10,14,2A37
9
Use the Value handle, which in this case is 14. The value can vary. Look for 2902, which is the descriptor for the notification.
AT+UBTGCDD=0,14,15
+UBTGCDD:0,13,15,2902
10
Enable notification on the GATT Client the Central in this example
AT+UBTGCCW=0,15,1
11
Notification is received on the GATT Client
+UEBTGCN:0,14,60
+UEBTGCN:0,14,61
+UEBTGCN:0,14,62

4.2 Bluetooth GATT server

ble
bt-gatt-server
This use case configures NORA-W36 as a Peripheral device that operates as GATT server and sends notifications.
This configuration works in combination with Bluetooth GATT client.
Nr
Instructions
AT command
AT event
1
Check that Bluetooth Peripheral is enabled
2: Peripheral and
3: Central and Peripheral. If so jump to step 6.
AT+UBTM?
+UBTM:2 or +UBTM:3
2
Enable Bluetooth
2: Peripheral or
3: Central and Peripheral
AT+UBTM=2 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to start
+STARTUP
6
Enable Advertisements to allow connections
AT+UBTA=1
7
Write the Heart Rate service
AT+UBTGS=180D
+UBTGS:21
8
Write the GATT characteristic
AT+UBTGC=2A37,3A,01,01,00
+UBTGC:30,31
9
Activate GATT Service
AT+UBTGSA
10
Wait for incoming Bluetooth connection
+UEBTC:0,BBBBBBBBBBB
11
Get the MTU for the connection (optional)
AT+UBTCST=0,4
+UBTCST:4,247
12
Get the Role for the connection (optional)
AT+UBTCST=0,8
+UBTCST:8,1
13
Send a notification from the GATT Server using the value handle
AT+UBTGNS=0,14,60
AT+UBTGNS=0,14,61
AT+UBTGNS=0,14,62

4.3 Bluetooth SPS central

ble
bt-sps-central
This use case configures NORA-W36 as a Central device that sends and receives data from another NORA-W36 module operating as a Peripheral device. The communication between the two modules is facilitated using the proprietary u-blox Serial Port Service. It is also possible to connect to other devices that supports the SPS protocol. This use case operates in combination with Bluetooth SPS peripheral.
Nr
Instructions
AT command
AT event
1
Check that Bluetooth Central is enabled. 1:Central or
3:Central and Peripheral
. If so, jump to step 6.
AT+UBTM?
+UBTM:1 or +UBTM:3
2
Enable Bluetooth 1:Central or
3:Central and Peripheral
AT+UBTM=1 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to start
+STARTUP
6
Initiate Bluetooth discovery. Listen for advertising packets broadcast from Peripheral device.
AT+UBTD
+UBTD:AAAAAAAAAAAAp,-52,"NORA-W36-AAAAAA",0,10094E4F52412D5733362D414141414141
7
Connect Bluetooth
AT+UBTC=AAAAAAAAAAAAp
+UEBTC:0,AAAAAAAAAAAAp
8
Read MTU, maximum data size
AT+UBTCST=0,4
+UBTCST:4,247
9
Read RSSI (optional)
AT+UBTRSS=0
+UBTRSS:-52
10
Connect SPS using handle of Bluetooth connection
AT+USPSC=0
11
SPS connection is up
+UESPSC:0
12
It is now possible to send and receive SPS data in String or Binary mode
13
Disconnect the SPS and Bluetooth connection
AT+UBTDC=0
+UESPSDC:0
+UEBTDC:0

4.4 Bluetooth SPS peripheral

ble
bt-sps-central
This use case configures NORA-W36 module as a Peripheral device that sends and receives data from another NORA-W36 module operating as a Central device. The communication between the two modules is facilitated using the proprietary u-blox Serial Port Service. It is also possible to connect to other devices that support the SPS protocol. This use case configuration is used in combination with Bluetooth SPS central.
Nr
Instructions
AT command
AT events
1
Check that Bluetooth Peripheral is enabled.
2: Peripheral and
3: Central and Peripheral. If so, jump to step 6
AT+UBTM?
+UBTM:2 or +UBTM:3
2
Enable Bluetooth
2: Peripheral or
3: Central and Peripheral
AT+UBTM=2 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to startup
+STARTUP
6
Enable SPS on Peripheral
AT+USPS=1
7
Enable Advertisements
AT+UBTA=1
8
Peripheral receives Incoming Bluetooth connection
+UEBTC:0,BBBBBBBBBBBBp
9
Read MTU, maximum data size on both
AT+UBTCST=0,4
+UBTCST:4,247
10
Read RSSI (optional)
AT+UBTRSS=0
+UBTRSS:-52
11
Central Connect SPS using handle of Bluetooth connection
AT+USPSC=0
+UESPSC:0
12
It is now possible to send and receive SPS data in String or Binary mode
13
SPS and Bluetooth link is down
+UESPSDC:0
+UEBTDC:0

4.5 Bluetooth advertise

ble
This use case configures NORA-W36 as a peripheral device that operates as a GATT client and receives data.
This use case configuration is used in combination with Apple iPhone using the The Apple Notification Center Service (ANCS).
Nr
Instructions
AT command
AT event
1
Check that Bluetooth Peripheral is enabled
2: Peripheral and
3: Central and Peripheral. If so, jump to step 6.
AT+UBTM?
+UBTM:2 or +UBTM:3
2
Enable Bluetooth
2: Peripheral or
3: Central and Peripheral
AT+UBTM=2 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to start
+STARTUP
6
Set Apple ANCS Advertise data packet
AT+UBTAD=1115D0002D121E4B0FA4994ECEB531F40579
7
Enable Advertisements
AT+UBTA=1
8
Peripheral receives Incoming Bluetooth connection
+UEBTC:0,BBBBBBBBBBBBp
9
Discover Services and look for 180A that is the Device Information
AT+UBTGPSD=0
+UBTGPSD:0,1,5,1800
+UBTGPSD:0,6,9,1801
+UBTGPSD:0,10,14,180A
+UBTGPSD:0,15,19,D0611E78BBB44591A5F8487910AE4366
+UBTGPSD:0,20,24,9FA480E0496745429390D343DC5D04AE
+UBTGPSD:0,25,28,180F
+UBTGPSD:0,29,34,1805
+UBTGPSD:0,35,44,7905F431B5CE4E99A40F4B1E122D00D0
+UBTGPSD:0,45,56,89D3502B0F36433A8EF4C502AD55F8DC
10
Discover all Service Characteristics and look for the attribute 2A29, which describes the Manufacturer Name String characteristics
AT+UBTGSCD=0,10,14
+UBTGSCD:0,11,02,12,2A29
+UBTGSCD:0,13,02,14,2A24
11
Read the Manufacturer Name String Apple Inc. characteristics on handle 12
AT+UBTGR=0,12
+UBTGR:0,12,4170706C6520496E632E (Apple Inc.)

4.6 Bluetooth security

Pairing
  • Pairing is the initial process where two Bluetooth devices exchange information necessary to establish an encrypted connection
  • During pairing, devices negotiate security parameters, such as encryption keys and authentication methods
  • It ensures that communication between devices remains confidential and secure Think of pairing as the handshake that sets the foundation for a secure link
Bonding
  • Bonding occurs after successful pairing
  • It involves storing the information from the pairing process on both devices
  • Once bonded, devices remember each other’s security credentials (keys) for future reconnections
  • Bonding eliminates the need to repeat the pairing process every time the devices reconnect
  • Essentially, bonding creates a permanent security relationship between the devices
In summary
  • Pairing: Establishes the initial secure connection
  • Bonding: Ensures that the devices remember each other’s security details for subsequent interactions
  • Remember, these processes are essential for maintaining the confidentiality and integrity of data exchanged over Bluetooth connections

4.7 Bluetooth security initiator

ble
Bluetooth Security is by disabled default and must be configured and enabled before use.
Nr
Instructions
AT command
AT event
1
Set Bluetooth I/O Capabilities to Display Yes/No (2)
AT+UBTIOC=2
2
Set Only allow authenticated bonding with encrypted Bluetooth link (3)
AT+UBTBSM=3
3
Allow Pairing
AT+UBTPM=1
4
Bluetooth Bond
AT+UBTB=BBBBBBBBBBBBp
5
Bluetooth Connected event
+UEBTC:0,BBBBBBBBBBBBp
6
Bluetooth User Confirmation event, check the numer on both devices, should be the same
+UEBTUC:BBBBBBBBBBBBp,786920
7
Bluetooth User Confirmation, confim with yes
AT+UBTUC=BBBBBBBBBBBBp,1
8
Bluetooth Bond success
+UEBTB:BBBBBBBBBBBBp,0
9
Bluetooth Bonded Devices List (optional)
AT+UBTBDL
+UBTBDL:BBBBBBBBBBBBp

4.8 Bluetooth security responder

ble
Bluetooth Security is by disabled default and must be configured and enabled before use.
Nr
Instructions
AT command
AT event
1
Check that Bluetooth Peripheral is enabled, 2: Peripheral or 3: Central and Peripheral, if so move to step 6
AT+UBTM?
+UBTM:2 or +UBTM:3
2
Enable Bluetooth 2: Central or 3: Central and Peripheral
AT+UBTM=1 or AT+UBTM=3
3
Store command
AT&W
4
Restart
AT+CPWROFF
5
Wait for NORA-W36 to startup
+STARTUP
6
Enable Advertisements
AT+UBTA=1
7
Set Bluetooth I/O Capabilities to Display Yes/No (2)
AT+UBTIOC=2
8
Set Only allow authenticated bonding with encrypted Bluetooth link (3)
AT+UBTBSM=3
9
Allow Pairing
AT+UBTPM=1
10
Bluetooth Connected event
+UEBTC:0,AAAAAAAAAAAAp
11
Bluetooth User Confirmation event, check the numer on both devices, should be the same
+UEBTUC:AAAAAAAAAAAAp,786920
12
Bluetooth User Confirmation, confim with yes
AT+UBTUC=AAAAAAAAAAAAp,1
13
Bluetooth Bond success
+UEBTB:AAAAAAAAAAAAp,0
14
Bluetooth Bonded Devices List (optional)
AT+UBTBDL
+UBTBDL:AAAAAAAAAAAAp

5 Wi-Fi use cases

The following Wi-Fi use case, shows some functionality to get started with Wi-Fi Station and Access Point.
The following examples use the MAC address below, this must be replaced by the real MAC address of the devices that are used.
  • Station MAC address: AAAAAAAAAAAA
  • Access Point MAC address: BBBBBBBBBBB

5.1 Wi-Fi station WPA2 and WPA3

wi-fi-ap
wi-fi-station
Connect as a Wi-Fi station to an Access Point to get access to network.
This use case connects NORA-W36 as a Wi-Fi station to an Access Point for access to the network. The connection is set to DHCP client by default.
To use static IP the AT+UWSIPS set the IP address, gateway, subnet mask and DNS.
Nr
Instructions
AT command
AT event
1
Set SSID for the Network
AT+UWSCP=0,"NORA-W36AccessPoint"
2a
Set the Password (support WPA2 and WPA3)
AT+UWSSW=0,"mypassword",0
2b
Set the Password (support only WPA3)
AT+UWSSW=0,"mypassword",1
3
Connect Wi-Fi station
AT+UWSC=0
4
Wait for Wi-Fi interface
+UEWLU:0,BBBBBBBBBBB,6
5
Wait for Network interface
+UEWSNU
6
Check IP address (optional)
AT+UWSNST=0
+UWSNST:0,192.168.1.100
7
Check RSSI (optional)
AT+UWSST=4
+UWSST:4,-66
8
It is now possible to connect TCP and UDP, and then send and receive data in String or Binary mode.
It is also possible to connect MQTT.
9
Disconnect Wi-Fi station
AT+UWSDC
Note: If NORA-W36 should connect to Wi-Fi at startup the Connect, Store and Reset should be send, AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.

5.2 Wi-Fi PEAP enterprise security

wi-fi-ap
Connect as a Wi-Fi station to an Access Point using PEAP (Protected Extensible Authentication Protocol) and a RADIUS server to get access to network.
This use case connects NORA-W36 as a Wi-Fi station to an Access Point for access to the network. The connection is set to DHCP client by default.
Nr
Instructions
AT command
AT event
1
Set SSID for the Network
AT+UWSCP=0,"NORA-W36AccessPoint"
2
Set the User and Passworkd
AT+UWSSP=0,"peap_user_name","peap_password"
3
Connect Wi-Fi station
AT+UWSC=0
4
Wait for Wi-Fi interface
+UEWLU:0,BBBBBBBBBBB,6
5
Wait for Network interface
+UEWSNU
6
Check IP address (optional)
AT+UWSNST=0
+UWSNST:0,192.168.1.100
7
Check RSSI (optional)
AT+UWSST=4
+UWSST:4,-66
8
It is now possible to connect TCP and UDP, and then send and receive data in String or Binary mode.
It is also possible to connect MQTT.
9
Disconnect Wi-Fi station
AT+UWSDC
Note: If NORA-W36 should connect to Wi-Fi at startup the Connect, Store and Reset should be send, AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.

5.3 Wi-Fi EAP-TLS enterprise security

wi-fi-ap
Connect as a Wi-Fi station to an Access Point using Extensible Authentication Protocol (EAP) and EAP Transport Layer Security (EAP-TLS) to get access to network.
This use case connects NORA-W36 as a Wi-Fi station to an Access Point for access to the network. The connection is set to DHCP client by default.
To use static IP the AT+UWSIPS set the IP address, gateway, subnet mask and DNS.
Nr
Instructions
AT command
AT event
1
Write a X.509 certificate and private key using Binary data
AT+USECUB=0,"ca.pem"{sendbinarycontentof"ca.pem"}
AT+USECUB=1,"client.pem"{sendbinarycontentof"client.pem"}
AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example
1
Set SSID for the Network
AT+UWSCP=0,"NORA-W36AccessPoint"
2
Set the certificates and key
AT+UWSSE=0,"ca.pem","client.pem","client.key"
3
Connect Wi-Fi station
AT+UWSC=0
4
Wait for Wi-Fi interface
+UEWLU:0,BBBBBBBBBBB,6
5
Wait for Network interface
+UEWSNU
6
Check IP address (optional)
AT+UWSNST=0
+UWSNST:0,192.168.1.100
7
Check RSSI (optional)
AT+UWSST=4
+UWSST:4,-66
8
It is now possible to connect TCP and UDP, and then send and receive data in String or Binary mode.
It is also possible to connect MQTT.
9
Disconnect Wi-Fi station
AT+UWSDC
Note: If NORA-W36 should connect to Wi-Fi at startup the Connect, Store and Reset should be send, AT+UWSC=0, AT&W and AT+CPWROFF, the current Wi-Fi Station state is be stored in flash and NORA-W36 will try to connect using Service Set Identifier (SSID) and password stored at startup.

5.4 Wi-Fi access point WPA2

wi-fi-ap
This use case configures NORA-W36 to act as a Wi-Fi Access Point that allows Wi-Fi Stations to connect, send, and receive data to the module.
The Wi-Fi connection has WPA2 encryption and a DHCP server that automatically assigns IP addresses to devices when they connect to the network.
The server assigns connected devices with IP addresses from 192.168.1.100 + x, where ‘x’ represents the additional IP addresses that can be assigned to other devices connected to the network.
Nr
Instructions
AT command
AT event
1
Set the SSID and select nework channel to 6 to define the frequency band
AT+UWAPCP="NORA-W36AccessPoint",6
2
Set the Password, using WPA2
AT+UWAPSW="mypassword"
3
Activate the Wi-Fi Access point. DHCP Server is enabled by default
AT+UWAPA
4
Wait for Access Point
+UEWAPU
5
Wait for Network interface
+UEWAPNU
6
Check the IP address of the AP (optional)
AT+UWAPNST=0
+UWAPNST:0,192.168.1.80
7
Station connected
+UEWAPSA:AAAAAAAAAAAA
8
It is now possible to connect over TCP and UDP, and then send and receive data in String or Binary mode.
It is also possible to connect MQTT.
9
Station disconnect
+UEWAPSDA:AAAAAAAAAAAA
10
Deactivate Wi-Fi Access Point
AT+UWAPD
wi-fi-ap
Note: If NORA-W36 activates Wi-Fi Access Point at startup, Activate (AT+UWAPA), Store (AT&W) and Reset (AT+UWAPA) commands should be sent. The current Wi-Fi Access Point state is stored in flash and NORA-W36 then activates the Access Point using the stored SSID and password at startup. IP address range is 192.168.1.100 + x to connected stations.

6. Wi-Fi Sockets use cases

6.1 Wi-Fi TCP client

This use case configures NORA-W36 as a Wi-Fi TCP client device that initiates a TCP connection to a specified server (listener) over a Wi-Fi network. It actively seeks to establish communication by sending a connection request to the server’s IP address and port number, which the server is listening on.
The Transmission Control Protocol (TCP) is bidirectional and one socket can both send and receive data:
  • ATE0 turns off the AT command echo to speed up the data transmission in AT mode. The written data is not echoed back to the host, which helps to make the parsing easier.
  • It is possible to connect using a host name like AT+USOC=0,www.u-blox.com,80 or an IP address AT+USOC=0,75.2.60.5,80
  • TCP can both send and receive data between the TCP client and server
Nr
Instructions
AT command
AT event
1
Create a TCP socket
AT+USOCR=6
+USOCR:0
2
Connect using TCP port 5003
AT+USOC=0,192.168.0.200,5003
+UESOC:0
3
It is now possible to send and receive data using String or Binary mode
4
Close TCP socket
AT+USOCL=0
+UESOCL:0

6.2 Wi-Fi TCP server (listener)

This use case configures NORA-W36 as a Wi-Fi TCP server (listener) that is configured to accept incoming TCP connections over a Wi-Fi network. It “listens” on a specific IP address and port number for connection requests.
Nr
Instructions
AT command
AT event
1
Create a TCP socket
AT+USOCR=6
+USOCR:0
2
Start TCP server (listener) on port 5003
AT+USOL=0,5003
+UESOC:0
3
Incoming TCP connection, a new handle 1 to communicate with the connection
+UESOIC:0,192.168.1.100,1
4
It is now possible to send and receive data using String or Binary mode
5
TCP connection is closed from remote side
+UESOCL:1
6
Close TCP listener
AT+USOCL=0
+UESOCL:0

6.3 Wi-Fi UDP client

Unlike TCP, the User Datagram Protocol (UDP) is not bi-directional. Both an outgoing and incoming socket, AT+USOCR, are needed to send and receive data over UDP. It is possible to connect using the host name, like AT+USOC=0,www.u-blox.com,80, or the IP address AT+USOC=0,75.2.60.5,80
Nr
Instructions
AT command
AT event
1
Create a UDP socket
AT+USOCR=17
+USOCR:0
2
Connect using UDP port 5003
AT+USOC=0,192.168.0.200,5003
+UESOC:0
3
It is now possible to send data using String or Binary mode
4
Close UDP socket
AT+USOCL=0
+UESOCL:0

6.4 Wi-Fi UDP server (listener)

Nr
Instructions
AT command
AT event
1
Create a UDP socket
AT+USOCR=17
+USOCR:0
2
Start UDP server (listener) on port 5003
AT+USOL=0,5003
+UESOC:0
3
It is now possible to receive data using String or Binary mode
4
Close UDP listener
AT+USOCL=0
+UESOCL:0

6.5 Wi-Fi TCP using TLS without certificates

TLS Extensions are enabled by default but in some (mostly older) TLS servers they are not supported. See https://www.rfc-editor.org/rfc/rfc6066.html. The extensions, Server Name, Indication and Maximum Fragment Length Negotiation, are disabled with:
  • AT+USETE0=0 Server Name Indication, 0: Disable - 1: Enable (default)
  • AT+USETE1=0 Maximum Fragment Length Negotiation, 0: Disable - 1: Enable (default)
  • All other Extension are disabled and not supported.
  • It is possible to use host name like AT+USOC=0,www.u-blox.com,80 or using ip address AT+USOC=0,75.2.60.5,80 for the connections.
TCP is bidirectional and one socket can both send and receive data.
Nr
Instructions
AT command
AT event
1
Create a TCP socket
AT+USOCR=6
+USOCR:0
2
Add a TLS context to a socket
AT+USOTLS=0,1
3
Connect using TCP port 433
AT+USOC=0,"www.u-blox.com",433
+UESOC:0
4
It is now possible to send data using String or Binary mode
5
Close TCP socket
AT+USOCL=0
+UESOCL:0

6.6 Wi-Fi TCP using TLS with certificates

TCP is bidirectional and one socket can both send and receive data.
Nr
Instructions
AT command
AT event
1
Write a X.509 certificate and private key using Binary data
AT+USECUB=0,"ca.pem"{sendbinarycontentof"ca.pem"}
AT+USECUB=1,"client.pem"{sendbinarycontentof"client.pem"}
AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example
2
Create a TCP socket
AT+USOCR=6
+USOCR:0
3
Add a TLS context to a socket and certificates
AT+USOTLS=0,1,"ca.pem","client.pem","client.key"
4
Connect using TCP on port 433
AT+USOC=0,"www.u-blox.com",433
+UESOC:0
5
It is now possible to send data using String or Binary mode
6
Close TCP socket
AT+USOCL=0
+UESOCL:0

6.7 Create own certificates using OpenSSL

Here is some example to cerate own certificates using OpenSSL https://www.openssl.org/. It shows how to use 2048 or 4096 bit keys length. Use Git Bash https://git-scm.com/download/win or a Linux environment like Ubuntu https://ubuntu.com/download to run the examples.
  • Create the root CA key Generate 2048 key size: opensslgenrsa-outca.key2048 or Generate 4096 key size: opensslgenrsa-outca.key4096
  • Create the root CA based on ca.keyopensslreq-x509-sha256-new-nodes-keyca.key-days3650-outca.pem
  • Create server certificate Create the server certificate signing request (CSR) for 2048 key size: opensslreq-newkeyrsa:2048-keyoutserver.key-outserver.csr-nodes or Create the server certificate signing request (CSR) for 4096 key size: opensslreq-newkeyrsa:4096-keyoutserver.key-outserver.csr-nodes
  • Create the server certificate using root CA and server csr, valid for 10 yearsopensslx509-req-CAca.pem-CAkeyca.key-inserver.csr-outserver.pem-days3650-CAcreateserial
  • Create client certificate Create the client certificate signing request (CSR) for 2048 key size: opensslreq-newkeyrsa:2048-keyoutclient.key-outclient.csr-nodes or Create the client certificate signing request (CSR) for 4096 key size: opensslreq-newkeyrsa:4096-keyoutclient.key-outclient.csr-nodes
  • Create the client certificate using root CA and client csr, valid for 10 yearsopensslx509-req-CAca.pem-CAkeyca.key-inclient.csr-outclient.pem-days3650-CAcreateserial
  • In a Windows Git Bash enviromentwinpty is a Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs. Set up a local TLS 1.2 server (without CA validation in this case) winptyopenssls_server-CAfileca.pem-keyserver.key-certserver.pem-accept44330-tls1_2-state-Verify1
    Connect to the a local TLS 1.2 server, just to try the connection (without CA validation in this case): winptyopenssls_client-connectlocalhost:44330-CAfileca.pem-keyclient.key-certclient.pem-tls1_2
  • In a Linux enviroment Set up a local TLS 1.2 server (without CA validation in this case)** openssls_server-CAfileca.pem-keyserver.key-certserver.pem-accept44330-tls1_2-state-Verify1
    Connect to the a local TLS 1.2 server, just to try the connection (without CA validation in this case): openssls_client-connectlocalhost:44330-CAfileca.pem-keyclient.key-certclient.pem-tls1_2
Optional steps
  • Check the key size of the CA certificate: opensslx509-inca.pem-text-noout|grep"Public-Key"RSAPublic-Key:(4096bit)
  • Check the key size of the client certificate: opensslx509-inclient.pem-text-noout|grep"Public-Key"RSAPublic-Key:(4096bit)
  • Check the size of the client key: opensslrsa-inclient.key-text-noout|grep"Private-Key"RSAPrivate-Key:(4096bit,2primes)

7 MQTT use cases

  • The MQTT client in NORA-W36 uses version MQTT v3.1.1
  • For more about the Message Queuing Telemetry Transport (MQTT), see the MQTT beginner’s guide
  • The TLS implementation in NORA-W36 supports only version 1.2

7.1 MQTT client without TLS - Mosquitto

mqtt
This use case connects NORA-W36 as a Wi-Fi Station and a MQTT Broker on port 1883. In this scenario, the module connects to Mosquitto without a certificate.
Parameters and values
  • Host: test.mosquitto.org
  • Port: 1883 (no TLS connection)
  • Client ID: -
  • Username: -
  • Password: -
  • CA Root certificate: -
  • Client certificate: -
  • Client private key: -
Before connecting to MQTT, set up Wi-Fi Connection, as described in Wi-Fi station, steps 1-5.
Nr
Instructions
AT command
AT event
1
Configure MQTT host and port
AT+UMQCP=0,"test.mosquitto.org",1883
2
Connect to MQTT broker
AT+UMQC=0
+UEMQC:0
3
Publish Message on topic pubtopic
AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36"
4
Subscribe on topic subtopic
AT+UMQS=0,0,"subtopic"
5
Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device
-
-
6
Receive Message on subtopic
+UEMQD:0,24
7
Read String Message
AT+UMQRS=0
+UMQRS:0,0,"subtopic",24,"Hellofromremotedevice"
8
Disconnect from MQTT broker
AT+UMQDC=0
Note: Use the wildcard “*” to receive messages for all topics. Note that this option may not be supported by all brokers, like Azure.

7.2 MQTT TLS client - Mosquitto

mqtt
mqtt
This use case connects NORA-W36 as a Wi-Fi Station and a MQTT Broker. In this scenario, the module connects to Mosquitto using certificates.
To generate client certificate and clinet key, follow the procedures described on the Mosquitto web page: https://test.mosquitto.org/ssl/
Parameters and values
  • Host: test.mosquitto.org
  • Port: 8884 (TLS)
  • Client ID: -
  • Username: -
  • Password: -
  • CA Root certificate: mosquitto.org.crt
  • Client certificate: client.crt
  • Client private key: client.key
Note: The parameters given in this scenario use the port 8884 for connections and encryption for security.
To authenticate the client and ensure the following:
  • Only authorized devices can establish a connection with the MQTT broker
  • Clients provide a valid certificate when making a connection
  • 1883 : MQTT, unencrypted, unauthenticated
  • 1884 : MQTT, unencrypted, authenticated
  • 8883 : MQTT, encrypted, unauthenticated
  • 8884 : MQTT, encrypted, client certificate required (used in this example)
  • 8885 : MQTT, encrypted, authenticated
  • 8886 : MQTT, encrypted, unauthenticated
Before connecting to MQTT, set up a Wi-Fi Connection like that described in Wi-Fi station, steps 1-5.
Nr
Instructions
AT command
AT event
1
Configure MQTT host and port
AT+UMQCP=0,"test.mosquitto.org",8884
2
Write a X.509 certificate and private key using Binary data
AT+USECUB=0,"mosquitto.org.crt"{sendbinarycontentof"mosquitto.org.crt"]
AT+USECUB=1,"client.crt"{sendbinarycontentof"client.crt"}
AT+USECUB=2,"client.key"{sendbinarycontentof"client.key"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example.
3
Setup TLS connection config
AT+UMQTLS=0,1,"mosquitto.org.crt","client.crt","client.key"
4
Connect to MQTT broker
AT+UMQC=0
+UEMQC:0
5
Publish Message on topic pubtopic
AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36"
6
Subscribe on topic subtopic
AT+UMQS=0,0,"subtopic"
7
Post a Message to the MQTT Broker on subtopic. The message should say Hello from remote device
-
-
8
Receive Message on subtopic
+UEMQD:0,24
9
Read String Message
AT+UMQRS=0
+UMQRS:0,0,"subtopic",24,"Hellofromremotedevice"
10
Disconnect from MQTT broker
AT+UMQDC=0

7.3 MQTT TLS client - Thingstream

mqtt
mqtt
Thingstream is the u-blox service delivery platform for:
  • IoT Communication-as-a-Service
  • IoT Location-as-a-Service
This use case connects NORA-W36 as a Wi-Fi Station and a MQTT Broker. In this scenario NORA-W36 connects to Thingstream using a CA Root certificate, Client-ID, Username and Password.
Thingstream uses the AWS Root Certificate found here: https://www.amazontrust.com/repository/AmazonRootCA1.pem
Before connecting to MQTT, set up Wi-Fi Connection, like that described Wi-Fi station, steps 1-5. The parameters and values necessary for the the use case include:
Parameters and values
  • Host: mqtt.thingstream.io
  • Port: 8883 (TLS)
  • Client ID: device:78e3d356-876f-483b-872f-3485853fAAAA
  • Username: HMVK8C09FQP245O2BBBB
  • Password: ofYyBB/L3GkPvo060J6Dv+t+mfrh0XpGMcf7CCCC
  • CA Root certificate: AmazonRootCA1.pem
  • Client certificate: -
  • Client private key: -
Before connecting to MQTT, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Configure the MQTT host, port, client-ID, username and passsword
AT+UMQCP=0,"mqtt.thingstream.io",8883,device:78e3d356-876f-483b-872f-3485853fAAAA,HMVK8C09FQP245O2BBBB,ofYyBB/L3GkPvo060J6Dv+t+mfrh0XpGMcf7CCCC
+UEMQC:0
2
Write a X.509 CA Root certificate using Binary data
AT+USECUB=0,"AmazonRootCA1.pem"{sendbinarycontentof"AmazonRootCA1.pem"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example
3
Set up TLS connection config. Thingstream doesn´t use a client certificate or key - only the root CA.
AT+UMQTLS=0,1,"AmazonRootCA1.pem"
4
Connect to MQTT broker
AT+UMQC=0
+UEMQC:0
5
Publish a message on pubtopic
AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36"
6
Subscribe on topic subtopic
AT+UMQS=0,0,"subtopic"
7
Post a message to the MQTT broker on subtopic. The message should say Hello from remote device
-
-
8
Receive a message on subtopic
+UEMQD:0,24
9
Read String Message
AT+UMQRS=0
+UMQRS:0,0,"subtopic",24,"Hellofromremotedevice"
10
Disconnect from MQTT broker
AT+UMQDC=0

7.4 MQTT TLS client - AWS IoT Core

mqtt
Connect as a Wi-Fi Station and a MQTT Broker. In this scenario, NORA-W36 connects to Amazon AWS IoT Core using certificates.
Parameters and values
  • Host: a3loryode2aaaa-ats.iot.us-east-2.amazonaws.com
  • Port: 8883 (TLS)
  • Client ID: -
  • Username: -
  • Password: -
  • CA Root certificate: AmazonRootCA1.pem
  • Client certificate: aws_client.crt
  • Client private key: aws_priv_key.key
Before connecting to MQTT, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Configure MQTT host and port
AT+UMQCP=0,"a3loryode2aaaa-ats.iot.us-east-2.amazonaws.com",8883
2
Write a X.509 certificate and private key using Binary data
AT+USECUB=0,"AmazonRootCA1.pem"{sendbinarycontentof"AmazonRootCA1.pem"}
AT+USECUB=1,"aws_client.crt"{sendbinarycontentof"aws_client.crt"}
AT+USECUB=2,"aws_priv_key.key"{sendbinarycontentof"aws_priv_key.key"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example
3
Setup TLS connection config
AT+UMQTLS=0,1,"AmazonRootCA1.pem","aws_client.crt","aws_priv_key.key"
4
Connect to MQTT broker
AT+UMQC=0
+UEMQC:0
5
Publish Message on topic pubtopic
AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36"
6
Subscribe on topic subtopic
AT+UMQS=0,0,"subtopic"
7
Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device
-
-
8
Receive Message on subtopic
+UEMQD:0,24
9
Read String Message
AT+UMQRS=0
+UMQRS:0,0,"subtopic",24,"Hellofromremotedevice"
10
Disconnect from MQTT broker
AT+UMQDC=0

7.5 MQTT TLS client - Azure IoT Hub

Connect as a Wi-Fi Station and an Access Point and a MQTT Broker. In this scenario, NORA-W36 connects to Microsoft Azure using certificates.
mqtt
Note that Azure IoT Hub isn’t a full-featured MQTT broker and doesn’t support all the behaviors specified in the MQTT v3.1.1 standard
Parameters and values
  • Host: iothub-test-sw.azure-devices
  • Port: 8883 (TLS)
  • Client ID: device1
  • Username: iothub-test-sw.azure-devices.net/device1/
  • Password: -
  • CA Root certificate: AzureCa.pem
  • Client certificate: azure_client.crt
  • Client private key: azure_priv_key.key
Before connecting to MQTT, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Configure MQTT Host, Port, Cient and Usename
AT+UMQCP=0,"iothub-test-sw.azure-devices.net",8883,device1,iothub-test-sw.azure-devices.net/device1
2
Write a X.509 certificate and private key using Binary data
AT+USECUB=0,"AzureCa.pem"{databinarycontentof"AzureCa.pem"}
AT+USECUB=1,"azure_client.crt"{databinarycontentof"azure_client.crt"}
AT+USECUB=2,"azure_priv_key.key"{databinarycontentof"azure_priv_key.key"}
See Binary data for more information, note that the brackets { and } should NOT be sent, they are just here in this example
3
Setup TLS connection config
AT+UMQTLS=0,1,"AzureCa.pem","azure_client.crt","azure_priv_key.key"
4
Connect to MQTT broker
AT+UMQC=0
+UEMQC:0
5
Publish Message on topic pubtopic
AT+UMQP=0,0,0,"pubtopic","HelllofromNORA-W36"
6
Subscribe on topic subtopic
AT+UMQS=0,0,"subtopic"
7
Post a Message to the MQTT Broker on subtopic the message should be Hello from remote device
-
-
8
Receive Message on subtopic
+UEMQD:0,24
9
Read String Message
AT+UMQRS=0
+UMQRS:0,0,"subtopic",24,"Hellofromremotedevice"
10
Disconnect from MQTT broker
AT+UMQDC=0

8 HTTP/HTTPS client use cases

NORA-W36 does no support a http client in current SW version, but it is a planned feature. It is possible to download files and web sites without a http client, this example show how to do that using a HTTP GET Request.
HTTP is just thin layer on top of TCP on port 80, and HTTPS is using TCP with TLS on port 443, for a more secure encrypted connection.
This example use Binary mode, String mode can’t be used in this case since some data may be non ASCII caracters.This example does not validate the server certificate, but is can be made by adding the connect CA Root certificate in the AT+USOTLS=0,1,CA.pem or .

8.1 HTTPS download

In this example the following image will be downloaded: https://test.mosquitto.org/mosquitto-text-side.png using the HTTP protocol.
Parameters and values
  • Host: test.mosquitto.org
  • Port: 443 (HTTPS default port)
  • Path: /mosquitto-text-side.png
Before connecting to HTTPS, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Create a TCP socket
AT+USOCR=6
+USOCR:0
2
Enable TLS on the created socket (0)
AT+USOTLS=0,1
3
Connect TCP with TLS enabled
AT+USOC=0,"test.mosquitto.org",443
+UESOC:0
4
Send HTTP GET Request in Binary format (39 bytes, 0x27)
AT+USOWB=0\x01\x00\x27GET/mosquitto-text-side.pngHTTP/1.1\r\nHost:NORA-W36\r\n\r\n
+USOWB:0,39
5
Data is now received in
+UESODA:0,4096
6
Read out the data in binay format
AT+USORB=0,1000
+USORS:0,1000{Binaryheaderanddata}
7
Read out the data in binay format
AT+USORB=0,1000
+USORS:0,1000{Binaryheaderanddata}
8
When the file has been received the server may close the connection
+UESOCL:0

8.2 HTTPS upload

In this example the following file will be uploaded: https://posttestserver.dev using the HTTPS (TLS) protocol on port 443. Random post receiver site https://posttestserver.dev/p/0k64ebdoksza3usa/
Parameters and values
  • Host: posttestserver.dev
  • Port: 443 (HTTPS default port)
  • Path: /p/0k64ebdoksza3usa/post/
  • File: file.bin (12288 bytes)
Before connecting to HTTPS, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Create a TCP socket
AT+USOCR=6
+USOCR:0
2
Enable TLS on the created socket (0)
AT+USOTLS=0,1
3
Connect TCP with TLS enabled
AT+USOC=0,"posttestserver.dev",443
+UESOC:0
4
Send HTTP GET Request in Binary format (143 bytes, 0x8F)
AT+USOWB=0\x01\x00\x8FPOST/p/0k64ebdoksza3usa/post/HTTP/1.1\r\nHost:posttestserver.dev\r\nContent-Type:application/octet-stream\r\nContent-Length:12288\r\n\r\n
+USOWB:0,8F
5
Send Binary file
AT+USOWB:0{file.bin}
6
Send Binary file
AT+USOWB:0{file.bin}
7
| 8 | Send Binary file until 12288 bytes has been sent | AT+USOWB:0{file.bin} | | 9 | HTTP reply is now received | +UESODA:0,512 | | 10 | Read out the data in binay format | AT+USORB=0,512 | +USORS:0,512{Binaryheaderanddata} | 11 | Close the connection to the HTTPS server |AT+USOCL=0 | +UESOCL:0 |

8.3 HTTPS upload with server certificate validation

In this example the following file will be uploaded: https://posttestserver.dev using the HTTPS (TLS) protocol on port 443. Random post receiver site https://posttestserver.dev/p/0k64ebdoksza3usa/ using the CA certificate “GTS Root R4.crt” for the website to validate the server certificate.
Parameters and values
  • Host: posttestserver.dev
  • Port: 443 (HTTPS default port)
  • Path: /p/0k64ebdoksza3usa/post/
  • File: file.bin (12288 bytes)
  • CA Certificate: “GTS Root R4.crt”
Extract the CA Root Certificate using a Browser or OpenSSL as below: $openssls_client-showcerts-connectposttestserver.dev:443</dev/null|opensslx509-outformPEM>"GTSRootR4.crt"
Before connecting to HTTPS, set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
Nr
Instructions
AT command
AT event
1
Upload CA certificate
AT+USECUB=0,"GTSRootR4.crt"{databinarycontentof"GTSRootR4.crt"}
2
Create a TCP socket
AT+USOCR=6
+USOCR:0
3
Enable TLS on the created socket (0)
AT+USOTLS=0,1,"GTSRootR4.crt"
4
Connect TCP with TLS enabled
AT+USOC=0,"posttestserver.dev",443
+UESOC:0
5
Send HTTP GET Request in Binary format (143 bytes, 0x8F)
AT+USOWB=0\x01\x00\x8FPOST/p/0k64ebdoksza3usa/post/HTTP/1.1\r\nHost:posttestserver.dev\r\nContent-Type:application/octet-stream\r\nContent-Length:12288\r\n\r\n
+USOWB:0,8F
6
Send Binary file
AT+USOWB:0{file.bin}
7
Send Binary file
AT+USOWB:0{file.bin}
8
9
Send Binary file until 12288 bytes has been sent
AT+USOWB:0{file.bin}
10
HTTP reply is now received
+UESODA:0,512
11
Read out the data in binay format
AT+USORB=0,512
+USORS:0,512{Binaryheaderanddata}
12
Close the connection to the HTTPS server
AT+USOCL=0
+UESOCL:0

9 Roaming use cases

NORA-W36 supportes roaming, it is disabled by default and needs to be enabled before connecting Wi-Fi with AT+UWSROE=1
The most important setting are the following, see AT manual for more settings
Command
default
Valid values
AT+UWSROE=<roaming>
Default value 0
0: Disable roaming
1: Enable roaming
AT+UWSROS0=<roaming_scanning_threshold>
Default value: -70
Valid values: -95..0
AT+UWSROS1=<roaming_switch_limit>
Default value: 10
Valid values: 1..50
AT+UWSROS3=<roaming_current_rssi>
Default value: 0
0: Disable current rssi roaming
1: Enable current rssi roaming
With the default value roaming will start if RSSI goes to -70 or below, a background scan will start to find a better AP with the same SSID. It will perform a roaming if an Access Point with -70+10=-60dBm is found.
Is some situations you want to roam based on your current RSSI instead of a fixed value (default -60 dBm), then the Aggressive roaming should be used AT+UWSROS3=1 and also lower the limit for a better AP to like 3 dBm AT+UWSROS1=3. Then if the current RSSI is like -78dBm it will be like -78+3=-75dBm and change will happen if an AP with -75dBm or better is found a roaming will occur.

10 Power save use cases

10.1 Auto sleep

By default no lower power mode is enabled in NORA-W36 to have maximal performance and response time. In some application power consumption is important and data throughput and latency is not that important. By enabling the low power mode this will slighty change. More power save means more latency can be expected.
Power level 0 (default, no power save) and power level 1 (moderate power save) is supported, more levels may be added in future releases.
The low power level 1 is set using the command AT+UPMPSL=1 see NORA-W36 SIM and AT command manual for more details. There is a limitation that the first AT command after the timeout (default 1 second) can’t be longer than 16 bytes. Note that in power level 1 only 115200 baud rate or lower is allowed.
All low power modes save power automatically and will adjust this depending on the level. When enabled, no further action is required by the host.

10.2 Deep sleep

The most efficiant power level is Deep sleep which is almost like a power off, no radio communication is possible in this mode.
  • To initiate Deep sleep mode, the host uses the AT command AT+UPMDS
  • To wake up the module from Deep sleep mode, the host sets GPIO_J9toGND
  • After wake up, the module assumes the same state as it does after a reset

11 Send and receive data

NORA-W36 supports several modes for sending and receiving data:
  • String mode
    • All readable ASCII characters (0x21-0x7E, 0xA1-0xFF)
    • Use when sending data in plain text format. For example, when using JSON, HTML, or NMEA.
  • Binary mode
    • All types of characters (0x00-0xFF)
    • Use when all types of data is needed. For example, in binary content using file upload and download.
  • Transparent mode
    • All types of characters (0x00-0xFF)
  • Transparent mode has best performance, due to no wait states
  • Direct mode is faster than Buffered mode
  • Binary mode is faster than String mode
To receive data without an event and read it out, the read mode can be changed to direct mode AT+USORM=1

11.1 String mode

Socket receive mode
SyntaxAT+USORM=<receive_mode>
  • 0: Buffered mode
    • +UESODA - Socket Data Available Event, default mode
  • 1: Direct string mode
    • +UESODS - Socket Data Binary Event: Incoming on TCP socket data represented as a string
    • +UESODSF - Socket Data Binary From Event: Incoming on UDP socket data represented as a string
SPS Receive data mode
SyntaxAT+USPSRM=<receive_mode>
  • 0: Buffered mode
    • +UESPSDA SPS Data Available event, default mode
  • 1: Direct string mode
    • +UESPSDS - SPS Data String event

11.1.1 Socket write string

SyntaxAT+USOWS=<socket_handle>,<string_data>
Example to write socket data
Nr
Instructions
AT command
AT event
1
Write Socket data in string format size
AT+USOWS=0,"HellofromNORA-W36"

11.1.2 Socket read string

SyntaxAT+USORS=<socket_handle>,<length>+USORS:<socket_handle>,<length>,<string_data>
Example to read socket data
Nr
Instructions
AT command
AT event
1
Incoming Socket data
+UESODA:0,19
2
Reads incoming Socket data in string format
AT+USORS=0,19
+USORS:0,19,"HellofromNORA-W36"

11.1.3 SPS write string

SyntaxAT+USPSWS=<conn_handle>,<string_data>
Example to write SPS data
Nr
Instructions
AT command
AT event
1
Write SPS data in string format size
AT+USPSWS=0,"HellofromNORA-W36"

11.1.4 SPS read string

SyntaxAT+USPSRS=<socket_handle>,<length>+USPSRS:<socket_handle>,<length>,<string_data>
Example to read SPS data
Nr
Instructions
AT command
AT event
1
Incoming SPS data
+UESPSDA:0,19
2
Reads incoming SPS data in string format
AT+USPSRS=0,19
+USPSRS:0,19,"HellofromNORA-W36"

11.2 Binary mode

The binary mode should be used when binary content is transmitted, like files and binary protocols.
See Binary data for more infomation about the format of the data.
Socket receive mode
SyntaxAT+USORM=<receive_mode>
  • 0: Buffered mode
    • +UESODA - Socket Data Available Event, default mode
  • 2: Direct binary mode
    • +UESODB - Socket Data Binary Event: Incoming on TCP socket data represented as binary data
    • +UESODBF - Socket Data Binary From: Incoming on UDP socket data represented as binary data
SPS receive mode
SyntaxAT+USPSRM=<receive_mode>
  • 0: Buffered mode
    • +UESPSDA SPS Data Available event, default mode
  • 2: Direct binary mode
    • +UESPSDB - SPS Data Binary event
See more infomation about Binary Data.

11.2.1 Socket write binary

AT+USOWB=<socket_handle>{binary_data}
Example to write socket data
Nr
Instructions
AT command
AT event
1
Write Socket data in binary format size
AT+USOWB=0\x01\x00\x13HellofromNORA-W36

11.2.2 Socket read binary

SyntaxAT+USORB=<socket_handle>,<length>
+USORS:<socket_handle>{binary_data}
Example to read socket data
Nr
Instructions
AT command
AT event
1
Incoming Socket data
+UESODA:0,19
2
Reads incoming Socket data in binary format
AT+USORB=0,19
+USORB:0\x01\x00\x13HellofromNORA-W36

11.2.3 SPS write binary

SyntaxAT+USPSWS=<conn_handle>{binary_data}
Example to write SPS data
Nr
Instructions
AT command
AT event
1
Write SPS data in binary format size
AT+USPSWB=0\x01\x00\x13HellofromNORA-W36

11.2.4 SPS read binary

SyntaxAT+USORB=<socket_handle>,<length>
+USORB:<socket_handle>{binary_data}
Example to read SPS data
Nr
Instructions
AT command
AT event
1
Incoming SPS data
+UESPSDA:0,19
2
Reads incoming SPS data in binary format
AT+USPSRB=0,19
+USPSRB:0\x01\x00\x13HellofromNORA-W36

11.3 Transparent mode

Transparent mode (TM) works in the same way as Data mode in legacy products. Note that only one connection of TCP, UDP (Wi-Fi), or SPS (BLE) is allowed.

11.3.1 Transparent mode

To enter Transparent Mode the AT command AT+UTM is used with the option to use TCP, UDP or SPS.
SyntaxAT+UTM=<link_type>,<handle>
Example for SPS: AT+UTM=0,0OKTransparent mode has started+++OKBack in AT mode
Example for TCP socket: AT+UTM=1,0OKTransparent mode has started+++OKBack in AT mode
Until the escape secqence +++ is sent, all data received on the UART will be sent unmodified to the remote device on the specific connection selected.

11.3.2 Transparent mode persistent

Like the Transparent Mode (TM) the Transparent Mode Persistent (TMP) works in the same way as Data Mode in legacy u-blox short range products. Note that only one connection of TCP, UDP (Wi-Fi), or SPS (Bluetooth LE) is allowed in this mode. The only difference with TM and TMP is that TMP can be stored in flash and connect at startup.
To enter TMP, the AT+UTMP command is used - with the option to use TCP, UDP, or SPS.
SyntaxAT+UBTP=<bd_addr>,<connect_sps>AT+UTMP=<link_type>,<config_id>
Example for SPS
Nr
Instructions
AT command
AT event
1
Enter the remote Bluetooth LE address to connecting device
AT+UBTP=BBBBBBBBBBBB,1
+UBTP:200
2
Enable Persistant on the connection
AT+UTMP=0,200
3
Store settings
AT&W
4
Reset the module
AT+CPWROFF
5
Wait for NORA-W36 to startup
+STARTUP
6
Transparent Mode Persistent has started
7
Exit Transparent Mode using escape sequence
+++
Example for TCP socket
Nr
Instructions
AT command
AT event
1
Create a Persistent TCP Socket
AT+USOPCR=6
+USOPCR:100
2
Set the IP Address and Port for the connection
AT+USOP=100,192.168.0.26,5003
3
Enable Persistant on the connection
AT+UTMP=1,100
4
Set up Wi-Fi Connection like in steps 1-5 in Wi-Fi station
5
Store settings
AT&W
6
Reset the module
AT+CPWROFF
7
Wait for NORA-W36 to startup
+STARTUP
8
Transparent Mode Persistent has started
9
Exit Transparent Mode using escape sequence
+++
Until the escape sequence +++ is sent, all data received on the UART will be sent unmodified to the remote device on the specific connection selected.

12 Binary data

firmware
The packet starts with \x01 (SOH, Start Of Header) followed by the length of the data in two-byte unsigned integer (UINT16) format, and then followed by the binary data. The data shall not be terminated with the normal \x0D (Carriage Return, \r).
The binary header is comprised of three bytes: 0x01(SOHStartOfHeader),MSB_datalength,LSB_datalength
All commands and Unsolicited Result Codes (URC) that use binary data are “complete” without the binary data. In most cases, the binary data is sent directy after the AT command and the handle.
In the following AT+USOWB - Socket Write Binary command example, the binary data follows the the socket handle directly - without “,” or “\r” or any other character in between.
Example: AT+USOWB=0{0x01,0x00,0x02,0xFF,0xEE} This command writes to socket 0, 2 bytes data the data is 0xFF 0xEE. Nota that the “{ }” should not be included in the data, it is only in this example, showing the binary data content.
Binary data for the Socket, SPS, and certificate upload all use the same Binary data format.

12.1 Binary mode command example

To send the following HellofromNORA-W36 message, the content must have a length of 19 bytes. The length in UINT16 format is \00\x13.
AT+USOWB=0\x01\x00\x13HellofromNORA-W36
Note that the AT command must not be terminated with the \r, The length shown in the header defines the number of bytes expected from the AT parser. The complete AT event includes the same three bytes header immediately after the handle in the event, like this:
+USORB:0\x01\x00\x13HellofromNORA-W36

12.2 Certificate upload command example

In the following example, the Security Certificate Upload Binary command, AT+USECUB, is entered with the X.509 certificate (or private key) using binary transfer. The certificate length is 1342 bytes and given in UINT16 format as \05\x3E.
To send the content of
-----BEGINCERTIFICATE-----\nABCDojCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCR0Ix\nFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTESMBAGA1UE\nCgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVpdHRvLm9y\nZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzAeFw0yMzEwMDQxMDEw\nMzJaFw0yNDAxMDIxMDEwMzJaMHwxCzAJBgNVBAYTAlNFMQ4wDAYDVQQIDAVNYWxt\nbzEOMAwGA1UEBwwFTWFsbW8xDzANBgNVBAoMBnUtYmxveDEPMA0GA1UECwwGQUUt\nU0hPMQ0wCwYDVQQDDARjbWFnMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3Qub3Jn\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3PZc1E7uSBiB/Es1V0pU\nXeSayY3f6vrIbnSGTb+/PERSPgPz6UoZumJjcOWbCMq7T+/dvvxox/ZU/t/XdGMq\nMJRgN+aWRG6I4QmqYgkiAZGMuaMa+TLLEEPvL1IDKSxeVjHRNDx4yZM4zgvl6ZX7\noRaBqZBooNTHOtAGjlydyyz55HCZfLsE8Z3iaH7uW+/n9+2nWusfUXoJmI0STmEH\npJ+ZF7M+o53UilW2NKdv/R+wCzXxmKWX6PFVg4NdKspTDUOpPcxlphMQGi24E2uz\n2k7raCQvGt32LxZc/vic4W6rNDGGNSSDVJTSx6egzfRrcCKw3T88TN87nasjc+KV\nCQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF\nAAOCAQEAjRyNWHGtcwLT21IzJ2//I8YL611iTUitRGkA0gF+7l0DuPtfSLPVhoyB\nTe3FThYsn2OYfF+LrbSMlWO38Am2fqE8lTGe9EX/HZj95Wj+RnQApc9CkxGJkCb8\n6aecuz8Vhyl2zWA5kqNrq978uMmsyX3FNRcS3mB7Vo+65R/XwThzHjSXyCyHzRMd\nzOlrJZMuNWV2bI7vyIIp9/AdHNO6Hwnj+I5hBDvyV+T9RT2jLUTRZldGUJQBlDVj\nQUKa8NSwzVrvoVTPAT6gcPCn4VQkwxLE/LWaNw2X8mxtyo3nXVoo291TzB8mKHUQ\nubOA1iBEcKtAFjqOlZSLanVNvrn5KwXY\n-----ENDCERTIFICATE-----\n
This is how the complete AT command will look like
AT+USECUB=0,"ca.pem"\x01\x05\x3E-----BEGINCERTIFICATE-----\nABCDojCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UEBhMCR0Ix\nFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTESMBAGA1UE\nCgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVpdHRvLm9y\nZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzAeFw0yMzEwMDQxMDEw\nMzJaFw0yNDAxMDIxMDEwMzJaMHwxCzAJBgNVBAYTAlNFMQ4wDAYDVQQIDAVNYWxt\nbzEOMAwGA1UEBwwFTWFsbW8xDzANBgNVBAoMBnUtYmxveDEPMA0GA1UECwwGQUUt\nU0hPMQ0wCwYDVQQDDARjbWFnMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3Qub3Jn\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3PZc1E7uSBiB/Es1V0pU\nXeSayY3f6vrIbnSGTb+/PERSPgPz6UoZumJjcOWbCMq7T+/dvvxox/ZU/t/XdGMq\nMJRgN+aWRG6I4QmqYgkiAZGMuaMa+TLLEEPvL1IDKSxeVjHRNDx4yZM4zgvl6ZX7\noRaBqZBooNTHOtAGjlydyyz55HCZfLsE8Z3iaH7uW+/n9+2nWusfUXoJmI0STmEH\npJ+ZF7M+o53UilW2NKdv/R+wCzXxmKWX6PFVg4NdKspTDUOpPcxlphMQGi24E2uz\n2k7raCQvGt32LxZc/vic4W6rNDGGNSSDVJTSx6egzfRrcCKw3T88TN87nasjc+KV\nCQIDAQABoxowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG9w0BAQsF\nAAOCAQEAjRyNWHGtcwLT21IzJ2//I8YL611iTUitRGkA0gF+7l0DuPtfSLPVhoyB\nTe3FThYsn2OYfF+LrbSMlWO38Am2fqE8lTGe9EX/HZj95Wj+RnQApc9CkxGJkCb8\n6aecuz8Vhyl2zWA5kqNrq978uMmsyX3FNRcS3mB7Vo+65R/XwThzHjSXyCyHzRMd\nzOlrJZMuNWV2bI7vyIIp9/AdHNO6Hwnj+I5hBDvyV+T9RT2jLUTRZldGUJQBlDVj\nQUKa8NSwzVrvoVTPAT6gcPCn4VQkwxLE/LWaNw2X8mxtyo3nXVoo291TzB8mKHUQ\nubOA1iBEcKtAFjqOlZSLanVNvrn5KwXY\n-----ENDCERTIFICATE-----\n
+USECUB:1342
OK
Note that the AT command must not be terminated with the \r. The length of the header defines the number of bytes expected from the AT parser.

12.3 Python pseudo code example

byte='AT+USECUB=0,"ca.pem"'
byte+=b'\x01'
byte+=len(bin_data).to_bytes(2,'big')
byte+=bin_data#bin_datacontainsthebinarydatatobesent
write(byte)

12.4 C# Pseudo code example

byte[]bin_data'//datacontainsthebinarydatatobesent
byte[]dataHeader=newbyte[3];
dataHeader[0]=0x01;
dataHeader[1]=Convert.ToByte(bin_data.Length>>8);
dataHeader[2]=(Convert.ToByte(bin_data.Length&0xff));
write("AT+USECUB=0,"ca.pem")
write(dataHeader)
write(bin_data)

13 Diagnostic tools

Diagnostic tools such as ping, which verifies connectivity at the IP level, and iperf, which measures network performance, are useful for troubleshooting and optimizing the communication efficiency in the module.

13.1 Ping

SyntaxAT+UDGP=<destination>[,<count>]
Ping example
Nr
AT command
AT event
1
AT+UDGP="www.google.com",4
2
+UEDGP:1,15
4
+UEDGP:1,15
5
+UEDGP:1,14
6
+UEDGP:1,14
7
+UEDGPC:4,4,0,14

13.2 iperf

Iperf version 2 is supported as client and server software - with support for TCP and UDP data. Download Iperf 2 for Windows here Manual for iperf 2 can be found here
Note that the Iperf implementation is experimental and may change between releases, like parameters and behavior.
SyntaxAT+UDGI=<iperf_action>,<protocol_type>[,<role>,<port>,<report_interval>[,<time_boundary>,<ip_addr>[,<bidirectional>]]]

13.3 Iperf server

Example for Iperf server on port 5001
Nr
AT command
AT event
1
AT+UDGI=1,1,1,5001,1
2
+UEDGI:"TCP:StartTCPserver!"
3
+UEDGI:"tcp_server_func:Createsocketfd=0"
4
+UEDGI:"tcp_server_func:Bindsocketsuccessfully"
5
+UEDGI:"tcp_server_func:Listenport5001"

13.4 Iperf client

Example for Iperf client to connect on address 192.168.0.41 on port 5001
Nr
AT command
AT event
1
AT+UDGI=1,1,2,5001,1,20,192.168.0.41
2
+UEDGI:"tcp_client_func:Createsocketfd=1"
3
+UEDGI:"tcp_client_func:Connecttoserversuccessfully"
4
+UEDGI:"tcp_client_func:Send1435KBytesin1000ms,11761Kbits/sec"
5
+UEDGI:"tcp_client_func:Send1418KBytesin1000ms,11621Kbits/sec"
6
+UEDGI:"tcp_client_func:Send1417KBytesin1000ms,11609Kbits/sec"

14 Error codes

The Extended error codes can be useful to understand the reason for the ERROR received.
Note that the error codes should only be used for information and might change between versions in the future.

14.1 Extended error code

AT+USYEC
SyntaxAT+USYEC?
+USYEC:<error_code>
ExampleAT+USYEC?
+USYEC:5
OK
The error code for 5 is U_ERROR_COMMON_INVALID_PARAMETER, meaning that the parameter on the last AT command was invalid. See NORA-W36 u-connectXpress Error codes for more details.

14.2 Extended error codes on/off

This command will enable the error code when an ERROR is received for every commands.
SyntaxAT+USYEE=<extended_errors>
ExampleAT+USYEE=1
OK
AT+
ERROR:32
The error code for 32 is U_AT_STATUS_INVALID_COMMAND, meaning that the AT command is not correct. See NORA-W36 u-connectXpress Error codes for more details.

14.3 Socket error

Use this command to get the last error on the Socket used.
SyntaxAT+USOE
+USOE:<error_code>
ExampleAT+USOE
+USOE:107
The error code for 107 is Transportendpointisnotconnected, meaning that the socket connection is down. See NORA-W36 u-connectXpress Error codes for more details.

15 Software update

This use case shows what AT commands to send to start a software update. There are two ways to start the software update:
  • See more about the XMODEM protocol here
firmware

15.1 Update software by AT command

  • Enter XMODEM mode for u-connect software update using serial port
  • XMODEM-1K and baud rate up to 3 Mbps is supported.
Nr
Instructions
AT command
AT event
1
Start XMODEM protocol with AT command
AT+USYFWU=0,3000000
2
Now NORA-W36 is ready to receive the software using the XMODEM or
XMODEM-1K protocol
CCCCCCCCCCC...
3
When the software has been downloaded the module will restart
+STARTUP
4
Check the version of the software
AT+GMR
"1.0.0-001"

15.2 Update software by bootloader

Consider the following points when updating the software using the bootloader:
  • Enter the bootloader command line mode using serial port by AT command
  • Press SWITCH_1 and SWITCH_2 during startup (or after reset)
  • A command must be sent within 10 seconds when in bootloader command line mode. Otherwise, the device reboots in normal mode
  • For the complete list of available commands, enter ?
  • An XMODEM protocol timeout is invoked after 10 seconds if nothing is received
  • XMODEM-1K and baud rate up to 3 Mbps is supported
Nr
Instructions
AT command
Event
1a
Enter the bootloader
AT+USYFWU=1,115200
1b
Alternatively, press SWITCH_1 and SWITCH_2 during startup or reset to enter the bootloader reset
2
Wait for the > prompt
>
3
Change baud rate to up to 3 Mbit/s (optional)
r3000000
4
Start XMODEM protocol with the command x
x
5
Now NORA-W36 is ready to receive the software using the XMODEM or XMODEM-1K protocol
CCCCCCCCCCC...
6
Wait for the prompt to indicate that the software has been downloaded successfully
>
7
Enter the q command to restart the module
q
8
Wait for the prompt to display that the module has restarted in AT mode
+STARTUP
9
Check the version of the software
AT+GMR
"1.0.0-001"

16 Changelog

All notable changes in the NORA-W36 AT commands manual will be documented here.

[2.0.0] - R03 - 2024-12-17

Fixed

Added “” on all strings.

[1.2.0] - R02 - 2024-10-18

The main feature in this release is HTTP download, Wi-Fi roaming and low power modes.

Added

Changed

Moved and fixed some images and some updates in the u-connectXpress capabilities for 1.2.0.

Fixed

Some broken links were fixed.

[1.0.0] - R01 - 2024-05-15

First release for NORA-W36 with the most common Wi-Fi and Bluetooth use cases using the new and improved AT command set, not backwards compatible with previous u-connectXpress versions.

18 Contacts

u-blox AG Address: Zürcherstrasse 68 8800 Thalwil Switzerland For further support and contact information, visit us at www.u-blox.com/support.
Last updated: 25 August 2025
Need help?Contact Support
Questions?Contact us