ncs-webserver

Build static web servers with REST APIs and WebSocket streams on Nordic NCS devices.

1|Updated Jan 30, 2026
One-click install
npx skills add https://github.com/chshzh/charlie-skills --skill ncs-webserver
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ncs-webserver
Source: https://github.com/chshzh/charlie-skills/tree/main/Developer/ncs/project/protocols/webserver
Command: npx skills add https://github.com/chshzh/charlie-skills --skill ncs-webserver

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enables developers to build and deploy feature-rich static web servers on Nordic NCS devices, unifying static assets, REST APIs, and real-time WebSocket streams into a single, deployable module.

Core Features & Use Cases

  • Static Resources: Serve HTML, CSS, JavaScript, images, and 3D assets from embedded or filesystem-backed storage.
  • Dynamic REST APIs: Expose device controls and status via JSON endpoints for configuration and monitoring.
  • WebSocket Streams: Provide real-time sensor data and live UI updates for dashboards and device portals.
  • Use Case: Build a device configuration portal with a responsive UI that updates in real time as settings change.

Quick Start

Copy templates and scaffolding from the webserver module to begin building a web UI on your Nordic device.

Frequently Asked Questions about ncs-webserver

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I host a static web server with REST APIs and WebSocket streams on Nordic NCS devices?

You can host a static web server on Nordic NCS devices by leveraging Zephyr HTTP server integration to serve static resources, expose REST APIs for configuration, and push real-time WebSocket streams for dashboards.

Can I build a real-time device configuration portal using WebSocket streams on Nordic hardware?

Yes, you can build a real-time device configuration portal on Nordic hardware by utilizing WebSocket streams to provide live UI updates and dynamic sensor data directly to connected clients.

How do I serve gzip-embedded static resources like HTML and CSS from a Zephyr web server?

To serve gzip-embedded static resources, the web server module serves HTML, CSS, JavaScript, and images from embedded or filesystem-backed storage, configurable via CMake and prj.conf.

Does the Nordic NCS web server support mDNS discovery and TLS for in-field device UIs?

Yes, the Nordic NCS web server supports mDNS discovery for easy network localization and optional TLS support to secure in-field device UIs, dashboards, and OTA-like interfaces.

What is the best way to unify static assets and dynamic JSON endpoints for an embedded device dashboard?

The best way to unify static assets and dynamic JSON endpoints is using a feature-rich static web server module that combines embedded assets, REST APIs, and WebSocket streams into a single deployable component.

Do I need specific CMake configurations to enable REST API endpoints on a Zephyr HTTP server?

Yes, you need to configure CMake and prj.conf settings to enable REST API endpoints and manage static resources on the Zephyr HTTP server integration for Nordic NCS devices.