Skip to main content

Test the Quectel CC660D-LS radio module

The Quectel CC660D-LS is a 3GPP non-terrestrial network (NTN) satellite communication module. This guide contains the configuration and AT commands for the module and evaluation board.

Set up the evaluation board

note

These instructions are for Windows users. If you have a different operating system, adjust the steps accordingly.

  1. Insert the emnify SIM card into the SIM reader slot of the Quectel board.

  2. Attach the antennae (NTN and GNSS) to the board to the board using the antenna connectors. Use the image below as a reference.

  3. Connect the USB cable to your PC and the board's UART port. Make sure you've installed the USB-to-UART driver on your PC.

  4. Set the jumpers to ensure the correct voltage as described in the Quectel CC660D-LS TE-B User Guide.

    Test setup for the Quectel CC660D-LS evaluation board

  5. In your Windows PC, go to the Control Panel and check your Device Manager for the assigned communications port (COM port) of the evaluation board (EVB).

  6. Open PuTTY (or another SSH client), then set the connection type to Serial.

  7. Enter the COM port assigned to the EVB and set the speed to a baud rate of 115200.

After establishing a connection between your SSH client and the module, refer to the Quectel AT Command Guide to complete the initial configuration.

Available AT commands for testing

To test the satellite connectivity the CC660D-LS module provides, use the following AT commands.

info

CC660D-LS only supports NTN (that is, NBNTN), so there's no radio access technology (RAT) selection available.

tip

For more information about using AT commands to configure devices, see emnify's Introduction to AT commands webinar.

Retrieve modem manufacturer and revision

ATI
Example response
Quectel_Ltd
Quectel_CC660D-LS
Revision: CC660DLSAAR01A01

Query IMEI

AT+CGSN=1
Example response
+CGSN: 860952060001998

Query ICCID

AT+QCCID
Example response
+QCCID: 89883030000007437921

Query IMSI

AT+CIMI
Example response
901430003909019

Set and query APN

Set the Access Point Name (APN) to em:

AT+QCGDEFCONT="IP","em"
Example response
OK

Query the current APN:

AT+QCGDEFCONT?
Example response
+QCGDEFCONT: "IP","em"

Configure band

See available bands:

AT+QBAND=?
Example response
+QBAND: (0-6),(24,15,65,23,255,256)

Get the currently active bands:

AT+QBAND?
Example response
+QBAND: 15,24,65,23,255,256

Skylo uses bands 255 and 256. Setting both frequencies is safe, but this slows down the network search and attachment time.

AT+QBAND=1,255,256
Example response
OK

To save time, only configure one band. Currently, 255 is used in North America and 256 in Europe. Choose the band that corresponds to your region.

AT+QBAND=1,256
Example response
OK
BandFWD (UE Tx)RTN (UE Tx)SeparationRegion
B2551525-1559 MHz1626.5-1660.5 MHz-101.5 MHzGlobal
B2562170-2200 MHz1980-2010 MHz190 MHzEurope
B232180-2200 MHz2000-2020 MHz180 MHzNorth America

Request GNSS information

+QGNSSINFO: STATUS

Replace STATUS with an integer that indicates whether the embedded microcontroller unit (MCU) needs to provide GNSS information.

ValueDescription
0MCU doesn't need to provide GNSS information
1MCU needs to provide GNSS information

The following example command indicates that the MCU needs to provide GNSS information:

+QGNSSINFO: 1
Example response
OK

Set GNSS information

The MCU uses this command to actively set and query the terminal's current GNSS position information. The module uses the inputted GNSS position information for satellite communication timing and frequency compensation.

AT+QGNSSINFO 
Example response
OK

When the module needs GNSS position information, it actively reports the unsolicited result code (URC) +QGNSSINFO: 1 to notify the MCU to input GNSS position information to the module.

AT+QGNSSINFO=LATITUDE,LONGITUDE,ALTITUDE,SPEED,ACCURACY

Replace the placeholders according to your GNSS information using the following table as a reference.

