nRF Connect SDK v1.0.0 Release Notes
nRF Connect SDK delivers reference software and supporting libraries for developing low-power wireless applications with Nordic Semiconductor products. It includes the MCUboot and the Zephyr RTOS open source projects which are continuously integrated and re-distributed with the SDK.
nRF Connect SDK v1.0.0 supports product development with the nRF9160 Cellular IoT device. It contains reference applications, sample source code, and libraries for Bluetooth Low Energy devices in the nRF52 Series, though product development on these devices is not currently supported with the nRF Connect SDK.
nRF Connect SDK v1.0.0 is aligned with the production release of nRF9160.
Added a new AWS FOTA sample demonstrating application firmware update through the use of AWS IoT Jobs with MQTT and HTTP.
Added secure services in Secure Partition Manager (SPM) for TrustZone devices (nRF9160).
Updated the Download Client library with support for HTTPS and IPv6.
Included a new version of the nRF BLE Controller.
The release tag for the nRF Connect SDK manifest repository (https://github.com/nrfconnect/sdk-nrf) is v1.0.0.
west.yml file for the corresponding tags in the project repositories.
To use this release, check out the tag in the manifest repository and run
See Getting the nRF Connect SDK code for more information.
Starting from nRF Connect SDK v1.0.0, use nRF Connect for Desktop for modem firmware updates.
PCA10090 (nRF9160 DK)
PCA10056 (nRF52840 Development Kit)
PCA10059 (nRF52840 Dongle)
PCA10040 (nRF52 Development Kit)
PCA10028 (nRF51 Development Kit)
PCA63519 (Smart Remote 3 DK add-on)
In addition to the tools mentioned in Installing manually, the following tool versions are required to work with the nRF Connect SDK:
nRF5x Command Line Tools
nRF Connect for Desktop
v3.0.0 or later
dtc (Linux only)
v1.4.6 or later
See Install the GNU Arm Embedded Toolchain
As IDE, we recommend to use SEGGER Embedded Studio (Nordic Edition), version 4.18 or later. It is available from the following platforms:
Mac OS x64
The following sections provide detailed lists of changes by component.
Added the following samples:
nRF9160: AWS FOTA - shows how to perform over-the-air firmware updates of an nRF9160 through the use of AWS IoT Jobs with MQTT and HTTP.
nRF9160: Secure Services - demonstrates using the reboot and random number services.
Added the following libraries:
FOTA download - handles Firmware Over The Air (FOTA) downloads.
at_cmdlibrary - facilitates handling of AT Commands by multiple modules.
AWS jobs - facilitates communication with the AWS IoT Jobs service.
Asset Tracker sample:
The orientation detector now supports interrupt handling.
nRF Connect SDK now uses upstream CoAP implementation. The nRF9160: Simple MQTT sample was rewritten to use the upstream library, and the downstream CoAP was removed.
Updated BSD library to version 0.3.3.
Introduced a new header
bsdlib.hto be used by the application to initialize and shut down the library.
Library initialization during system initialization (
SYS_INIT) is now optional, and controlled via
Kconfig. The default behavior is unchanged.
Secure Partition Manager (SPM) library
Added random number secure service, providing access to the RNG hardware from the non-secure firmware.
Non-Secure callable support for TrustZone:
A secure_services module is now available over secure entry functions. This means:
secure_services.cresides in secure firmware (SPM).
secure_services.hdeclares functions that can be called from non-secure firmware.
Secure Partition Manager (SPM) now exposes secure entry functions by default.
Added reboot as a secure service. The reboot secure service is called when the non-secure firmware calls
PWM0-3 added as non-secure.
Added the following library:
PPI trace - enables tracing of hardware peripheral events on pins.
Added support for nRF52811.
Added IPv6 support, with fallback to IPv4.
Added HTTPS support. The application must provision the TLS security credentials.
Several improvements to buffer handling and network code.
Library now runs in a separate thread.
Added nrf_cc3xx_mbedcrypto library library v0.8.1 (experimental release) to perform hardware-accelerated cryptography using Arm CryptoCell CC310 on devices with the CC310 peripheral.
Added support for the nRF BLE controller 0.2.0-4.prealpha. Includes drivers to access HCI, flash, clock control, and entropy hardware. For details, see Changelog.
Bluetooth Low Energy
Added the following samples:
Added the following libraries:
Added Manufacturer Data filter to the Scanning module.
Added application callbacks for the Output Report related operations in the HID service.
Partition Manager now handles all HEX file merging.
Static configuration of upgradable images is now supported.
The nrf_desktop reference implementation is moved from the
The nrf_desktop configuration channel now allows data to be exchanged between the device and host in both directions.
Added or updated documentation for the following samples:
Added or updated documentation for the following libraries:
Added or updated the following documentation:
API documentation of all libraries now also mentions the location of header files and source files.
The nRF9160: Asset Tracker sample does not wait for connection to nRF Connect for Cloud before trying to send data. This causes the sample to crash if the user toggles one of the switches before the board is connected to the cloud.
The nRF9160: Asset Tracker sample might show up to 2.5 mA current consumption in idle mode with
If a debugger (for example, J-Link) is connected via SWD to the nRF9160, the modem firmware will reset. Therefore, the LTE modem cannot be operational during debug sessions.
The SEGGER Control Block cannot be found by automatic search by the RTT Viewer/Logger. As a workaround, set the RTT Control Block address to 0 and it will try to search from address 0 and upwards. If this does not work, look in the
builddir/zephyr/zephyr.mapfile to find the address of the
_SEGGER_RTTsymbol in the map file and use that as input to the viewer/logger.
nRF91 fails to receive large packets (over 4000 bytes) over NB-IoT. LTE-M is not affected.
nrf_connect fails if called immediately after initialization of the device. A delay of 1000 ms is required for this to work as intended.
The Nordic Security Module glue layer is broken because symbol renaming is not handled correctly. Therefore, the behavior is undefined when selecting multiple back-ends for the same algorithm (for example, AES).
Bluetooth Low Energy
Bluetooth: Peripheral LBS does not report the Button 1 state correctly.
On some operating systems, the nrf_desktop application is unable to reconnect to a host.
central_uart: A too long 212-byte string cannot be handled when entered to the console to send to peripheral_uart.
central_hids: After flashing a HEX file to the nrf52_pca10040 board, UART connectivity is lost when using the BLE Controller. The board must be reset to get UART output.
On nRF51 devices, BLE samples that use GPIO might crash when buttons are pressed frequently. In such case, the GPIO ISR introduces latency that violates real-time requirements of the Radio ISR. nRF51 is more sensitive to this issue than nRF52 (faster core).
Building and programming the immutable bootloader (see Secure bootloader chain) is not supported in SEGGER Embedded Studio.
The immutable bootloader can only be used with the following boards:
Firmware upgrade using mcumgr or USB DFU is broken for non-secure applications, because the metadata used by MCUboot is stored in a secure section of flash and is not readable by the non-secure application. Therefore, it is not possible to upload the image. To work around this issue, modify mcumgr to hard code the addresses instead of reading them from the metadata.
In the BSD library, the GNSS sockets implementation is experimental.
Forcing a cold start and writing AGPS data is not yet supported.
nrfx_saadc driver: Samples might be swapped when buffer is set after starting the sample process, when more than one channel is sampled. This can happen when the sample task is connected using PPI and setting buffers and sampling are not synchronized.
The nrfx_uarte driver does not disable RX and TX in uninit, which can cause higher power consumption.
The nrfx_uart driver might incorrectly set the internal tx_buffer_length variable when compiled with high optimization level.
In addition to the known issues above, check the current issues in the official Zephyr repository, since these might apply to the nRF Connect SDK fork of the Zephyr repository as well. To get help and report issues that are not related to Zephyr but to the nRF Connect SDK, go to Nordic’s DevZone.