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
    • 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
  • 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
  • Cloud-side integration
  • Device-side integration
  • Example
  • Overview
  1. Cloud Integrations

Memfault

PreviousAWS EventBridgeNextGetting started index

Last updated 5 months ago

For more information about our Memfault integration, please !

Memfault enables observability on embedded devices: Memfault collects crash reports, logs, and metrics and orchestrates OTA updates. Our cloud and device-side integration let you use Memfault over your Blecon network.

If you're new to Memfault, it's a good idea to to understand how it works, and how the SDK operates with your device code.

Cloud-side integration

Memfault can be enabled within a network. In the "Integrations" tab, you can find the Memfault integration and enable it.

All devices within your network can now send data to your Memfault project. Blecon authenticates their identity, and they will appear in Memfault with their Blecon ID.

Device-side integration

We provide pre-built firmware for the nRF52840 DK so you can try out the Memfault integration. See below for details.

The SDK provides three modules to enable Memfault on your device. All are platform agnostic, and in addition we provide a platform-specific implementation for the nRF Connect SDK:

Module
Description

blecon_memfault.h

Provides a transport for Memfault chunks over Blecon

blecon_memfault_ota.h

Interrogates Memfault for availability of OTA updates

blecon_download_client.h

Downloads OTA updates over Blecon

Please check the Modem API Referencefor configuration and API details.

Example

The Device SDK includes a Zephyr example under the zephyr/examples/memfault directory. It demonstrates collecting metrics and crash reports and sending them over to Memfault over Blecon. It also showcases how Memfault OTA updates can be downloaded over Blecon and applied using MCUBoot. The example has been tested on the nRF52840 DK board.

Once compiled (or the prebuilt example downloaded), the example can be flashed onto the development kit (using west or the nRF Connect Programmer). A serial terminal can be used to control it (baudrate 115200bps).

On macOS and Linux, screen /dev/tty.usbmodemXXX 115200 can be used.

*** Booting nRF Connect SDK v2.7.0-5cb85570ca43 ***
*** Using Zephyr OS v3.6.99-100befc70c74 ***
[00:00:00.004,333] <inf> mflt: Reset Reason, RESETREAS=0x4
[00:00:00.004,364] <inf> mflt: Reset Causes: 
[00:00:00.004,394] <inf> mflt:  Software
[00:00:00.005,218] <inf> mflt: GNU Build ID: 3e3cc7079b69920b9833f81375dc4780f23439fd
[00:00:00.006,591] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: 
                                            d6 da c7 ae 08 db 72 6f  2a a3 26 49 2a 4d a8 b3 |......ro *.&I*M..
                                            98 0e 07 7f                                      |....             
[00:00:00.016,876] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.016,937] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
[00:00:00.016,967] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 214.51162 Build 1926957230
[00:00:00.018,371] <inf> bt_hci_core: Identity: C5:FD:8F:E6:6C:5D (random)
[00:00:00.018,402] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x11fb, manufacturer 0x0059
[00:00:00.018,463] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0x11fb
Hardware version: nrf52840dk
Software version: 1.0.1
Device URL: https://blecon.dev/35c37453-dc9e-4151-a5f7-484c5f3363f7
[00:00:00.567,443] <wrn> bt_l2cap: Ignoring data for unknown channel ID 0x003a
Connected
Time update
Disconnected
uart:~$

You can issue the two following commands to control the example:

  • blecon memfault_ota to check for an OTA update, and apply it if available

  • blecon crash to trigger a crash that can will be reported to Memfault on the next reboot

Symbol files need to be uploaded to Memfault to enable it to process crash reports, and OTA releases can be managed in the same interface too.

You can now enjoy the observability benefits that Memfault can offer, with Blecon!

Overview

Once installed, you'll need to configure the integration by providing it with a Memfault Project Key. Project keys can be managed within the "Project Settings" menu in the Memfault app. The is memfault by default.

contact us
head over to their docs
Namespace
Installing the Memfault integration
Providing a project key
Memfault interface
A Blecon device in Memfault
Memfault over Blecon Integration Demo