Add the Memfault Zephyr module to your west manifest and run west update; enable it in your project by adding CONFIG_MEMFAULT=y and CONFIG_MEMFAULT_NCS_PROJECT_KEY=YOUR_PROJECT_KEY (or CONFIG_MEMFAULT_PROJECT_KEY for non-NCS projects) in prj.conf
Configure the device serial, hardware version, and software version via Kconfig (CONFIG_MEMFAULT_DEVICE_INFO_*) so that each device appears with the correct identity in the Memfault dashboard
Implement the memfault_platform_coredump_storage_regions function (or use the built-in flash storage backend) to point the coredump writer at an unused flash region
Add a transport mechanism: on cellular or Wi-Fi devices, call memfault_packetizer_get_chunk() in a background task to retrieve chunks and POST them to https://chunks.memfault.com/api/v0/chunks/<device_serial> with the Memfault-Project-Key header
Trigger a test fault (e.g., a Zephyr kernel oops) and reboot; on the next connection the coredump chunks should upload and a new issue should appear in the Memfault console
Set up alert rules in Memfault to notify on new crash signatures and track crash-free session metrics in the fleet dashboard
Known gotchas
The coredump storage region must not overlap with any other flash partition (bootloader, application slots, NVS); use the partition map to verify addresses before enabling coredump storage
Chunk uploads must be sent in order per device; buffering chunks and sending them out of sequence causes the Memfault backend to reject them
The Memfault project key (not to be confused with an API key) is embedded in device firmware and used only for chunk ingestion; it is not a secret but should match the target project in the Memfault console
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp