Skip to main content

Introduction

Ship hardware products at the speed of software. With Memfault, you can continuously monitor devices, debug firmware issues, and deploy OTA updates to your fleet.

Overview

The Memfault Linux SDK consists of a combination of existing open-source software and a daemon memfaultd that orchestrates and configures it. It also implements additional features such as tracking of reboot reason tracking, and in the future reporting crashes and logs.

Overview of the Memfault Linux SDK
Dotted lines represent runtime configuration, and solid lines represent flow of data. Faded-out elements represent upcoming features.

To provide core Memfault platform features, the Memfault Linux SDK relies on well-established, battle-tested open-source software. The daemon memfaultd implements Memfault-specific features and also acts as a configuration agent.

Prerequisites

Even though support for a broader diversity of setups is planned, this first versions of our SDK makes the following assumptions:

  • Your project uses Yocto as a build system.
  • It uses systemd as an init system.
  • It uses SWUpdate for OTA (optional if you don't plan to integrate with OTA).

If your project diverges from these assumptions, please get in touch. It will likely still work without major changes.

Getting Started

Take a look at our getting-started guide to set up your integration.

OTA/Release Management is currently fully supported through an off-the-shelf integration with the SWUpdate agent. Read more about it in the OTA integration guide.

Documentation and Features

An integration example can be found under /meta-memfault-example. The central part of the SDK lives in a Yocto layer in /meta-memfault.

OTA Updates

To provide OTA Updates, the Memfault Cloud implements an API endpoint compatible with the hawkBit DDI API. Various clients are available, but memfaultd supports SWUpdate out of the box and is able to configure it to talk to our hawkBit DDI-compatible endpoint.

Metrics (available with next release)

The Memfault Linux SDK relies on collectd for the collection and transmission of metrics. Application metrics can be sent to collectd by means of statsd.

Reboot Reason Tracking, Crash Reports and Logs

These features are fully in the domain of memfaultd. Note that crash reports and logs are upcoming features, while reboot reason tracking is supported today.

Get started

Take a look at our getting-started guide to set up your integration.