January 2025
Issue Charts Drilldown and Improved Tooltips
The recently added Trace and Issue summary charts now also support drilldown and we have added more details to the tooltips available on hover when viewing these charts in your dashboards.

This combination of improvements should make it easier to analyze Issue data at a glance and investigate when you spot something unexpected. You can read more about the new issue summary charts in our docs.
General
- Improved the Device Alert Incidents chart to now also include counts for Offline Incidents.
- Added support for LaTeX mathematical expressions in Markdown cards and fields, enhancing the ability to include complex mathematical notation in dashboard descriptions.
- Improved UX on Issue Charts and Search with new drilldown capabilities, improved tooltips, streamlined filter options, and default settings.
MCU
SDK version 1.19.0 was released. Some highlights:
Added
- Option to set the Self Test component output log
level,
MEMFAULT_SELF_TEST_OUTPUT_LOG
, to control the verbosity of the Self Test output. Set it by selecting the Memfault Log macro to use, for example#define MEMFAULT_SELF_TEST_OUTPUT_LOG MEMFAULT_LOG_DEBUG
. The default level is the same as before,MEMFAULT_LOG_INFO
. - Implementation of
memfault_reboot_reason_get()
for the STM32U5xx series of MCUs, using theRCC-CSR
register to determine the reset reason. Add the file to your Project to make use of it! - Implementation for flash-backed coredump storage for the STM32U5xx series of MCUs, using the internal flash memory to store coredumps. Add the file to your Project to make use of it!
- Enabled the MPU (Memory Protection Unit) in the FreeRTOS QEMU example, to
demonstrate
Memfault's MPU region analysis feature.
This feature is enabled in a Memfault Project by
setting
#define MEMFAULT_COLLECT_MPU_STATE 1
inmemfault_platform_config.h
. The MPU registers are captured as part of a coredump, and Memfault will analyze the configuration and include the result in the Trace viewer. - New reboot reason code,
kMfltRebootReason_TaskWatchdog
, for marking crashes due to a Task Watchdog. Memfault has a built-in Task Watchdog system, and Zephyr and ESP-IDF both implement Task Watchdog systems. - FreeRTOS:
- Support for tracking per-thread stack usage in the Memfault FreeRTOS port.
This feature is enabled by default and can be disabled by
setting
#define MEMFAULT_FREERTOS_COLLECT_THREAD_METRICS 0
inmemfault_platform_config.h
. The default threads monitored areIDLE
andTmr Svc
. Threads are registered for tracking by definingMEMFAULT_METRICS_DEFINE_THREAD_METRICS()
in the application. - Add tracking of libc heap usage via the
memory_pct_max
metric to the FreeRTOS QEMU example
- Support for tracking per-thread stack usage in the Memfault FreeRTOS port.
This feature is enabled by default and can be disabled by
setting
- Zephyr:
- Add support for tracking per-thread stack usage in the Memfault Zephyr port.
This feature is enabled by default and can be disabled by
setting
CONFIG_MEMFAULT_METRICS_THREADS=n
. The default threads monitored aremain
andsysworkq
. Threads are registered for tracking by definingMEMFAULT_METRICS_DEFINE_THREAD_METRICS()
in the application. - Update to support removal of the global
CSTD
compiler property (deprecated in Zephyr v3.7.0, and just removed in Zephyrmain
), whenCONFIG_MEMFAULT_COMPACT_LOG
is enabled. Thanks to @fouge for providing this fix in #78 ! - Built-in metric,
cpu_usage_pct
, which reports the percentage of the CPU used. This metric is enabled by default as part of the default set of Metrics, controlled withCONFIG_MEMFAULT_METRICS_DEFAULT_SET_ENABLE
. - For ARM targets implementing and enabling the MPU, automatically capture the
and analyze the MPU configuration as
part of a coredump. This can be controlled with
the
CONFIG_MEMFAULT_COREDUMP_COLLECT_MPU_STATE
Kconfig option. - New Kconfig option,
CONFIG_MEMFAULT_METRICS_HEARTBEAT_INTERVAL_SECS
, which should be used instead of#define MEMFAULT_METRICS_HEARTBEAT_INTERVAL_SECS xxx
inmemfault_platform_config.h
. A build error will occur if the value is set inmemfault_platform_config.h
to enforce migrating the setting. Thanks to @JordanYates for reporting this feature request in #80
- Add support for tracking per-thread stack usage in the Memfault Zephyr port.
This feature is enabled by default and can be disabled by
setting
- ESP-IDF:
- Support for correctly marking crashes triggered due to a Task Watchdog. A
test command,
esp_task_watchdog <cpuid>
, has been added to the esp32 sample app to trigger a Task Watchdog fault on the specified core. Be sure to enable the Kconfig optionCONFIG_ESP_TASK_WDT_PANIC=y
to have the system panic when a Task Watchdog fault occurs. Memfault will capture and tag the fault appropriately, as for other fault types. - Kconfig option,
CONFIG_MEMFAULT_METRICS_HEARTBEAT_INTERVAL_SECS
, which should be used instead of#define MEMFAULT_METRICS_HEARTBEAT_INTERVAL_SECS xxx
inmemfault_platform_config.h
. A build error will occur if the value is set inmemfault_platform_config.h
to enforce migrating the setting.
- Support for correctly marking crashes triggered due to a Task Watchdog. A
test command,
- nRF-Connect SDK:
- Implementation for reboot reason tracking on the nRF54Lx series of MCUs,
using the
RESETREAS
register to determine the reset reason. This will be automatically enabled when building for an nRF54Lx series Device (CONFIG_SOC_SERIES_NRF54LX=y
). - Add example usage of per-thread stack usage support to the nRF9160 example for the idle, sysworkq, mflt http, WDT, and shell uart tasks.
- Implementation for reboot reason tracking on the nRF54Lx series of MCUs,
using the
Changed
- The
eclipse_patch.py
utility-memfault-sdk-dir
argument is now optional, and defaults to the parent directory of the script folder. - Renamed the FreeRTOS QEMU sample app heap metrics
from
Example_HeapFreeBytes
andExample_HeapMinFreeBytes
toFreeRTOS_HeapFreeBytes
and `FreeRT
Fixed
- On Zephyr, fixed the
MEMFAULT_METRICS_CPU_TEMP
Kconfig dependencies, to correctly check for presence of the DTdie-temp0
alias, and remove the dependency onADC
, which doesn't apply to all boards implementing a temp sensor. Thanks to @JordanYates for reporting this issue in #79 !
Android
We did not publish a new version of the Memfault Android SDK in January 2025.
Linux
SDK versions 1.16.1 and 1.17.0 were released.
Added
- Added coredump capture support for 32-bit ARM targets using musl libc.
- New
memfaultctl write-metrics
command (see documentation).
Changed
- The log message emitted when the MAR cleaner encounters an invalid MAR entry
in the MAR staging area has been lowered from
WARN
level toDEBUG
level.
Fixed
- Fixed a sequencing issue with the cleaning of the MAR directory that could result in stranded logs files that would not get deleted nor uploaded.
CLI
We did not publish a new version of the memfault-cli in January 2025.