Get started with the nRF9160 Development Kit

The nRF9160 DK is a cellular IoT development kit for LTE Cat-M1, NB-IoT, GNSS and Bluetooth LE. It is an affordable, pre-certified single-board development kit for evaluation and development of the nRF9160 SiP.

Quick Navigation


Getting Started with the nRF9160 DK

Connect to the nRF9160

Connect the nRF9160 to your computer using a micro USB cable.

Open the Programmer tool from nFR Connect for Desktop.

Connect your device by clicking SELECT DEVICE โ†“ at the top-left corner.

Program the Development Kit with the at_client sample

For details about the at_client sample, see nRF9160 documentation

Open your nRF Connect SDK on VS Code or SES. Select the option: Create a new application from sample and open the application: at_client which can be found in the folder: samples/nrf9160/.

Add Build Configuration for the board nrf9160dk_nrf9160_ns

Flash the build file to the nRF9160 by clicking Flash in the left side menu

Wait for the status message: "Programming: Programming complete"

Connect the nRF9160 to Monogoto

Keep the nRF91 AT Commands manual next to you for more details about the commands. Click here to visit NORDICs AT Commands documentation.

Start off by inserting the Monogoto SIM card.

Open the LTE Link Monitor from nRF Connect for Desktop.

After selecting your device via the button SELECT DEVICE โ†“, the AT command AT+CFUN? is sent automatically to the modem which returns: +CFUN: 0, indicating that the modem is turned off.

Reset the modem to factory settings:


Enable error reporting, resulting in more descriptive error codes (optional):


Activate the cellular modem:


Check if the SIM card is attached and is not locked with a PIN, expected response: +CPIN: READY:


If you receive an error, the SIM may not be inserted properly or the SIM is protected with a PIN. By default, Monogoto SIMs are not PIN protected.

Query device information

Request the modem hardware version:


Validate if the nRF9160 modem runs the latest firmware:


Compare the response with the latest version found on NORDICs website under nRF9160 SiP modem firmware.

How to update the nRF9160 modem firmware

If you donโ€™t run the latest modem firmware, download the latest nRF9160 DK application and modem firmware. Unzip the file and look for a zipfile which starts with mfw (which stands for Modem Firmware).

Open the Programmer in nRF Connect for Desktop.

Request the IMSI (International Mobile Subscriber Identity):


Request the ICCID (Integrated Circuit Card ID), which is the identification number of the SIM card:


Network Configuration

It is possible to let the modem select the network automatically, or to manually define a network to connect with.

Option 1: Automatic Network Selection

To set the modem to automatic network selection enter the command:


Check the network and cellular technology the modem is currently using:


Expected response: +COPS: 0,2,"<MCCMNC of operator>",7. The last digit indicates the cellular technology, 7 means LTE Cat-M1

Option 2: Manual Network Selection


Be patient, it may take several minutes before the modem responds, you cannot send any other AT Commands in the meantime. You may get an error message which you can ignore Error: 'AT+COPS=? ' timed out.

The modem responds with the MCCMNC codes of the available networks. It also shows the cellular technologies the networks support: 7 indicates LTE Cat-M1.

Example response:

+COPS: (2,"","","20408",7),(1,"","","20404",7),(1,"","","20416",7)

To find the names and MCCMNCs of the networks Monogoto has roaming agreements with, review the Coverage lists.

To find the profile of your SIM, visit the Monogoto Console, open the page Things and select a specific Thing. Scroll down to Mobile Identities to find your profile in the column Network Provider Name.

To find the network operator and the cellular technology the device is currently using, enter:


Expected response: +COPS: 0,2,"<MCCMNC>",7. The last digit indicates the cellular technology LTE Cat-M1.

Manually set the network and the cellular technology:


Replace XXXXX with the MCCMNC code of your operator, for example"20404" for Vodafone NL.

Check the radio signal strength and signal quality:


Example response: +CESQ: 99,99,255,255,15,53

+CESQ returns 6 values separated by commas. The last 2 values indicate the RSRQ (Reference Signal Received Quality) and RSRP (Reference Signal Received Power) respectively. RSRQ is indicated with a value between 0 and 34, RSRP is with a value between 0 and 97. Higher values represent better signal quality.

Read the LTE Cat-M1 band the modem is using:


Example response: %XCBAND: 20

Define the cellular band(s) (optional)

It is possible to lock the modem to one or more specific bands. This may result in a faster boot cycle as the modem does not need to scan for available bands at startup.

To find the available bands the modem support:


Expected response: %XCBAND: (1,2,3,4,5,8,12,13,18,19,20,25,26,28,66)

Although the modem may support many different bands, your local network operator may not. Have a look at the LTE Cat-M1 overview to find the available band(s) in your region.

The LTE Link Monitor shows most of the network information as well. Example:

Lock the modem to one or multiple bands

First, deactivate the modem: AT+CFUN=0, then run the command:


Example of creating the bandmask:

To lock the modem to band 3 and 8, create a bit array where the 3rd and 8th bit are a 1 (counted from right to left): 10000100. The AT Command becomes: AT%XBANDLOCK=1,"10000100"

Reactivate the modem after locking the band: AT+CFUN=1

Test if the bands are properly set:


Expected response: %XBANDLOCK: "<bandmask>",""

Network Activation

Set the APN to data.mono:


Validate if the APN is properly set:


Expected response:

+CGDCONT: 1,"IP","data.mono"

Activate the PDP (packet data protocol) context:


Test if the PDP context is activated:


Expected response:

+CGACT: 0,1
+CGACT: 1,1

Validate if your device received an IP address:


Expected response: +CGPADDR: 1,XX.XXX.XX.XXX

Did you receive an IP address? Congratulations! ๐ŸŽ‰ You successfully connected the nRF9160 to Monogoto. Have a look at the Things logs in the Monogoto Console to find more details about the established connection.

Finally, visualize the network settings and status in the LTE Link Monitor with the command:


If all went well, you should see the Modem, UICC, LTE and PDN (and optionally UART) indicators in the LTE Link Monitor turn green. You should also see network information such as the band, the network the signal quality and IP address.

Build a tracking application

After successfully connecting the nRF9160 to Monogoto, start building an IoT asset tracking application where GPS data is visualized in nRF Cloud.


Add the nRF9160 to nRF Cloud

Login to nRF Cloud

Connect the nRF9160 DK to nRF Cloud by clicking the + sign. Select LTE Device and Skip the step when asked to activate a SIM card.

The Device ID is composed of nrf- followed by the IMEI which can be found at the back of the device, or by running the AT Command: AT+CGSN. Below the IMEI, you should see the PIN or HWID.

Open your nRF Connect SDK on VS Code or SES. Select the option: Create a new application from sample and open the application: asset_tracker_v2 which can be found in the folder: nrf/applications/.

For details about the asset_tracker_v2 sample, see nRF9160 documentation

Add a Build Configuration for the Asset Tracker V2 application (this may take several minutes) and Flash it to your Development Kit.

Place the device outside or close to a window so it can receive GPS signals. Have a look at the LTE Link Monitor tool from nRF Connect for Desktop to monitor the device.

If the nRF9160 DK successfully connected to Monogoto and got a GPS fix, data will appear in the nRF Cloud. Does your nRF Cloud look something like the below images? Congratulations! Youโ€™ve successfully connected the nRF9160 DK to the nRF Cloud using Monogoto. ๐Ÿ™Œ

Last updated