{"id":36624093,"url":"https://github.com/memfault/nrf7002-memfault-example","last_synced_at":"2026-01-12T09:29:55.631Z","repository":{"id":215536687,"uuid":"739185433","full_name":"memfault/nrf7002-memfault-example","owner":"memfault","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-16T20:57:42.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-16T21:54:32.380Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"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}},"created_at":"2024-01-05T01:06:03.000Z","updated_at":"2024-05-16T20:57:45.000Z","dependencies_parsed_at":"2024-05-16T22:01:59.375Z","dependency_job_id":null,"html_url":"https://github.com/memfault/nrf7002-memfault-example","commit_stats":null,"previous_names":["memfault/nrf7002-memfault-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/memfault/nrf7002-memfault-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fnrf7002-memfault-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fnrf7002-memfault-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fnrf7002-memfault-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fnrf7002-memfault-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/memfault","download_url":"https://codeload.github.com/memfault/nrf7002-memfault-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memfault%2Fnrf7002-memfault-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:55.030Z","updated_at":"2026-01-12T09:29:55.622Z","avatar_url":"https://github.com/memfault.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/memfault/nrf7002-memfault-example/build.yml?style=for-the-badge\u0026logo=githubactions)](https://github.com/memfault/nrf7002-memfault-example/actions/workflows/build.yml)\n\n# nRF7002 Memfault Example Project\n\nThis is an example nRF-Connect SDK project, based on this example:\n\nhttps://github.com/nrfconnect/sdk-nrf/tree/v2.5.0/samples/debug/memfault\n\nIt adds support for performing Memfault OTA on the nrf7002-dk development board,\nby adding the necessary configurations for placing the mcuboot secondary\npartition in the external SPI NOR flash.\n\nThe internal 1MB flash on the nrf53 on the dk is insufficient to perform OTA; a\nbase HTTP client image for the nrf7002 is approximately 600-700kB, which\nprevents placing both the primary and secondary partitions in the internal\nflash.\n\n## Building\n\nTo build the project:\n\n```bash\n# create a workspace directory\n❯ mkdir nrf7002-memfault-example\n❯ cd nrf7002-memfault-example\n❯ git clone https://github.com/memfault/nrf7002-memfault-example.git\n❯ west init -l nrf7002-memfault-example\n❯ west update\n# to build the project, you need to provide a Memfault Project Key\n❯ west build \\\n    --board nrf7002dk_nrf5340_cpuapp \\\n    --pristine=always nrf7002-memfault-example \\\n    -- \\\n    -DCONFIG_MEMFAULT_NCS_PROJECT_KEY=\\\"${MEMFAULT_PROJECT_KEY}\\\"\n# to flash\n❯ west flash\n# open a serial port and interact with the device to test\n```\n\n## Testing OTA\n\n1. Build and flash the project with a specific version, for example `1.0.0`:\n\n   ```bash\n   ❯ west build --board nrf7002dk_nrf5340_cpuapp --pristine=always \\\n     nrf7002-memfault-example \\\n     -- \\\n     -DCONFIG_MEMFAULT_NCS_PROJECT_KEY=\\\"${MEMFAULT_PROJECT_KEY}\\\" \\\n     -DCONFIG_MEMFAULT_NCS_FW_VERSION_STATIC=y \\\n     -DCONFIG_MEMFAULT_NCS_FW_VERSION=\\\"1.0.0\\\"\n   ```\n\n2. Rebuild with a different version, for example `1.1.0`:\n\n   ```bash\n   ❯ west build --board nrf7002dk_nrf5340_cpuapp --pristine=always \\\n     nrf7002-memfault-example \\\n     -- \\\n     -DCONFIG_MEMFAULT_NCS_PROJECT_KEY=\\\"${MEMFAULT_PROJECT_KEY}\\\" \\\n     -DCONFIG_MEMFAULT_NCS_FW_VERSION_STATIC=y \\\n     -DCONFIG_MEMFAULT_NCS_FW_VERSION=\\\"1.1.0\\\"\n   ```\n\n3. Create a release in the Memfault UI matching the new version, here `1.1.0`,\nand upload the `build/zephyr/app_update.bin` artifact.\n\n4. Deploy the release to the device's cohort in the Memfault UI.\n\n5. From the device, run the `mflt_nrf get_latest_url` to confirm the new update\n   is ready.\n\n6. Run `mflt_nrf fota` to perform the update.\n\n7. After the update is dowloaded and installed, the device should restart.\n   Running `mflt get_device_info` should show the new version.\n\nMore details on using Memfault OTA can be found here:\n\nhttps://docs.memfault.com/docs/platform/ota\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemfault%2Fnrf7002-memfault-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmemfault%2Fnrf7002-memfault-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemfault%2Fnrf7002-memfault-example/lists"}