NB-IoT (LTE-NB1)

Last updated on: October 13, 2020

Mandatory Configuration

In order to connect the Icarus board to the NB network, you need to add the following directive in your project's prj.conf:

CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_NETWORK_MODE_NBIOT=y

If you use an external sim card (not the provided internal eSIM) you need to also add the following directive:

CONFIG_BOARD_SELECT_SIM_EXTERNAL=y

Additionally you need to add the following directives to set up the networking stack:

CONFIG_NETWORKING=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_BSD_LIBRARY=y
CONFIG_HEAP_MEM_POOL_SIZE=16384

Optional Configuration

The board connects automatically to the network on bootup without making any connection calls in your application. In order to override this behavior and initiate a connection yourself from the application using lte_lc_init_and_connect(), you need to add the following directive:

CONFIG_LTE_AUTO_INIT_AND_CONNECT=n

If you want to specify a specific APN to connect to, also add the following directives:

CONFIG_LTE_PDP_CMD=y
CONFIG_LTE_PDP_CONTEXT="0,\"IPv4v6\",\"<your_specific_apn>\""