Developer
Ask a QuestionBlecon WebsiteBlecon Console
  • Learn Blecon
    • Introduction
    • Blecon Modems
      • Device Identity and Network Security
      • Modem Firmware vs Modem Library
      • Using the Modem
      • Communicating with the cloud
      • Sending data from the cloud to a device
      • Network Time
    • Blecon Hotspots
    • Blecon Networks
      • Blecon Accounts
      • Registering devices
        • The Blecon Scanner
        • Blecon Scanner Developer Guide
      • Blecon Events
      • Cloud Integrations
  • Cloud Integrations
    • Webhook
    • AWS S3
    • AWS SQS
    • AWS EventBridge
    • Memfault
  • Getting Started Guides
    • Getting started index
    • Install the Blecon Modem Firmware
    • Set up a Blecon Hotspot
    • Use Blecon from your computer with the Blecon CLI
    • Create a Network and register a device
    • Send device requests and events to your web service
    • Use Blecon from a Development Board
    • Use the Blecon Modem from an MCU
    • Perform an OTA Update With Memfault
  • Device Guides
    • KKM S5-BCN
  • Development Board Guides
    • Supported Development Boards
    • Ezurio DVK-BL54L15
    • Fanstel EV-BM15C
    • InsightSiP ISP2454-LX-EB
    • Nordic nRF52840DK
    • Nordic nRF54L15DK
    • Minew ME54BE01
    • Panasonic PAN-B511 EVB
    • Raytac AN54L15Q-DB
    • u-Blox EVK-NORA-B20
  • Modem Reference
    • Modem Firmware Releases
      • nRF54L15 DK
      • nRF52840 Dongle
      • nRF52840 DK
    • CLI Releases
    • SDK Releases
    • Modem API Reference
    • Modem Protocol Reference
      • Request Frames
      • Command Protocol
      • UART Transport
    • Guides and best practices
      • Retrieve a device's identity
  • Cloud Reference
    • Configuration API
    • Advanced event routing
  • Hotspot Reference
    • Blecon Hub
Powered by GitBook

Get Support

  • Ask a question
On this page
  • Pre-requisites
  • Flash your Development Board With Initial Firmware
  • Add your Board's Device ID to a Network
  • Add Memfault Integration to a Network
  • Create and Activate an OTA Release
  • Triggering an OTA Update and Verifying the new Version
  1. Getting Started Guides

Perform an OTA Update With Memfault

Perform an OTA firmware upgrade using Memfault

PreviousUse the Blecon Modem from an MCUNextKKM S5-BCN

Last updated 11 days ago

This guide will walk you through flashing devices with initial firmware, setting up the Memfault integration with Blecon, and configuring Memfault to distribute a target firmware for the device to OTA update to.

Pre-requisites

Before starting please make sure you have the following:

  • A working Blecon account with access to the .

  • for your development board. You will use the memfault-1 and memfault-2 example applications from the package. Alternatively, you can build from source using the .

  • , for flashing the pre-built firmware.

  • A working Memfault account. If you do not have one, you can register for a .

Flash your Development Board With Initial Firmware

Follow the Flashing Pre-built Firmware in the guide for your development board to flash the Memfault Example in the pre-built firmware package. The firmware file to flash ends in memfault-1.hex. For instance, on the nRF54L15DK board, use nrf54l15dk-zephyr-x.y.z-memfault-1.hex

It is important you use the file ending in memfault-1.hex and not the ones ending inmemfault-1-app.hex or memfault-1-mcuboot.hex. The memfault-1.hex combines the contents of the memfault-1-app and memfault-1-mcuboot into a single file suitable for flashing onto a new device.

Add your Board's Device ID to a Network

You will need the Device ID of your development board to register it into your Blecon Network and also to track its OTA update status in Memfault.

To obtain the Device ID for the Development Board, follow the Connecting to UART section of your Development board. In your terminal program you should see uart:~$ after you press the Enter/Return key.

Once you are connected to the UART, reset the device and wait for the device URL to be printed out in the boot messages.

Hardware version: nrf54l15dk
Software version: 2.1.0+zephyr-memfault-1
Device URL: https://blecon.dev/509a6245-8d3e-4f28-aa6a-b9910814ea9a

You can follow the Device URL to register your device. Alternatively, you can copy and paste the Device ID, which the string of characters following "https://blecon.dev/" into the Register Device section of your Blecon Network.

Add Memfault Integration to a Network

Select the Memfault project that will manage the OTA process. If you do not have a suitable project or if you just signed up to Memfault, create a new project using the MCU > nRF52/53/54 on NCS preset.

Once you have an active project, go to Project Settings in the left sidebar. Copy your project key from the Project Details section.

Go to the Blecon Network that your device is on and click on the Integrations tab. Add the Memfault Integration to your Network. In the configuration pop-up for the integration, paste the project key you copied in the previous step.

Create and Activate an OTA Release

In your Memfault Project, go to the OTA Releases section in the left sidebar. Once in the OTA Releases section, click the Create Release at the top right of the page.

In the configuration pop-up, enter the <version>+zephyr-memfault-2 in the Version textbox, where <version> is the version of your prebuilt firmware.

Take care that the version you input matches that of the actual firmware you are using. Memfault compares the version string input above with the version defined in the firmware to determine if an OTA update should be applied. If the versions are set incorrectly the OTA may not occur or your device may repeatedly update.

Once you have created a release, click the Upload OTA Payload to Release button to upload the target firmware to which your device should update. In the Add OTA Payload popup:

  • enter your board type for the Hardware Version

  • enter main for Software Type

  • upload the file ending in memfault-2-app.signed.bin (this is the signed application-only firmware in binary format)

  • Click the Add button

Click the Activate button in the OTA Releases page to activate this release. Select the default cohort, which your board is a part of, and double check that the release version and hardware versions are correct. If everything looks good, click the Activate button.

Triggering an OTA Update and Verifying the new Version

Switch to the Devices page using the left sidebar in Memfault. You should see the Device ID of your development board listed.

Before the OTA Update has been applied, Current Software Version will be <version>+memfault-1 .

You must manually trigger a check for new firmware on you development board by connecting over UART and entering:

uart:~$ blecon memfault_sync

In a production device, you will likely configure your software to perform a check for new versions on device startup and periodically during device operation.

After the OTA Update has been applied, the Current Software Version will become <version>+memfault-2 .

Blecon Console
Pre-built firmware
Blecon Device SDK
Nordic nRF Connect for Desktop
free account for use with Nordic parts
Ensure that the Hardware Version correctly matches the development board you are using