nRF9160: HTTP full modem update

The HTTP full modem update sample demonstrates how to perform a full firmware update of the modem (as opposed to a delta update). The sample downloads a modem firmware signed by Nordic and performs the firmware update of the modem.


An external flash memory with minimum 4MB of free space is required to perform a full modem update. Hence, only versions 0.14.0 and later of the nrf9160 DK support this sample as the prior versions do not have any external flash memory.

The sample connects to a remote HTTP server to download a signed version of the modem firmware, using the FOTA download library. It then writes the firmware to the external flash memory. After the modem firmware has been stored in the external flash memory, the sample will use the Full modem firmware update from flash device to pre-validate the update and program it to the modem.

Two different versions can be downloaded, depending on what version is currently installed. The version which is not currently installed is selected.


The sample supports the following development kit, version 0.14.0 or higher:

Hardware platforms


Board name

Build target

nRF9160 DK




The sample is configured to compile and run as a non-secure application on nRF91’s Cortex-M33. Therefore, it automatically includes the Secure Partition Manager that prepares the required peripherals to be available for the application.

You can also configure it to use TF-M instead of Secure Partition Manager.

Building and running

This sample can be found under samples/nrf9160/application_update/full_modem_update in the nRF Connect SDK folder structure.

See Building and programming a sample application for information about how to build and program the application.

The sample is built as a non-secure firmware image for the nrf9160dk_nrf9160ns build target. Because of this, it automatically includes the Secure Partition Manager.


After programming the sample to the development kit, test it by performing the following steps:

  1. Start the application and wait for a prompt for pressing a button.

  2. Press the button to start the update procedure.

  3. Once the download is completed, the modem update procedure will begin automatically.

  4. Reset the development kit.

  5. Observe that the LED pattern has changed.