{"id":36624028,"url":"https://github.com/memfault/memfault-golioth-example","last_synced_at":"2026-01-12T09:29:50.092Z","repository":{"id":245476538,"uuid":"816394624","full_name":"memfault/memfault-golioth-example","owner":"memfault","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-07T19:56:49.000Z","size":42,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-07-07T23:17:27.727Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/memfault.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-17T16:55:05.000Z","updated_at":"2024-07-11T15:59:48.000Z","dependencies_parsed_at":"2024-06-27T17:51:34.730Z","dependency_job_id":"2b721244-2f64-4b2f-9c93-d3b21f0b9f16","html_url":"https://github.com/memfault/memfault-golioth-example","commit_stats":null,"previous_names":["memfault/memfault-golioth-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/memfault/memfault-golioth-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fmemfault-golioth-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fmemfault-golioth-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fmemfault-golioth-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fmemfault-golioth-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/memfault","download_url":"https://codeload.github.com/memfault/memfault-golioth-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fmemfault-golioth-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28337723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T06:09:07.588Z","status":"ssl_error","status_checked_at":"2026-01-12T06:05:18.301Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T09:29:50.014Z","updated_at":"2026-01-12T09:29:50.080Z","avatar_url":"https://github.com/memfault.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Golioth + Memfault Example\n\n## Overview\n\nThis application demonstrates how to use the [Golioth Firmware\nSDK](https://github.com/golioth/golioth-firmware-sdk) and [Golioth\nPipelines](https://docs.golioth.io/data-routing) to send observability data from\nthe [Memfault SDK](https://github.com/memfault/memfault-firmware-sdk) to\nMemfault's cloud.\n\n## Pipelines Setup\n\nThis documentation assumes you already have accounts with both\n[Golioth](https://console.golioth.io/) and\n[Memfault](https://app.memfault.com/). The [`pipelne.yml`](pipipeline.yml) file\nin this repository contains the source for a pipeline that routes data on the\n`/mflt` path to Memfault. Click the link below to configure it into your Golioth\nproject.\n\n\u003ca href='https://console.golioth.io/pipeline?name=Memfault\u0026pipeline=ZmlsdGVyOgogIHBhdGg6ICIvbWZsdCIKICBjb250ZW50X3R5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpzdGVwczoKICAtIG5hbWU6IHN0ZXAwCiAgICBkZXN0aW5hdGlvbjoKICAgICAgdHlwZTogbWVtZmF1bHQKICAgICAgdmVyc2lvbjogdjEKICAgICAgcGFyYW1ldGVyczoKICAgICAgICBwcm9qZWN0X2tleTogJE1FTUZBVUxUX1BST0pFQ1RfS0VZ'\u003eCreate Pipeline\u003c/a\u003e\n\n\u003e [!NOTE]\n\u003e\n\u003e Make sure to also create a\n\u003e [secret](https://docs.golioth.io/data-routing/secrets/) named\n\u003e `MEMFAULT_PROJECT_KEY` with your Memfault [project\n\u003e key](https://docs.memfault.com/docs/platform/data-routes/) to ensure that\n\u003e your pipeline is able to authenticate.\n\n## Application Setup\n\nThis is a Zephyr application managed and built using `west`. To setup your\nenvironment for building Zephyr apps, follow the [Getting Started guide](https://docs.zephyrproject.org/latest/getting_started/index.html).\n\nThen you can setup your workspace to build this application by running one of\nthe following:\n\nFor vanilla Zephyr:\n\n```bash\nwest init -m https://github.com/golioth/golioth-memfault-zephyr-example.git\n```\n\nFor nRF Connect SDK (NCS):\n\n```bash\nwest init -m https://github.com/golioth/golioth-memfault-zephyr-example.git --mf west-ncs.yml\n```\n\nTo build the application (see below for a list of supported boards):\n\n```bash\nwest build -p -b \u003cboard_name\u003e app\n```\n\n### Supported Boards\n\n| Board Name      | OS              |\n| --------------- | --------------- |\n| esp32s3_devkitm | Zephyr          |\n| MIMXRT1024-EVK  | Zephyr          |\n| nRF7002DK       | nRF-Connect SDK |\n| nRF9160DK       | nRF-Connect SDK |\n\n## Running the Application\n\nFirst flash the application to the board:\n\n```bash\nwest flash\n```\n\nNext, set Golioth credentials through the serial terminal:\n\n```bash\nsettings set golioth/psk-id \u003cyour_psk_id\u003e\nsettings set golioth/psk \u003cyour_psk\u003e\n```\n\nIf your device is WiFi connected, use the serial terminal to connect to a\nnetwork:\n\n```bash\nwifi connect \u003cssid\u003e \u003cpsk\u003e\n```\n\nThe application is configured to capture Memfault heartbeat metrics once per\nhour. Also once per hour, the application will upload that data to Golioth,\nwhere it will be routed to Memfault.\n\n### Memfault CLI\n\nTo test the application, you can use the `mflt` menu in the serial console. E.g.:\n\nTo trigger a coredump via a hardfault:\n\n```bash\nmflt test hardfault\n```\n\nTo force an immediate heartbeat recording:\n\n```bash\nmflt test heartbeat\n```\n\n### Golioth RPCs\n\nThe application registers several RPCs with Golioth that can be used for\ntesting and debugging.\n\n- `coredump` - This will remotely trigger an assert on the device to force\n  collection of a coredump.\n- `memfault_upload` - This will remotely trigger an immediate upload of\nMemfault data.\n\n## Contributing\n\nPull requests and issues can be submitted at\nhttps://github.com/golioth/golioth-memfault-zephyr-example. Code changes will\nbe mirrored to https://github.com/memfault/memfault-golioth-example.\n\n### Developer Certificate of Origin Process\n\nThis project will only accept contributions using the Developer’s Certificate of Origin 1.1 located\nat https://developercertificate.org (“DCO”). The DCO is a legally binding statement asserting that\nyou are the creator of your contribution, or that you otherwise have the authority to distribute\nthe contribution, and that you are intentionally making the contribution available under the\nlicense associated with the Project (\"License\").\n\nYou can agree to the DCO in your contribution by using a “Signed-off-by” line at the end of your\ncommit message. You should only submit a contribution if you are willing to agree to the DCO terms.\nIf you are willing, just add a line to the end of every git commit message:\n\n```\nSigned-off-by: Jane Smith \u003cjane.smith@email.com\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemfault%2Fmemfault-golioth-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmemfault%2Fmemfault-golioth-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemfault%2Fmemfault-golioth-example/lists"}