Comment on page
NORDIC nRF9160 DK
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.
nRF9160 Development Kit
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.
at_clientsample in VS Code
Add Build Configuration for the board
Add Build Configuration in VS Code
Flash the build file to the nRF9160 by clicking Flash in the left side menu
Wait for the status message: "Programming: Programming complete"
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:
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.
Request the modem hardware version:
Validate if the nRF9160 modem runs the latest 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.
Click in the left menu bar Read
, followed by Add file
and select the modem firmware zipfile you just downloaded.
to write the latest application and modem firmware to the nRF9160. Wait for the program to report: "Completed successfully".
Request the IMSI (International Mobile Subscriber Identity):
Request the ICCID (Integrated Circuit Card ID), which is the identification number of the SIM card:
It is possible to let the modem select the network automatically, or to manually define a network to connect with.
To set the modem to automatic network selection enter the command:
Check the network and cellular technology the modem is currently using:
+COPS: 0,2,"<MCCMNC of operator>",7. The last digit indicates the cellular technology,
7means LTE Cat-M1
Start with searching for available networks by entering the below AT Command, or by clicking the button:
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:
7indicates LTE Cat-M1.
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:
+COPS: 0,2,"<MCCMNC>",7. The last digit indicates the cellular technology LTE Cat-M1.
Manually set the network and the cellular technology:
XXXXXwith the MCCMNC code of your operator, for example
"20404"for Vodafone NL.
+CESQreturns 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
34, RSRP is with a value between
97. Higher values represent better signal quality.
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:
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:
Reactivate the modem after locking the band:
Test if the bands are properly set:
Set the APN to
Validate if the APN is properly set:
Activate the PDP (packet data protocol) context:
Test if the PDP context is activated:
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.
After successfully connecting the nRF9160 to Monogoto, start building an IoT asset tracking application where GPS data is visualized in 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.
asset_tracker_v2sample in VS Code
Add a Build Configuration for the Asset Tracker V2 application (this may take several minutes) and Flash it to your Development Kit.
Add Build Configuration in VS Code
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. 🙌