NORDIC nRF9160 DK
Get started with the nRF9160 Development Kit
Last updated
Get started with the nRF9160 Development Kit
Last updated
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.
nRF Connect SDK for VS Code or SES (Segger Embedded Studio)
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_client
sampleFor 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"
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.
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.
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:
Expected response: +COPS: 0,2,"<MCCMNC of operator>",7
. The last digit indicates the cellular technology, 7
means LTE Cat-M1
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:
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.
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.
Example response: %XCBAND: 20
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>",""
Set the APN to data.mono
:
Validate if the APN is properly set:
Expected response:
Activate the PDP (packet data protocol) context:
Test if the PDP context is activated:
Expected response:
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.
After successfully connecting the nRF9160 to Monogoto, start building an IoT asset tracking application where GPS data is visualized in nRF Cloud.
Monogoto SIM
nRF Connect SDK for VS Code or SES (Segger Embedded Studio)
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. 🙌
Click in the left menu bar Read , followed by Add file and select the modem firmware zipfile you just downloaded.
Click Write to write the latest application and modem firmware to the nRF9160. Wait for the program to report: "Completed successfully".
Start with searching for available networks by entering the below AT Command, or by clicking the button: