nRF5 SDK for IoT

IoT SDK for applications using IPv6 over Bluetooth low energy


This SDK is a IPv6 capable Bluetooth® low energy software stack that provides drivers, libraries, examples, and APIs for nRF52 Series devices. It includes an IPv6 over Bluetooth low energy adaptation layer (6LoWPAN) and a complete Internet Protocol Suite including IPv6, ICMP, UDP, TCP, DTLS, TLS, CoAP and MQTT. It brings native IPv6 support to Bluetooth low energy applications, letting them talk directly to cloud services and other connected ‘things’ over IP-based networks.

The SDK includes examples that configure the nRF52 device as a Bluetooth low energy 6LoWPAN node and that interface with the IP layers at transport level (UDP amd TCP) and with security (DTLS and TLS), to the application level CoAP and MQTT and LWM2M. Examples of how to connect to cloud services is also included in the documentation. The SDK also includes an implementation to for over the air upgrade for Bluetooth low energy IPv6 nodes over IP using the trivial file transport protocol (TFTP).

As a router for development an off-the-shelf router running OpenWRT or a Raspberry Pi can be used. A solution for commissioning of Bluetooth low energy IPv6 nodes to a router with a mobile phone as a trusted third party is also included. Source code for the commissioning app and the needed OpenWRT daemon is also available. All this is described in the documentation.


The nRF5 SDK for IoT documentation are available at our infocenter.


The nRF5 SDK for IoT zip and pack version are available for download


Watch the demonstration video of the nRF51 IoT SDK.


6LoWPAN and IPSP library:

  • 6LoWPAN compression/decompression
  • 6LoWPAN node role
  • Packet flow control
  • IPv6 prefix management

IPv6 stack:

  • Support for multiple IPv6 addresses
  • ICMPv6 module
  • UDP socket APIs
  • DNS client
  • SNTP client
  • TFTP client

CoAP library:

  • CoAP message types CON, NON, ACK, and RESET
  • Token matching
  • Endpoint creation as resources
  • Support for observable resources and observing resources
  • Support for DTLS
  • Support for block transfer

MQTT library:

  • Publisher and Subscriber role
  • Support for QoS0, QoS1 and QoS2
  • Flow control messages to application
  • MQTT message encoder/decoder
  • Support for version 3.1.1 and 3.1.0
  • TLS support

LWM2M library:

  • Client initiated boostrap
  • Server registration/deregistration/update
  • "LWM2M" and "IPSO Smart Objects" objects
  • LWM2M TLV encoder/decoder
  • DTLS support

BSD Socket Interface:

  • Client UDP and TCP
  • Supports Blocking and Non-Blocking I/O
  • Compatible with POSIX Socket Interface


  • nRF5 SDK for IoT

Supported products/complementary

Product Brief Description
nRF52832 Multiprotocol Bluetooth low energy/ANT/2.4GHz SoC
nRF52 DK Development kit for nRF52832 SoC
nRF BLE joiner An app designed to commission Bluetooth low energy IPv6 IoT nodes to a network


Ordering codes