Memfault
For more information about our Memfault integration, please contact us!
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 head over to their docs 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 "hosted integrations" tab, you can find the Memfault integration and enable it.
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.
All devices within your network can now send data to your Memfault project. Their identity is authenticated by Blecon, and they will appear in Memfault with their Blecon ID.
Device-side integration
In order to try out the Memfault integration, we provide pre-built firmware for the nRF52840 DK. 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.
You can issue the two following commands to control the example:
blecon memfault_ota
to check for an OTA update, and apply it if availableblecon 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!
Last updated