PlaceholderData typeDescription
LATITUDEDoubleLatitude value in degrees. Maximum length is 11.
LONGITUDEDoubleLongitude value in degrees. Maximum length is 11.
ALTITUDEFloatAltitude value in meters above the WGS84 reference ellipsoid.
SPEEDDoubleSpeed in meters per second. Maximum length is 11.
ACCURACYIntegerEstimated horizontal accuracy radius in meters at the sixty-eighth percentile confidence level.

The following example command sets the GNSS information to the emnify office on the nineteenth floor in Berlin, Germany:

AT+QGNSSINFO=52.506284,13.393259,89,0,0
Example response
OK

Turn on registration status notifications

AT+CEREG=2
Example response
OK

Query available networks

AT+COPS=?
Example response
+COPS: (0,,,"90198",9),,(0-3),(0-2)
info

90198 is the Skylo network code. You're ready to attach to an NTN network if you see it in your response.

Query registration status

AT+COPS?
Example response - Not registered to any networks
+COPS: 0

OK
Example response - Registered to Skylo
+COPS: 0,2,"90198",9

OK

Register on a specific network

AT+COPS=1,2,"90198",9
tip

Typically, the module attaches to the Skylo network quicker automatically (that is, AT+COPS=0). But for debugging, you can use the preceding command to manually attach to the Skylo network.

As a result, you should see a reported CEREG state change. The following table outlines the possible values.

ValueDescription
0Not registered and MT isn't currently searching for an operator
1Registered to the home network
2Not registered, but MT is currently trying to attach or is searching for an operator
3Registration denied
4Unknown
5Registered and roaming

Check network status

note

This command is used in engineering mode.

AT+QENG=0

There are four available modes to pass to this command:

ValueDescription
0Displays radio information for serving and neighbor cells
1Only used if the modem is in the RRC-CONNECTED state
2Displays the total working duration time of the Tx (transmitting GPS satellite) and Rx (receiving spacecraft)
3Displays the public land mobile network (PLMN) status
Example response
+QENG: 0,229360,2,26,"27BBFA",-133,-13,-120,0,256,"0FBA",0,,3

The response contains the following values:

+QENG: 0,SC_EARFCN,SC_EARFCN_OFFSET,SC_PCI,SC_CELLID,SC_RSRP,SC_RSRQ,SC_RSSI,SC_SINR,SC_BAND,SC_TAC,SC_ECL,SC_TX_PWR,OPERATION_MODE

Generate IP data traffic by PING over ICMP

AT+PING=8.8.8.8
Example response
OK
+ping: begin, 8.8.8.8, data size= 64
+ping: finish, Packets: Sent = 1, Received =1, Lost = 0 (0% loss)
+ping: RTT statistics: Minimum = 8142, Maximum =8142, Average = 8142

Generate IP data traffic over UDP

info

Skylo NTN doesn't support Transmission Control Protocol (TCP) connections.

Create UDP socket

Creates an IPv4 UDP/IPv4 socket. The modem's response establishes the socket ID so it can be used to send or receive IP data over UDP.

AT+ESOC=1,2,1
Example response
+ESOC=1

OK

Establish UDP connection with a remove server

AT+ESOCON=SOCKET_ID,REMOTE_PORT,REMOTE_ADDRESS

Replace SOCKET_ID with the integer response from the preceding +ESOC command, REMOTE_PORT with the remote listener port, and REMOTE_ADDRESS with the IPv4 address of the remote server.

Example response
OK

Send UDP packet to a remote server

AT+ESOSEND=SOCKET_ID,DATA_LEN,DATA

Replace SOCKET_ID with the integer response from the preceding +ESOC command, DATA_LEN with the length of the data you're sending in bytes, and DATA with the data you're sending encoded as hex digits.

The following example command sends "text message" to the remote server. The response in ASCII read: "9999test message0000"

AT+ESOSEND=1,12,74657374206D657373616765
Example response
OK

+ESONMI=1,20,3939393974657374206d65737361676530303030

Close socket

AT+ESOCL=SOCKET_ID

Replace SOCKET_ID with the integer response from the preceding +ESOC command.

The following example command closes the socket with ID 1:

AT+ESOCL=1
Example response
OK