Skip to content

The 1NCE Zephyr Blueprint is a reference application that showcases how to integrate and use various 1NCE OS features with Zephyr RTOS

Notifications You must be signed in to change notification settings

1NCE-GmbH/blueprint-zephyr

Repository files navigation

1NCE Zephyr blueprint

🧭 Overview

The 1NCE Zephyr Blueprint is a reference application that showcases how to integrate and use various 1NCE OS features with Zephyr RTOS, including:

  • Device Authenticator
  • 📡 IoT Integrator
  • 🔋 Energy Saver
  • 📥 Device Controller for UDP and CoAP-based downlink and real-time remote interaction
  • 🧩 Plugin Integrations with partners like Mender for FOTA and Memfault for device observability

It is based on the 1NCE IoT C SDK and runs on Nordic Semiconductor boards.

The Zephyr OS is a scalable, secure, real-time operating system designed for resource-constrained embedded devices — from smart sensors to full-featured gateways.


🧱 Supported Boards

The demo supports the following Nordic boards:


🚀 Getting Started

This guide walks you through:

  • Setting up the 1NCE IoT C SDK
  • Getting the source code
  • Building and flashing the blueprint demo

📦 Prerequisites


🧩 Integrating 1NCE IoT C SDK

The 1NCE IoT C SDK provides C-based modules to easily use 1NCE OS services.

Follow these steps:

  1. Open west.yml:

    %HOMEPATH%\ncs\v2.8.0\nrf\west.yml
  2. Add the module to name-allowlist:
    Ensure nce-sdk is listed in alphabetical order.

  3. Activate the SDK via submanifest:

    Rename and edit the file:

    %HOMEPATH%\ncs\v2.8.0\zephyr\submanifests\example.yaml
    manifest:
      projects:
        - name: nce-sdk
          url: https://github.com/1NCE-GmbH/1nce-iot-c-sdk
          revision: main
  4. Run West update:

    Open cmd.exe and run:

    cd %HOMEPATH%\ncs\v2.8.0
    west update

▶️ Running the Demo

  1. Clone the Blueprint Repository:

    git clone https://github.com/1NCE-GmbH/blueprint-zephyr.git
  2. Open VS Code and Launch nRF Connect Extension

  3. Add the project:

    • Click Add Existing Application
    • Choose the folder where the blueprint was cloned
  4. Create a Build Configuration:

    • Select your board target, e.g.:
      • nrf9160dk/nrf9160/ns
      • nrf9151dk/nrf9151/ns
      • thingy91/nrf9160/ns
  5. Flash the board:

    • Connect your board via USB
    • Click Flash or Debug to deploy the firmware

📖 Need help with board connection?
👉 Nordic Docs: Connect Using Serial Port


🧪 Testing Instructions for Thingy:91

To easily test the default setup on the Thingy:91, follow these steps using the provided binaries for the specific demo you'd like to run:

  1. Remove the plastic cover from the Thingy:91.
  2. Connect the device to your computer using a micro-USB cable.
  3. Enter DFU mode:
    • Power off the Thingy:91.
    • Hold down the black button while switching the power back to ON.
  4. Open nRF Connect for Desktop and launch the Programmer tool.
  5. Click SELECT DEVICE and choose Thingy:91 from the dropdown list.
  6. In the left panel, go to File > Add file > Browse and choose the appropriate .hex file from the thingy_binaries folder of your desired demo.
  7. Scroll down to Enable MCUboot and ensure it is checked.
  8. Click Write on the left panel, then confirm again in the MCUboot DFU pop-up by pressing Write.
  9. Wait for the update to finish. A message saying "Completed successfully" will confirm a successful flash.

📂 Available Firmware for Thingy:91

💡 Note: For Memfault diagnostics and debugging, you should upload zephyr.elf file to the Memfault portal.
Refer to the Memfault documentation for instructions on setting up symbol files and debugging integration. For a faster getting started experience, you can directly use the documentation under plugin_system/nce_debug_memfault_demo.

📘 For more detailed device guidance, check the official Thingy:91 Getting Started Guide


📚 Demos in This Blueprint

The blueprint includes the following applications:

Demo Path Summary
nce_coap_demo Secure CoAP communication using DTLS from Device Authenticator, with Energy Saver & Device Controller support
nce_udp_demo Lightweight UDP communication with compressed payloads and Device Controller
nce_lwm2m_demo LwM2M client for LED, buzzer, and sensor control over CoAP/DTLS with support for 1NCE Action API
plugin_system/nce_debug_memfault_demo Device diagnostics and crash reporting using Memfault over the 1NCE CoAP Proxy
plugin_system/nce_fota_mender_demo Firmware-over-the-air updates via Mender.io using the 1NCE CoAP Proxy and secure onboarding

🆘 Need Help?

Open an issue on GitHub for:

  • ❗ Bug reports
  • 🚀 Feature requests
  • 📝 Documentation issues
  • ❓ General questions

👉 Create a new issue


Made with 💙 by the 1NCE Team.

About

The 1NCE Zephyr Blueprint is a reference application that showcases how to integrate and use various 1NCE OS features with Zephyr RTOS

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •